2015-10-29 16:36:23 +08:00
|
|
|
|
2008-05-29 08:09:59 +08:00
|
|
|
# Makefile for the drm device driver. This driver provides support for the
|
|
|
|
# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
|
|
|
|
|
2014-08-29 18:12:27 +08:00
|
|
|
drm-y := drm_auth.o drm_bufs.o drm_cache.o \
|
2010-08-24 04:53:31 +08:00
|
|
|
drm_context.o drm_dma.o \
|
2014-07-23 20:14:53 +08:00
|
|
|
drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
|
2014-08-06 15:24:25 +08:00
|
|
|
drm_lock.o drm_memory.o drm_drv.o drm_vm.o \
|
2015-09-09 22:45:52 +08:00
|
|
|
drm_scatter.o drm_pci.o \
|
2011-10-26 05:19:27 +08:00
|
|
|
drm_platform.o drm_sysfs.o drm_hashtab.o drm_mm.o \
|
2009-09-07 13:45:33 +08:00
|
|
|
drm_crtc.o drm_modes.o drm_edid.o \
|
2010-07-02 07:47:31 +08:00
|
|
|
drm_info.o drm_debugfs.o drm_encoder_slave.o \
|
2013-04-24 23:52:34 +08:00
|
|
|
drm_trace_points.o drm_global.o drm_prime.o \
|
2013-11-20 01:10:12 +08:00
|
|
|
drm_rect.o drm_vma_manager.o drm_flip_work.o \
|
2015-01-21 00:38:44 +08:00
|
|
|
drm_modeset_lock.o drm_atomic.o drm_bridge.o
|
2008-05-29 08:09:59 +08:00
|
|
|
|
|
|
|
drm-$(CONFIG_COMPAT) += drm_ioc32.o
|
2012-06-27 21:30:18 +08:00
|
|
|
drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
|
2012-11-23 19:12:10 +08:00
|
|
|
drm-$(CONFIG_PCI) += ati_pcigart.o
|
2013-08-30 19:36:43 +08:00
|
|
|
drm-$(CONFIG_DRM_PANEL) += drm_panel.o
|
2014-06-15 18:07:12 +08:00
|
|
|
drm-$(CONFIG_OF) += drm_of.o
|
2015-09-09 22:45:52 +08:00
|
|
|
drm-$(CONFIG_AGP) += drm_agpsupport.o
|
2008-05-29 08:09:59 +08:00
|
|
|
|
2014-06-04 01:30:45 +08:00
|
|
|
drm_kms_helper-y := drm_crtc_helper.o drm_dp_helper.o drm_probe_helper.o \
|
2016-01-22 07:10:18 +08:00
|
|
|
drm_plane_helper.o drm_dp_mst_topology.o drm_atomic_helper.o \
|
drm: Add helper for DP++ adaptors
Add a helper which aids in the identification of DP dual mode
(aka. DP++) adaptors. There are several types of adaptors
specified: type 1 DVI, type 1 HDMI, type 2 DVI, type 2 HDMI
Type 1 adaptors have a max TMDS clock limit of 165MHz, type 2 adaptors
may go as high as 300MHz and they provide a register informing the
source device what the actual limit is. Supposedly also type 1 adaptors
may optionally implement this register. This TMDS clock limit is the
main reason why we need to identify these adaptors.
Type 1 adaptors provide access to their internal registers and the sink
DDC bus through I2C. Type 2 adaptors provide this access both via I2C
and I2C-over-AUX. A type 2 source device may choose to implement either
of these methods. If a source device implements the I2C-over-AUX
method, then the driver will obviously need specific support for such
adaptors since the port is driven like an HDMI port, but DDC
communication happes over the AUX channel.
This helper should be enough to identify the adaptor type (some
type 1 DVI adaptors may be a slight exception) and the maximum TMDS
clock limit. Another feature that may be available is control over
the TMDS output buffers on the adaptor, possibly allowing for some
power saving when the TMDS link is down.
Other user controllable features that may be available in the adaptors
are downstream i2c bus speed control when using i2c-over-aux, and
some control over the CEC pin. I chose not to provide any helper
functions for those since I have no use for them in i915 at this time.
The rest of the registers in the adaptor are mostly just information,
eg. IEEE OUI, hardware and firmware revision, etc.
v2: Pass adaptor type to helper functions to ease driver implementation
Fix a bunch of typoes (Paulo)
Add DRM_DP_DUAL_MODE_UNKNOWN for the case where we don't (yet) know
the type (Paulo)
Reject 0x00 and 0xff DP_DUAL_MODE_MAX_TMDS_CLOCK values (Paulo)
Adjust drm_dp_dual_mode_detect() type2 vs. type1 detection to
ease future LSPCON enabling
Remove the unused DP_DUAL_MODE_LAST_RESERVED define
v3: Fix kernel doc function argument descriptions (Jani)
s/NONE/UNKNOWN/ in drm_dp_dual_mode_detect() docs
Add kernel doc for enum drm_dp_dual_mode_type
Actually build the docs
Fix more typoes
v4: Adjust code indentation of type2 adaptor detection (Shashank)
Add debug messages for failurs cases (Shashank)
v5: EXPORT_SYMBOL(drm_dp_dual_mode_read) (Paulo)
Cc: stable@vger.kernel.org
Cc: Tore Anderson <tore@fud.no>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com> (v4)
Link: http://patchwork.freedesktop.org/patch/msgid/1462542412-25533-1-git-send-email-ville.syrjala@linux.intel.com
2016-05-06 21:46:52 +08:00
|
|
|
drm_kms_helper_common.o drm_dp_dual_mode_helper.o
|
2016-01-22 07:10:18 +08:00
|
|
|
|
2012-03-19 05:37:33 +08:00
|
|
|
drm_kms_helper-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
|
2015-08-05 14:58:57 +08:00
|
|
|
drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o
|
2012-07-02 22:37:47 +08:00
|
|
|
drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o
|
2016-01-22 07:10:19 +08:00
|
|
|
drm_kms_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o
|
2009-09-07 13:45:33 +08:00
|
|
|
|
2009-09-08 09:08:32 +08:00
|
|
|
obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
|
2009-09-07 13:45:33 +08:00
|
|
|
|
2010-07-02 07:47:31 +08:00
|
|
|
CFLAGS_drm_trace_points.o := -I$(src)
|
|
|
|
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM) += drm.o
|
2013-12-04 23:35:12 +08:00
|
|
|
obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
|
2015-04-03 02:48:39 +08:00
|
|
|
obj-$(CONFIG_DRM_ARM) += arm/
|
2009-06-23 00:16:13 +08:00
|
|
|
obj-$(CONFIG_DRM_TTM) += ttm/
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM_TDFX) += tdfx/
|
|
|
|
obj-$(CONFIG_DRM_R128) += r128/
|
2014-12-21 21:21:41 +08:00
|
|
|
obj-$(CONFIG_HSA_AMD) += amd/amdkfd/
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM_RADEON)+= radeon/
|
2015-04-21 04:55:21 +08:00
|
|
|
obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM_MGA) += mga/
|
|
|
|
obj-$(CONFIG_DRM_I810) += i810/
|
|
|
|
obj-$(CONFIG_DRM_I915) += i915/
|
2012-04-17 22:01:25 +08:00
|
|
|
obj-$(CONFIG_DRM_MGAG200) += mgag200/
|
2015-03-03 05:01:12 +08:00
|
|
|
obj-$(CONFIG_DRM_VC4) += vc4/
|
2012-04-17 21:12:29 +08:00
|
|
|
obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM_SIS) += sis/
|
|
|
|
obj-$(CONFIG_DRM_SAVAGE)+= savage/
|
2009-12-10 08:19:58 +08:00
|
|
|
obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
|
2008-05-29 08:09:59 +08:00
|
|
|
obj-$(CONFIG_DRM_VIA) +=via/
|
2015-03-05 08:33:41 +08:00
|
|
|
obj-$(CONFIG_DRM_VGEM) += vgem/
|
2009-12-11 17:24:15 +08:00
|
|
|
obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
|
2011-10-04 18:19:01 +08:00
|
|
|
obj-$(CONFIG_DRM_EXYNOS) +=exynos/
|
2014-08-22 18:36:26 +08:00
|
|
|
obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/
|
2011-11-04 02:22:48 +08:00
|
|
|
obj-$(CONFIG_DRM_GMA500) += gma500/
|
2010-12-15 05:14:24 +08:00
|
|
|
obj-$(CONFIG_DRM_UDL) += udl/
|
drm: Initial KMS driver for AST (ASpeed Technologies) 2000 series (v2)
This is the initial driver for the Aspeed Technologies chips found in
servers. This driver supports the AST 2000, 2100, 2200, 2150 and 2300. It
doesn't support the AST11xx due to lack of hw to test it on, and them requiring
different codepaths.
This driver is intended to be used with xf86-video-modesetting in userspace.
This driver has a slightly different design than other KMS drivers, but
future server chips will probably share similiar setup. As these GPUs commonly
have low video RAM, it doesn't make sense to put the kms console in VRAM
always. This driver places the kms console into system RAM, and does dirty
updates to a copy in video RAM. When userspace sets a new scanout buffer,
it forcefully evicts the video RAM console, and X can create a framebuffer
that can use all of of video RAM.
This driver uses TTM but in a very simple fashion to control the eviction
to system RAM of the console, and multiple servers.
v2: add s/r support, fix Kconfig.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-02-29 21:40:04 +08:00
|
|
|
obj-$(CONFIG_DRM_AST) += ast/
|
2012-08-15 20:59:49 +08:00
|
|
|
obj-$(CONFIG_DRM_ARMADA) += armada/
|
2015-01-06 18:13:28 +08:00
|
|
|
obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/
|
2013-06-19 19:54:11 +08:00
|
|
|
obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/
|
2012-04-26 19:53:59 +08:00
|
|
|
obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
|
2015-12-10 02:26:00 +08:00
|
|
|
obj-y += omapdrm/
|
2015-10-29 16:36:23 +08:00
|
|
|
obj-$(CONFIG_DRM_SUN4I) += sun4i/
|
2015-02-18 18:26:50 +08:00
|
|
|
obj-y += tilcdc/
|
drm: add new QXL driver. (v1.4)
QXL is a paravirtual graphics device used by the Spice virtual desktop
interface.
The drivers uses GEM and TTM to manage memory, the qxl hw fencing however
is quite different than normal TTM expects, we have to keep track of a number
of non-linear fence ids per bo that we need to have released by the hardware.
The releases are freed from a workqueue that wakes up and processes the
release ring.
releases are suballocated from a BO, there are 3 release categories, drawables,
surfaces and cursor cmds. The hw also has 3 rings for commands, cursor and release handling.
The hardware also have a surface id tracking mechnaism and the driver encapsulates it completely inside the kernel, userspace never sees the actual hw surface
ids.
This requires a newer version of the QXL userspace driver, so shouldn't be
enabled until that has been placed into your distro of choice.
Authors: Dave Airlie, Alon Levy
v1.1: fixup some issues in the ioctl interface with padding
v1.2: add module device table
v1.3: fix nomodeset, fbcon leak, dumb bo create, release ring irq,
don't try flush release ring (broken hw), fix -modesetting.
v1.4: fbcon cpu usage reduction + suitable accel flags.
Signed-off-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-02-25 12:47:55 +08:00
|
|
|
obj-$(CONFIG_DRM_QXL) += qxl/
|
2013-12-18 01:04:46 +08:00
|
|
|
obj-$(CONFIG_DRM_BOCHS) += bochs/
|
2013-09-09 08:02:56 +08:00
|
|
|
obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/
|
drm/msm: basic KMS driver for snapdragon
The snapdragon chips have multiple different display controllers,
depending on which chip variant/version. (As far as I can tell, current
devices have either MDP3 or MDP4, and upcoming devices have MDSS.) And
then external to the display controller are HDMI, DSI, etc. blocks which
may be shared across devices which have different display controller
blocks.
To more easily add support for different display controller blocks, the
display controller specific bits are split out into a "kms" module,
which provides the kms plane/crtc/encoder objects.
The external HDMI, DSI, etc. blocks are part encoder, and part connector
currently. But I think I will pull in the drm_bridge patches from
chromeos tree, and split them into a bridge+connector, with the
registers that need to be set in modeset handled by the bridge. This
would remove the 'msm_connector' base class. But some things need to be
double checked to make sure I could get the correct ON/OFF sequencing..
This patch adds support for mdp4 crtc (including hw cursor), dtv encoder
(part of MDP4 block), and hdmi.
Signed-off-by: Rob Clark <robdclark@gmail.com>
2013-06-27 00:44:06 +08:00
|
|
|
obj-$(CONFIG_DRM_MSM) += msm/
|
2013-10-09 16:32:49 +08:00
|
|
|
obj-$(CONFIG_DRM_TEGRA) += tegra/
|
2014-07-31 00:20:56 +08:00
|
|
|
obj-$(CONFIG_DRM_STI) += sti/
|
2014-11-24 23:33:34 +08:00
|
|
|
obj-$(CONFIG_DRM_IMX) += imx/
|
2016-01-05 01:36:34 +08:00
|
|
|
obj-$(CONFIG_DRM_MEDIATEK) += mediatek/
|
2009-12-11 17:24:15 +08:00
|
|
|
obj-y += i2c/
|
2013-08-30 21:10:14 +08:00
|
|
|
obj-y += panel/
|
2014-02-24 18:31:24 +08:00
|
|
|
obj-y += bridge/
|
2015-08-20 10:19:49 +08:00
|
|
|
obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/
|
2015-12-04 01:21:29 +08:00
|
|
|
obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/
|
2016-02-19 20:30:26 +08:00
|
|
|
obj-$(CONFIG_DRM_ARCPGU)+= arc/
|
2015-10-09 18:00:56 +08:00
|
|
|
obj-y += hisilicon/
|