Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
9026e0d1 | 2 | |
c0e09200 DA |
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 | ||
84ec6728 JC |
6 | CFLAGS-$(CONFIG_DRM_USE_DYNAMIC_DEBUG) += -DDYNAMIC_DEBUG_MODULE |
7 | ||
a61ddb43 JN |
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 | ||
f89632a9 JN |
33 | # Enable -Werror in CI and development |
34 | subdir-ccflags-$(CONFIG_DRM_WERROR) += -Werror | |
35 | ||
ca002242 JN |
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 \ | |
f415a607 | 53 | drm_eld.o \ |
ca002242 JN |
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 | |
a33d42dd | 78 | drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o |
c0e09200 | 79 | drm-$(CONFIG_COMPAT) += drm_ioc32.o |
aead40ea | 80 | drm-$(CONFIG_DRM_PANEL) += drm_panel.o |
7e435aad | 81 | drm-$(CONFIG_OF) += drm_of.o |
5c7a0bb0 | 82 | drm-$(CONFIG_PCI) += drm_pci.o |
ca002242 JN |
83 | drm-$(CONFIG_DEBUG_FS) += \ |
84 | drm_debugfs.o \ | |
85 | drm_debugfs_crc.o | |
53fd40a9 | 86 | drm-$(CONFIG_DRM_LOAD_EDID_FIRMWARE) += drm_edid_load.o |
ca002242 JN |
87 | drm-$(CONFIG_DRM_PRIVACY_SCREEN) += \ |
88 | drm_privacy_screen.o \ | |
89 | drm_privacy_screen_x86.o | |
8bf48897 | 90 | drm-$(CONFIG_DRM_ACCEL) += ../../accel/drm_accel.o |
bf9fb17c | 91 | drm-$(CONFIG_DRM_PANIC) += drm_panic.o |
cb5164ac | 92 | drm-$(CONFIG_DRM_PANIC_SCREEN_QR_CODE) += drm_panic_qr.o |
c6eafc99 | 93 | obj-$(CONFIG_DRM) += drm.o |
c0e09200 | 94 | |
c6eafc99 TZ |
95 | obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o |
96 | ||
97 | # | |
98 | # Memory-management helpers | |
99 | # | |
09593216 CK |
100 | # |
101 | obj-$(CONFIG_DRM_EXEC) += drm_exec.o | |
fe7acaa7 | 102 | obj-$(CONFIG_DRM_GPUVM) += drm_gpuvm.o |
c6eafc99 TZ |
103 | |
104 | obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o | |
6a2d2ddf | 105 | |
4a83c26a | 106 | drm_dma_helper-y := drm_gem_dma_helper.o |
b79fe9ab | 107 | drm_dma_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_dma.o |
4a83c26a DK |
108 | drm_dma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o |
109 | obj-$(CONFIG_DRM_GEM_DMA_HELPER) += drm_dma_helper.o | |
4b2b5e14 TZ |
110 | |
111 | drm_shmem_helper-y := drm_gem_shmem_helper.o | |
150f431a | 112 | drm_shmem_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_shmem.o |
4b2b5e14 TZ |
113 | obj-$(CONFIG_DRM_GEM_SHMEM_HELPER) += drm_shmem_helper.o |
114 | ||
849ee8a2 ML |
115 | drm_suballoc_helper-y := drm_suballoc.o |
116 | obj-$(CONFIG_DRM_SUBALLOC_HELPER) += drm_suballoc_helper.o | |
117 | ||
b22b51a0 | 118 | drm_vram_helper-y := drm_gem_vram_helper.o |
85438a8d TZ |
119 | obj-$(CONFIG_DRM_VRAM_HELPER) += drm_vram_helper.o |
120 | ||
ff540b76 | 121 | drm_ttm_helper-y := drm_gem_ttm_helper.o |
aae4682e | 122 | drm_ttm_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fbdev_ttm.o |
ff540b76 GH |
123 | obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o |
124 | ||
c6eafc99 TZ |
125 | # |
126 | # Modesetting helpers | |
127 | # | |
128 | ||
ca002242 JN |
129 | drm_kms_helper-y := \ |
130 | drm_atomic_helper.o \ | |
131 | drm_atomic_state_helper.o \ | |
ca002242 JN |
132 | drm_crtc_helper.o \ |
133 | drm_damage_helper.o \ | |
134 | drm_encoder_slave.o \ | |
135 | drm_flip_work.o \ | |
136 | drm_format_helper.o \ | |
137 | drm_gem_atomic_helper.o \ | |
138 | drm_gem_framebuffer_helper.o \ | |
139 | drm_kms_helper_common.o \ | |
140 | drm_modeset_helper.o \ | |
141 | drm_plane_helper.o \ | |
142 | drm_probe_helper.o \ | |
143 | drm_rect.o \ | |
144 | drm_self_refresh_helper.o \ | |
145 | drm_simple_kms_helper.o | |
123387d5 | 146 | drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o |
aae4682e | 147 | drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o |
6fcefd56 | 148 | obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o |
c6eafc99 TZ |
149 | |
150 | # | |
151 | # Drivers and the rest | |
152 | # | |
153 | ||
b85be042 | 154 | obj-y += tests/ |
13a8195b | 155 | |
174102f4 | 156 | obj-$(CONFIG_DRM_MIPI_DBI) += drm_mipi_dbi.o |
068a0023 | 157 | obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o |
37fc9bb0 | 158 | obj-y += arm/ |
da68386d | 159 | obj-y += display/ |
176f613e | 160 | obj-$(CONFIG_DRM_TTM) += ttm/ |
87440329 | 161 | obj-$(CONFIG_DRM_SCHED) += scheduler/ |
c0e09200 | 162 | obj-$(CONFIG_DRM_RADEON)+= radeon/ |
d38ceaf9 | 163 | obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/ |
3b60b70d | 164 | obj-$(CONFIG_DRM_AMDGPU)+= amd/amdxcp/ |
c58305af | 165 | obj-$(CONFIG_DRM_I915) += i915/ |
dd08ebf6 | 166 | obj-$(CONFIG_DRM_XE) += xe/ |
ed794057 | 167 | obj-$(CONFIG_DRM_KMB_DISPLAY) += kmb/ |
414c4531 | 168 | obj-$(CONFIG_DRM_MGAG200) += mgag200/ |
57692c94 | 169 | obj-$(CONFIG_DRM_V3D) += v3d/ |
c8b75bca | 170 | obj-$(CONFIG_DRM_VC4) += vc4/ |
fb1d9738 | 171 | obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ |
502e95c6 | 172 | obj-$(CONFIG_DRM_VGEM) += vgem/ |
1c7c5fd9 | 173 | obj-$(CONFIG_DRM_VKMS) += vkms/ |
6ee73861 | 174 | obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/ |
1c248b7d | 175 | obj-$(CONFIG_DRM_EXYNOS) +=exynos/ |
2048e328 | 176 | obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/ |
91c75492 | 177 | obj-$(CONFIG_DRM_GMA500) += gma500/ |
5320918b | 178 | obj-$(CONFIG_DRM_UDL) += udl/ |
312fec14 | 179 | obj-$(CONFIG_DRM_AST) += ast/ |
96f60e37 | 180 | obj-$(CONFIG_DRM_ARMADA) += armada/ |
1a396789 | 181 | obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/ |
11696c5e | 182 | obj-y += renesas/ |
9960aa7c | 183 | obj-y += omapdrm/ |
9026e0d1 | 184 | obj-$(CONFIG_DRM_SUN4I) += sun4i/ |
c87d2453 | 185 | obj-y += tilcdc/ |
f64122c1 | 186 | obj-$(CONFIG_DRM_QXL) += qxl/ |
dc5698e8 | 187 | obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/ |
c8afe684 | 188 | obj-$(CONFIG_DRM_MSM) += msm/ |
dee8268f | 189 | obj-$(CONFIG_DRM_TEGRA) += tegra/ |
b759012c | 190 | obj-$(CONFIG_DRM_STM) += stm/ |
f2cb3148 | 191 | obj-$(CONFIG_DRM_STI) += sti/ |
ce625f45 | 192 | obj-y += imx/ |
90b86fcc | 193 | obj-$(CONFIG_DRM_INGENIC) += ingenic/ |
efeeaefe | 194 | obj-$(CONFIG_DRM_LOGICVC) += logicvc/ |
119f5173 | 195 | obj-$(CONFIG_DRM_MEDIATEK) += mediatek/ |
bbbe775e | 196 | obj-$(CONFIG_DRM_MESON) += meson/ |
6ee73861 | 197 | obj-y += i2c/ |
280921de | 198 | obj-y += panel/ |
a9fe713d | 199 | obj-y += bridge/ |
109eee2f | 200 | obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/ |
a8c21a54 | 201 | obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/ |
23e7b2ab | 202 | obj-y += hisilicon/ |
9db35bb3 | 203 | obj-y += mxsfb/ |
043386a0 | 204 | obj-y += tiny/ |
bed41005 | 205 | obj-$(CONFIG_DRM_PL111) += pl111/ |
179c02fe | 206 | obj-$(CONFIG_DRM_TVE200) += tve200/ |
c575b7ee | 207 | obj-$(CONFIG_DRM_XEN) += xen/ |
131abc56 | 208 | obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/ |
a1d2a633 | 209 | obj-$(CONFIG_DRM_LIMA) += lima/ |
f3ba9122 | 210 | obj-$(CONFIG_DRM_PANFROST) += panfrost/ |
d72f0490 | 211 | obj-$(CONFIG_DRM_PANTHOR) += panthor/ |
4f2a8f58 | 212 | obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/ |
5fc537bf | 213 | obj-$(CONFIG_DRM_MCDE) += mcde/ |
32a1795f | 214 | obj-$(CONFIG_DRM_TIDSS) += tidss/ |
d76271d2 | 215 | obj-y += xlnx/ |
40e1a70b | 216 | obj-y += gud/ |
76c56a5a | 217 | obj-$(CONFIG_DRM_HYPERV) += hyperv/ |
a61732e8 | 218 | obj-y += solomon/ |
43531edd | 219 | obj-$(CONFIG_DRM_SPRD) += sprd/ |
f39db26c | 220 | obj-$(CONFIG_DRM_LOONGSON) += loongson/ |
4babef07 | 221 | obj-$(CONFIG_DRM_POWERVR) += imagination/ |