Linux 6.10-rc1
[sfrench/cifs-2.6.git] / drivers / gpu / drm / Makefile
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
6 CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG)  += -DDYNAMIC_DEBUG_MODULE
7
8 # Unconditionally enable W=1 warnings locally
9 # --- begin copy-paste W=1 warnings from scripts/Makefile.extrawarn
10 subdir-ccflags-y += -Wextra -Wunused -Wno-unused-parameter
11 subdir-ccflags-y += $(call cc-option, -Wrestrict)
12 subdir-ccflags-y += -Wmissing-format-attribute
13 subdir-ccflags-y += -Wold-style-definition
14 subdir-ccflags-y += -Wmissing-include-dirs
15 subdir-ccflags-y += $(call cc-option, -Wunused-but-set-variable)
16 subdir-ccflags-y += $(call cc-option, -Wunused-const-variable)
17 subdir-ccflags-y += $(call cc-option, -Wpacked-not-aligned)
18 subdir-ccflags-y += $(call cc-option, -Wformat-overflow)
19 # FIXME: fix -Wformat-truncation warnings and uncomment
20 #subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
21 subdir-ccflags-y += $(call cc-option, -Wstringop-truncation)
22 # The following turn off the warnings enabled by -Wextra
23 ifeq ($(findstring 2, $(KBUILD_EXTRA_WARN)),)
24 subdir-ccflags-y += -Wno-missing-field-initializers
25 subdir-ccflags-y += -Wno-type-limits
26 subdir-ccflags-y += -Wno-shift-negative-value
27 endif
28 ifeq ($(findstring 3, $(KBUILD_EXTRA_WARN)),)
29 subdir-ccflags-y += -Wno-sign-compare
30 endif
31 # --- end copy-paste
32
33 # Enable -Werror in CI and development
34 subdir-ccflags-$(CONFIG_DRM_WERROR) += -Werror
35
36 drm-y := \
37         drm_aperture.o \
38         drm_atomic.o \
39         drm_atomic_uapi.o \
40         drm_auth.o \
41         drm_blend.o \
42         drm_bridge.o \
43         drm_cache.o \
44         drm_client.o \
45         drm_client_modeset.o \
46         drm_color_mgmt.o \
47         drm_connector.o \
48         drm_crtc.o \
49         drm_displayid.o \
50         drm_drv.o \
51         drm_dumb_buffers.o \
52         drm_edid.o \
53         drm_eld.o \
54         drm_encoder.o \
55         drm_file.o \
56         drm_fourcc.o \
57         drm_framebuffer.o \
58         drm_gem.o \
59         drm_ioctl.o \
60         drm_lease.o \
61         drm_managed.o \
62         drm_mm.o \
63         drm_mode_config.o \
64         drm_mode_object.o \
65         drm_modes.o \
66         drm_modeset_lock.o \
67         drm_plane.o \
68         drm_prime.o \
69         drm_print.o \
70         drm_property.o \
71         drm_syncobj.o \
72         drm_sysfs.o \
73         drm_trace_points.o \
74         drm_vblank.o \
75         drm_vblank_work.o \
76         drm_vma_manager.o \
77         drm_writeback.o
78 drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
79 drm-$(CONFIG_COMPAT) += drm_ioc32.o
80 drm-$(CONFIG_DRM_PANEL) += drm_panel.o
81 drm-$(CONFIG_OF) += drm_of.o
82 drm-$(CONFIG_PCI) += drm_pci.o
83 drm-$(CONFIG_DEBUG_FS) += \
84         drm_debugfs.o \
85         drm_debugfs_crc.o
86 drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o
87 drm-$(CONFIG_DRM_PRIVACY_SCREEN) += \
88         drm_privacy_screen.o \
89         drm_privacy_screen_x86.o
90 drm-$(CONFIG_DRM_ACCEL) += ../../accel/drm_accel.o
91 drm-$(CONFIG_DRM_PANIC) += drm_panic.o
92 obj-$(CONFIG_DRM)       += drm.o
93
94 obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
95
96 #
97 # Memory-management helpers
98 #
99 #
100 obj-$(CONFIG_DRM_EXEC) += drm_exec.o
101 obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o
102
103 obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
104
105 drm_dma_helper-y := drm_gem_dma_helper.o
106 drm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_dma.o
107 drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o
108 obj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o
109
110 drm_shmem_helper-y := drm_gem_shmem_helper.o
111 obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o
112
113 drm_suballoc_helper-y := drm_suballoc.o
114 obj-$(CONFIG_DRM_SUBALLOC_HELPER) += drm_suballoc_helper.o
115
116 drm_vram_helper-y := drm_gem_vram_helper.o
117 obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o
118
119 drm_ttm_helper-y := drm_gem_ttm_helper.o
120 obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
121
122 #
123 # Modesetting helpers
124 #
125
126 drm_kms_helper-y := \
127         drm_atomic_helper.o \
128         drm_atomic_state_helper.o \
129         drm_bridge_connector.o \
130         drm_crtc_helper.o \
131         drm_damage_helper.o \
132         drm_encoder_slave.o \
133         drm_flip_work.o \
134         drm_format_helper.o \
135         drm_gem_atomic_helper.o \
136         drm_gem_framebuffer_helper.o \
137         drm_kms_helper_common.o \
138         drm_modeset_helper.o \
139         drm_plane_helper.o \
140         drm_probe_helper.o \
141         drm_rect.o \
142         drm_self_refresh_helper.o \
143         drm_simple_kms_helper.o
144 drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o
145 drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += \
146         drm_fbdev_generic.o \
147         drm_fb_helper.o
148 obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
149
150 #
151 # Drivers and the rest
152 #
153
154 obj-y                   += tests/
155
156 obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o
157 obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
158 obj-y                   += arm/
159 obj-y                   += display/
160 obj-$(CONFIG_DRM_TTM)   += ttm/
161 obj-$(CONFIG_DRM_SCHED) += scheduler/
162 obj-$(CONFIG_DRM_RADEON)+= radeon/
163 obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/
164 obj-$(CONFIG_DRM_AMDGPU)+= amd/amdxcp/
165 obj-$(CONFIG_DRM_I915)  += i915/
166 obj-$(CONFIG_DRM_XE)    += xe/
167 obj-$(CONFIG_DRM_KMB_DISPLAY)  += kmb/
168 obj-$(CONFIG_DRM_MGAG200) += mgag200/
169 obj-$(CONFIG_DRM_V3D)  += v3d/
170 obj-$(CONFIG_DRM_VC4)  += vc4/
171 obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
172 obj-$(CONFIG_DRM_VGEM)  += vgem/
173 obj-$(CONFIG_DRM_VKMS)  += vkms/
174 obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
175 obj-$(CONFIG_DRM_EXYNOS) +=exynos/
176 obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/
177 obj-$(CONFIG_DRM_GMA500) += gma500/
178 obj-$(CONFIG_DRM_UDL) += udl/
179 obj-$(CONFIG_DRM_AST) += ast/
180 obj-$(CONFIG_DRM_ARMADA) += armada/
181 obj-$(CONFIG_DRM_ATMEL_HLCDC)   += atmel-hlcdc/
182 obj-y                   += renesas/
183 obj-y                   += omapdrm/
184 obj-$(CONFIG_DRM_SUN4I) += sun4i/
185 obj-y                   += tilcdc/
186 obj-$(CONFIG_DRM_QXL) += qxl/
187 obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/
188 obj-$(CONFIG_DRM_MSM) += msm/
189 obj-$(CONFIG_DRM_TEGRA) += tegra/
190 obj-$(CONFIG_DRM_STM) += stm/
191 obj-$(CONFIG_DRM_STI) += sti/
192 obj-y                   += imx/
193 obj-$(CONFIG_DRM_INGENIC) += ingenic/
194 obj-$(CONFIG_DRM_LOGICVC) += logicvc/
195 obj-$(CONFIG_DRM_MEDIATEK) += mediatek/
196 obj-$(CONFIG_DRM_MESON) += meson/
197 obj-y                   += i2c/
198 obj-y                   += panel/
199 obj-y                   += bridge/
200 obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/
201 obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/
202 obj-y                   += hisilicon/
203 obj-y                   += mxsfb/
204 obj-y                   += tiny/
205 obj-$(CONFIG_DRM_PL111) += pl111/
206 obj-$(CONFIG_DRM_TVE200) += tve200/
207 obj-$(CONFIG_DRM_XEN) += xen/
208 obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/
209 obj-$(CONFIG_DRM_LIMA)  += lima/
210 obj-$(CONFIG_DRM_PANFROST) += panfrost/
211 obj-$(CONFIG_DRM_PANTHOR) += panthor/
212 obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/
213 obj-$(CONFIG_DRM_MCDE) += mcde/
214 obj-$(CONFIG_DRM_TIDSS) += tidss/
215 obj-y                   += xlnx/
216 obj-y                   += gud/
217 obj-$(CONFIG_DRM_HYPERV) += hyperv/
218 obj-y                   += solomon/
219 obj-$(CONFIG_DRM_SPRD) += sprd/
220 obj-$(CONFIG_DRM_LOONGSON) += loongson/
221 obj-$(CONFIG_DRM_POWERVR) += imagination/