1# SPDX-License-Identifier: GPL-2.0
2
3# Makefile for the drm device driver.  This driver provides support for the
4# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
5
6CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)	+= -DDYNAMIC_DEBUG_MODULE
7
8drm-y       :=	drm_aperture.o drm_auth.o drm_cache.o \
9		drm_file.o drm_gem.o drm_ioctl.o \
10		drm_drv.o \
11		drm_sysfs.o drm_mm.o \
12		drm_crtc.o drm_fourcc.o drm_modes.o drm_edid.o drm_displayid.o \
13		drm_trace_points.o drm_prime.o \
14		drm_vma_manager.o \
15		drm_modeset_lock.o drm_atomic.o drm_bridge.o \
16		drm_framebuffer.o drm_connector.o drm_blend.o \
17		drm_encoder.o drm_mode_object.o drm_property.o \
18		drm_plane.o drm_color_mgmt.o drm_print.o \
19		drm_dumb_buffers.o drm_mode_config.o drm_vblank.o \
20		drm_syncobj.o drm_lease.o drm_writeback.o drm_client.o \
21		drm_client_modeset.o drm_atomic_uapi.o \
22		drm_managed.o drm_vblank_work.o
23drm-$(CONFIG_DRM_LEGACY) += drm_agpsupport.o drm_bufs.o drm_context.o drm_dma.o \
24			    drm_hashtab.o drm_irq.o drm_legacy_misc.o drm_lock.o \
25			    drm_memory.o drm_scatter.o drm_vm.o
26drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
27drm-$(CONFIG_COMPAT) += drm_ioc32.o
28drm-$(CONFIG_DRM_PANEL) += drm_panel.o
29drm-$(CONFIG_OF) += drm_of.o
30drm-$(CONFIG_PCI) += drm_pci.o
31drm-$(CONFIG_DEBUG_FS) += drm_debugfs.o drm_debugfs_crc.o
32drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
33drm-$(CONFIG_DRM_PRIVACY_SCREEN) += drm_privacy_screen.o drm_privacy_screen_x86.o
34obj-$(CONFIG_DRM)	+= drm.o
35
36obj-$(CONFIG_DRM_NOMODESET) += drm_nomodeset.o
37obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
38
39#
40# Memory-management helpers
41#
42
43obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
44
45drm_dma_helper-y := drm_gem_dma_helper.o
46drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o
47obj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o
48
49drm_shmem_helper-y := drm_gem_shmem_helper.o
50obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o
51
52drm_vram_helper-y := drm_gem_vram_helper.o
53obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o
54
55drm_ttm_helper-y := drm_gem_ttm_helper.o
56obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
57
58#
59# Modesetting helpers
60#
61
62drm_kms_helper-y := drm_bridge_connector.o drm_crtc_helper.o \
63		drm_encoder_slave.o drm_flip_work.o \
64		drm_probe_helper.o \
65		drm_plane_helper.o drm_atomic_helper.o \
66		drm_kms_helper_common.o \
67		drm_simple_kms_helper.o drm_modeset_helper.o \
68		drm_gem_atomic_helper.o \
69		drm_gem_framebuffer_helper.o \
70		drm_atomic_state_helper.o drm_damage_helper.o \
71		drm_format_helper.o drm_self_refresh_helper.o drm_rect.o
72drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o
73drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o
74obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
75
76#
77# Drivers and the rest
78#
79
80obj-$(CONFIG_DRM_KUNIT_TEST) += tests/
81
82obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o
83obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
84obj-y			+= arm/
85obj-y			+= display/
86obj-$(CONFIG_DRM_TTM)	+= ttm/
87obj-$(CONFIG_DRM_SCHED)	+= scheduler/
88obj-$(CONFIG_DRM_TDFX)	+= tdfx/
89obj-$(CONFIG_DRM_R128)	+= r128/
90obj-$(CONFIG_DRM_RADEON)+= radeon/
91obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/
92obj-$(CONFIG_DRM_MGA)	+= mga/
93obj-$(CONFIG_DRM_I810)	+= i810/
94obj-$(CONFIG_DRM_I915)	+= i915/
95obj-$(CONFIG_DRM_KMB_DISPLAY)  += kmb/
96obj-$(CONFIG_DRM_MGAG200) += mgag200/
97obj-$(CONFIG_DRM_V3D)  += v3d/
98obj-$(CONFIG_DRM_VC4)  += vc4/
99obj-$(CONFIG_DRM_SIS)   += sis/
100obj-$(CONFIG_DRM_SAVAGE)+= savage/
101obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
102obj-$(CONFIG_DRM_VIA)	+=via/
103obj-$(CONFIG_DRM_VGEM)	+= vgem/
104obj-$(CONFIG_DRM_VKMS)	+= vkms/
105obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
106obj-$(CONFIG_DRM_EXYNOS) +=exynos/
107obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/
108obj-$(CONFIG_DRM_GMA500) += gma500/
109obj-$(CONFIG_DRM_UDL) += udl/
110obj-$(CONFIG_DRM_AST) += ast/
111obj-$(CONFIG_DRM_ARMADA) += armada/
112obj-$(CONFIG_DRM_ATMEL_HLCDC)	+= atmel-hlcdc/
113obj-y			+= rcar-du/
114obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
115obj-y			+= omapdrm/
116obj-$(CONFIG_DRM_SUN4I) += sun4i/
117obj-y			+= tilcdc/
118obj-$(CONFIG_DRM_QXL) += qxl/
119obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/
120obj-$(CONFIG_DRM_MSM) += msm/
121obj-$(CONFIG_DRM_TEGRA) += tegra/
122obj-$(CONFIG_DRM_STM) += stm/
123obj-$(CONFIG_DRM_STI) += sti/
124obj-y 			+= imx/
125obj-$(CONFIG_DRM_INGENIC) += ingenic/
126obj-$(CONFIG_DRM_LOGICVC) += logicvc/
127obj-$(CONFIG_DRM_MEDIATEK) += mediatek/
128obj-$(CONFIG_DRM_MESON)	+= meson/
129obj-y			+= i2c/
130obj-y			+= panel/
131obj-y			+= bridge/
132obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/
133obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/
134obj-y			+= hisilicon/
135obj-y			+= mxsfb/
136obj-y			+= tiny/
137obj-$(CONFIG_DRM_PL111) += pl111/
138obj-$(CONFIG_DRM_TVE200) += tve200/
139obj-$(CONFIG_DRM_XEN) += xen/
140obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/
141obj-$(CONFIG_DRM_LIMA)  += lima/
142obj-$(CONFIG_DRM_PANFROST) += panfrost/
143obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/
144obj-$(CONFIG_DRM_MCDE) += mcde/
145obj-$(CONFIG_DRM_TIDSS) += tidss/
146obj-y			+= xlnx/
147obj-y			+= gud/
148obj-$(CONFIG_DRM_HYPERV) += hyperv/
149obj-y			+= solomon/
150obj-$(CONFIG_DRM_SPRD) += sprd/
151