]>
Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Drm device configuration | |
4 | # | |
5 | # This driver provides support for the | |
6 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. | |
7 | # | |
179b025f | 8 | menuconfig DRM |
1da177e4 | 9 | tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" |
62a0d98a | 10 | depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA |
8d70f395 | 11 | select DRM_PANEL_ORIENTATION_QUIRKS |
10a85120 | 12 | select HDMI |
eaf99c74 | 13 | select FB_CMDLINE |
57a6297e DA |
14 | select I2C |
15 | select I2C_ALGOBIT | |
3248877e | 16 | select DMA_SHARED_BUFFER |
96260142 | 17 | select SYNC_FILE |
1da177e4 LT |
18 | help |
19 | Kernel-level support for the Direct Rendering Infrastructure (DRI) | |
20 | introduced in XFree86 4.0. If you say Y here, you need to select | |
21 | the module that's right for your graphics card from the list below. | |
22 | These modules provide support for synchronization, security, and | |
23 | DMA transfers. Please see <http://dri.sourceforge.net/> for more | |
24 | details. You should also select and configure AGP | |
dcdb1674 | 25 | (/dev/agpgart) support if it is available for your platform. |
1da177e4 | 26 | |
174102f4 NT |
27 | config DRM_MIPI_DBI |
28 | tristate | |
29 | depends on DRM | |
30 | ||
068a0023 AH |
31 | config DRM_MIPI_DSI |
32 | bool | |
33 | depends on DRM | |
34 | ||
e94cb37b RA |
35 | config DRM_DP_AUX_CHARDEV |
36 | bool "DRM DP AUX Interface" | |
37 | depends on DRM | |
38 | help | |
39 | Choose this option to enable a /dev/drm_dp_auxN node that allows to | |
40 | read and write values to arbitrary DPCD registers on the DP aux | |
41 | channel. | |
42 | ||
5705670d CW |
43 | config DRM_DEBUG_MM |
44 | bool "Insert extra checks and debug info into the DRM range managers" | |
45 | default n | |
cd456f8d | 46 | depends on DRM=y |
4b514e10 | 47 | depends on STACKTRACE_SUPPORT |
5705670d CW |
48 | select STACKDEPOT |
49 | help | |
50 | Enable allocation tracking of memory manager and leak detection on | |
51 | shutdown. | |
52 | ||
53 | Recommended for driver developers only. | |
54 | ||
55 | If in doubt, say "N". | |
56 | ||
6349120d CW |
57 | config DRM_EXPORT_FOR_TESTS |
58 | bool | |
59 | ||
34b13e5e ML |
60 | config DRM_DEBUG_SELFTEST |
61 | tristate "kselftests for DRM" | |
50f0033d CW |
62 | depends on DRM |
63 | depends on DEBUG_KERNEL | |
64 | select PRIME_NUMBERS | |
65 | select DRM_LIB_RANDOM | |
7420e049 | 66 | select DRM_KMS_HELPER |
6349120d | 67 | select DRM_EXPORT_FOR_TESTS if m |
50f0033d CW |
68 | default n |
69 | help | |
34b13e5e ML |
70 | This option provides kernel modules that can be used to run |
71 | various selftests on parts of the DRM api. This option is not | |
50f0033d CW |
72 | useful for distributions or general kernels, but only for kernel |
73 | developers working on DRM and associated drivers. | |
74 | ||
75 | If in doubt, say "N". | |
76 | ||
6fcefd56 | 77 | config DRM_KMS_HELPER |
13a8195b DA |
78 | tristate |
79 | depends on DRM | |
92b6f89f DV |
80 | help |
81 | CRTC helpers for KMS drivers. | |
82 | ||
83 | config DRM_KMS_FB_HELPER | |
84 | bool | |
85 | depends on DRM_KMS_HELPER | |
13a8195b | 86 | select FB |
6a108a14 | 87 | select FRAMEBUFFER_CONSOLE if !EXPERT |
bf5192ed | 88 | select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE |
cbb1a82e | 89 | select FB_SYS_FOPS |
742547b7 AT |
90 | select FB_SYS_FILLRECT |
91 | select FB_SYS_COPYAREA | |
92 | select FB_SYS_IMAGEBLIT | |
93 | select FB_CFB_FILLRECT | |
94 | select FB_CFB_COPYAREA | |
95 | select FB_CFB_IMAGEBLIT | |
eaa434de | 96 | select FB_DEFERRED_IO |
13a8195b | 97 | help |
92b6f89f | 98 | FBDEV helpers for KMS drivers. |
13a8195b | 99 | |
12a280c7 LP |
100 | config DRM_DEBUG_DP_MST_TOPOLOGY_REFS |
101 | bool "Enable refcount backtrace history in the DP MST helpers" | |
d6d07ca1 | 102 | depends on STACKTRACE_SUPPORT |
12a280c7 LP |
103 | select STACKDEPOT |
104 | depends on DRM_KMS_HELPER | |
105 | depends on DEBUG_KERNEL | |
106 | depends on EXPERT | |
107 | help | |
108 | Enables debug tracing for topology refs in DRM's DP MST helpers. A | |
109 | history of each topology reference/dereference will be printed to the | |
110 | kernel log once a port or branch device's topology refcount reaches 0. | |
111 | ||
112 | This has the potential to use a lot of memory and print some very | |
113 | large kernel messages. If in doubt, say "N". | |
114 | ||
a03fdcb1 AT |
115 | config DRM_FBDEV_EMULATION |
116 | bool "Enable legacy fbdev support for your modesetting driver" | |
117 | depends on DRM | |
118 | select DRM_KMS_HELPER | |
119 | select DRM_KMS_FB_HELPER | |
120 | default y | |
121 | help | |
122 | Choose this option if you have a need for the legacy fbdev | |
123 | support. Note that this support also provides the linux console | |
124 | support on top of your modesetting driver. | |
125 | ||
126 | If in doubt, say "Y". | |
127 | ||
5f152576 XL |
128 | config DRM_FBDEV_OVERALLOC |
129 | int "Overallocation of the fbdev buffer" | |
130 | depends on DRM_FBDEV_EMULATION | |
131 | default 100 | |
132 | help | |
133 | Defines the fbdev buffer overallocation in percent. Default | |
134 | is 100. Typical values for double buffering will be 200, | |
135 | triple buffering 300. | |
136 | ||
4be9bd10 NA |
137 | config DRM_FBDEV_LEAK_PHYS_SMEM |
138 | bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" | |
139 | depends on DRM_FBDEV_EMULATION && EXPERT | |
140 | default n | |
141 | help | |
142 | In order to keep user-space compatibility, we want in certain | |
143 | use-cases to keep leaking the fbdev physical address to the | |
144 | user-space program handling the fbdev buffer. | |
145 | This affects, not only, Amlogic, Allwinner or Rockchip devices | |
146 | with ARM Mali GPUs using an userspace Blob. | |
147 | This option is not supported by upstream developers and should be | |
148 | removed as soon as possible and be considered as a broken and | |
149 | legacy behaviour from a modern fbdev device driver. | |
150 | ||
151 | Please send any bug reports when using this to your proprietary | |
152 | software vendor that requires this. | |
153 | ||
154 | If in doubt, say "N" or spread the word to your closed source | |
155 | library vendor. | |
156 | ||
da0df92b CE |
157 | config DRM_LOAD_EDID_FIRMWARE |
158 | bool "Allow to specify an EDID data set instead of probing for it" | |
53fd40a9 | 159 | depends on DRM |
da0df92b CE |
160 | help |
161 | Say Y here, if you want to use EDID data to be loaded from the | |
162 | /lib/firmware directory or one of the provided built-in | |
163 | data sets. This may be necessary, if the graphics adapter or | |
164 | monitor are unable to provide appropriate EDID data. Since this | |
165 | feature is provided as a workaround for broken hardware, the | |
166 | default case is N. Details and instructions how to build your own | |
baa293e9 | 167 | EDID data are given in Documentation/driver-api/edid.rst. |
da0df92b | 168 | |
2c6d1fff HV |
169 | config DRM_DP_CEC |
170 | bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support" | |
539bbf31 | 171 | depends on DRM |
2c6d1fff HV |
172 | select CEC_CORE |
173 | help | |
174 | Choose this option if you want to enable HDMI CEC support for | |
175 | DisplayPort/USB-C to HDMI adapters. | |
176 | ||
177 | Note: not all adapters support this feature, and even for those | |
178 | that do support this they often do not hook up the CEC pin. | |
179 | ||
ba4e7d97 | 180 | config DRM_TTM |
771fe6b9 | 181 | tristate |
62a0d98a | 182 | depends on DRM && MMU |
ba4e7d97 TH |
183 | help |
184 | GPU memory management subsystem for devices with multiple | |
185 | GPU memory types. Will be enabled automatically if a device driver | |
186 | uses it. | |
187 | ||
e2e96663 TH |
188 | config DRM_TTM_DMA_PAGE_POOL |
189 | bool | |
190 | depends on DRM_TTM && (SWIOTLB || INTEL_IOMMU) | |
191 | default y | |
192 | help | |
193 | Choose this if you need the TTM dma page pool | |
194 | ||
85438a8d TZ |
195 | config DRM_VRAM_HELPER |
196 | tristate | |
197 | depends on DRM | |
85438a8d TZ |
198 | help |
199 | Helpers for VRAM memory management | |
200 | ||
ff540b76 GH |
201 | config DRM_TTM_HELPER |
202 | tristate | |
203 | depends on DRM | |
204 | select DRM_TTM | |
205 | help | |
206 | Helpers for ttm-based gem objects | |
207 | ||
b9d47450 SH |
208 | config DRM_GEM_CMA_HELPER |
209 | bool | |
e1c7e324 | 210 | depends on DRM |
b9d47450 SH |
211 | help |
212 | Choose this if you need the GEM CMA helper functions | |
213 | ||
2e3b3c42 LPC |
214 | config DRM_KMS_CMA_HELPER |
215 | bool | |
e1c7e324 | 216 | depends on DRM |
2e3b3c42 | 217 | select DRM_GEM_CMA_HELPER |
2e3b3c42 LPC |
218 | help |
219 | Choose this if you need the KMS CMA helper functions | |
220 | ||
2194a63a NT |
221 | config DRM_GEM_SHMEM_HELPER |
222 | bool | |
223 | depends on DRM | |
224 | help | |
225 | Choose this if you need the GEM shmem helper functions | |
226 | ||
99c48e1e BG |
227 | config DRM_VM |
228 | bool | |
7e53c284 | 229 | depends on DRM && MMU |
99c48e1e | 230 | |
1b1f42d8 LS |
231 | config DRM_SCHED |
232 | tristate | |
233 | depends on DRM | |
234 | ||
6504d0d9 RC |
235 | source "drivers/gpu/drm/i2c/Kconfig" |
236 | ||
8e22d792 LD |
237 | source "drivers/gpu/drm/arm/Kconfig" |
238 | ||
1da177e4 LT |
239 | config DRM_RADEON |
240 | tristate "ATI Radeon" | |
011cda58 | 241 | depends on DRM && PCI && MMU |
70967ab9 | 242 | select FW_LOADER |
a0cdc649 DA |
243 | select DRM_KMS_HELPER |
244 | select DRM_TTM | |
5d9b7e2d | 245 | select POWER_SUPPLY |
21a8122a | 246 | select HWMON |
14adc892 | 247 | select BACKLIGHT_CLASS_DEVICE |
0aea5e4a | 248 | select INTERVAL_TREE |
1da177e4 LT |
249 | help |
250 | Choose this option if you have an ATI Radeon graphics card. There | |
251 | are both PCI and AGP versions. You don't need to choose this to | |
7b9af345 | 252 | run the Radeon in plain VGA mode. |
bc5f4523 | 253 | |
1da177e4 LT |
254 | If M is selected, the module will be called radeon. |
255 | ||
f71d0187 DA |
256 | source "drivers/gpu/drm/radeon/Kconfig" |
257 | ||
d38ceaf9 AD |
258 | config DRM_AMDGPU |
259 | tristate "AMD GPU" | |
011cda58 | 260 | depends on DRM && PCI && MMU |
d38ceaf9 | 261 | select FW_LOADER |
23c61b45 | 262 | select DRM_KMS_HELPER |
1b1f42d8 | 263 | select DRM_SCHED |
23c61b45 | 264 | select DRM_TTM |
d38ceaf9 AD |
265 | select POWER_SUPPLY |
266 | select HWMON | |
267 | select BACKLIGHT_CLASS_DEVICE | |
268 | select INTERVAL_TREE | |
a2f14820 | 269 | select CHASH |
d38ceaf9 AD |
270 | help |
271 | Choose this option if you have a recent AMD Radeon graphics card. | |
272 | ||
273 | If M is selected, the module will be called amdgpu. | |
274 | ||
275 | source "drivers/gpu/drm/amd/amdgpu/Kconfig" | |
a8fe58ce | 276 | |
f3c93cbd BS |
277 | source "drivers/gpu/drm/nouveau/Kconfig" |
278 | ||
4520f53a | 279 | source "drivers/gpu/drm/i915/Kconfig" |
99486b8e | 280 | |
502e95c6 ZR |
281 | config DRM_VGEM |
282 | tristate "Virtual GEM provider" | |
283 | depends on DRM | |
284 | help | |
285 | Choose this option to get a virtual graphics memory manager, | |
286 | as used by Mesa's software renderer for enhanced performance. | |
287 | If M is selected the module will be called vgem. | |
288 | ||
1c7c5fd9 | 289 | config DRM_VKMS |
c91b007e | 290 | tristate "Virtual KMS (EXPERIMENTAL)" |
1c7c5fd9 | 291 | depends on DRM |
5ba57bab | 292 | select DRM_KMS_HELPER |
f2a4a13a | 293 | select CRC32 |
c91b007e | 294 | default n |
1c7c5fd9 | 295 | help |
c91b007e RS |
296 | Virtual Kernel Mode-Setting (VKMS) is used for testing or for |
297 | running GPU in a headless machines. Choose this option to get | |
298 | a VKMS. | |
299 | ||
1c7c5fd9 | 300 | If M is selected the module will be called vkms. |
502e95c6 | 301 | |
5a7b74be TH |
302 | source "drivers/gpu/drm/exynos/Kconfig" |
303 | ||
2048e328 MY |
304 | source "drivers/gpu/drm/rockchip/Kconfig" |
305 | ||
5a7b74be | 306 | source "drivers/gpu/drm/vmwgfx/Kconfig" |
91c75492 AC |
307 | |
308 | source "drivers/gpu/drm/gma500/Kconfig" | |
309 | ||
5320918b | 310 | source "drivers/gpu/drm/udl/Kconfig" |
312fec14 DA |
311 | |
312 | source "drivers/gpu/drm/ast/Kconfig" | |
313 | ||
414c4531 | 314 | source "drivers/gpu/drm/mgag200/Kconfig" |
f9aa76a8 DA |
315 | |
316 | source "drivers/gpu/drm/cirrus/Kconfig" | |
51c13278 | 317 | |
96f60e37 RK |
318 | source "drivers/gpu/drm/armada/Kconfig" |
319 | ||
1a396789 BB |
320 | source "drivers/gpu/drm/atmel-hlcdc/Kconfig" |
321 | ||
4bf8e196 LP |
322 | source "drivers/gpu/drm/rcar-du/Kconfig" |
323 | ||
51c13278 | 324 | source "drivers/gpu/drm/shmobile/Kconfig" |
d8f4a9ed | 325 | |
9026e0d1 MR |
326 | source "drivers/gpu/drm/sun4i/Kconfig" |
327 | ||
8bb0daff | 328 | source "drivers/gpu/drm/omapdrm/Kconfig" |
ca18e142 | 329 | |
16ea975e | 330 | source "drivers/gpu/drm/tilcdc/Kconfig" |
f64122c1 DA |
331 | |
332 | source "drivers/gpu/drm/qxl/Kconfig" | |
c8afe684 | 333 | |
0a6659bd GH |
334 | source "drivers/gpu/drm/bochs/Kconfig" |
335 | ||
dc5698e8 DA |
336 | source "drivers/gpu/drm/virtio/Kconfig" |
337 | ||
c8afe684 | 338 | source "drivers/gpu/drm/msm/Kconfig" |
dee8268f | 339 | |
109eee2f JW |
340 | source "drivers/gpu/drm/fsl-dcu/Kconfig" |
341 | ||
dee8268f | 342 | source "drivers/gpu/drm/tegra/Kconfig" |
aead40ea | 343 | |
b759012c YF |
344 | source "drivers/gpu/drm/stm/Kconfig" |
345 | ||
aead40ea | 346 | source "drivers/gpu/drm/panel/Kconfig" |
f2cb3148 | 347 | |
a33ee95f TR |
348 | source "drivers/gpu/drm/bridge/Kconfig" |
349 | ||
f2cb3148 | 350 | source "drivers/gpu/drm/sti/Kconfig" |
4a488a7a | 351 | |
6556f7f8 | 352 | source "drivers/gpu/drm/imx/Kconfig" |
c8b75bca | 353 | |
90b86fcc PC |
354 | source "drivers/gpu/drm/ingenic/Kconfig" |
355 | ||
57692c94 EA |
356 | source "drivers/gpu/drm/v3d/Kconfig" |
357 | ||
c8b75bca | 358 | source "drivers/gpu/drm/vc4/Kconfig" |
a8c21a54 T |
359 | |
360 | source "drivers/gpu/drm/etnaviv/Kconfig" | |
51dacf20 CP |
361 | |
362 | source "drivers/gpu/drm/arc/Kconfig" | |
23e7b2ab XL |
363 | |
364 | source "drivers/gpu/drm/hisilicon/Kconfig" | |
119f5173 CH |
365 | |
366 | source "drivers/gpu/drm/mediatek/Kconfig" | |
d92d9c3a | 367 | |
0a886f59 SG |
368 | source "drivers/gpu/drm/zte/Kconfig" |
369 | ||
45d59d70 MV |
370 | source "drivers/gpu/drm/mxsfb/Kconfig" |
371 | ||
bbbe775e NA |
372 | source "drivers/gpu/drm/meson/Kconfig" |
373 | ||
043386a0 | 374 | source "drivers/gpu/drm/tiny/Kconfig" |
fa201ac2 | 375 | |
bed41005 TC |
376 | source "drivers/gpu/drm/pl111/Kconfig" |
377 | ||
179c02fe LW |
378 | source "drivers/gpu/drm/tve200/Kconfig" |
379 | ||
c575b7ee OA |
380 | source "drivers/gpu/drm/xen/Kconfig" |
381 | ||
131abc56 HG |
382 | source "drivers/gpu/drm/vboxvideo/Kconfig" |
383 | ||
a1d2a633 QY |
384 | source "drivers/gpu/drm/lima/Kconfig" |
385 | ||
f3ba9122 RH |
386 | source "drivers/gpu/drm/panfrost/Kconfig" |
387 | ||
4f2a8f58 JS |
388 | source "drivers/gpu/drm/aspeed/Kconfig" |
389 | ||
5fc537bf LW |
390 | source "drivers/gpu/drm/mcde/Kconfig" |
391 | ||
d92d9c3a DH |
392 | # Keep legacy drivers last |
393 | ||
394 | menuconfig DRM_LEGACY | |
395 | bool "Enable legacy drivers (DANGEROUS)" | |
7e53c284 | 396 | depends on DRM && MMU |
99c48e1e | 397 | select DRM_VM |
d92d9c3a DH |
398 | help |
399 | Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous | |
400 | APIs to user-space, which can be used to circumvent access | |
401 | restrictions and other security measures. For backwards compatibility | |
402 | those drivers are still available, but their use is highly | |
403 | inadvisable and might harm your system. | |
404 | ||
405 | You are recommended to use the safe modeset-only drivers instead, and | |
406 | perform 3D emulation in user-space. | |
407 | ||
408 | Unless you have strong reasons to go rogue, say "N". | |
409 | ||
410 | if DRM_LEGACY | |
411 | ||
412 | config DRM_TDFX | |
413 | tristate "3dfx Banshee/Voodoo3+" | |
414 | depends on DRM && PCI | |
415 | help | |
416 | Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), | |
417 | graphics card. If M is selected, the module will be called tdfx. | |
418 | ||
419 | config DRM_R128 | |
420 | tristate "ATI Rage 128" | |
421 | depends on DRM && PCI | |
422 | select FW_LOADER | |
423 | help | |
424 | Choose this option if you have an ATI Rage 128 graphics card. If M | |
425 | is selected, the module will be called r128. AGP support for | |
426 | this card is strongly suggested (unless you have a PCI version). | |
427 | ||
428 | config DRM_I810 | |
429 | tristate "Intel I810" | |
f86cf719 | 430 | # !PREEMPTION because of missing ioctl locking |
dc25ace6 | 431 | depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN) |
d92d9c3a DH |
432 | help |
433 | Choose this option if you have an Intel I810 graphics card. If M is | |
434 | selected, the module will be called i810. AGP support is required | |
435 | for this driver to work. | |
436 | ||
437 | config DRM_MGA | |
438 | tristate "Matrox g200/g400" | |
439 | depends on DRM && PCI | |
440 | select FW_LOADER | |
441 | help | |
442 | Choose this option if you have a Matrox G200, G400 or G450 graphics | |
443 | card. If M is selected, the module will be called mga. AGP | |
444 | support is required for this driver to work. | |
445 | ||
446 | config DRM_SIS | |
447 | tristate "SiS video cards" | |
448 | depends on DRM && AGP | |
449 | depends on FB_SIS || FB_SIS=n | |
450 | help | |
451 | Choose this option if you have a SiS 630 or compatible video | |
452 | chipset. If M is selected the module will be called sis. AGP | |
453 | support is required for this driver to work. | |
454 | ||
455 | config DRM_VIA | |
456 | tristate "Via unichrome video cards" | |
457 | depends on DRM && PCI | |
458 | help | |
459 | Choose this option if you have a Via unichrome or compatible video | |
460 | chipset. If M is selected the module will be called via. | |
461 | ||
462 | config DRM_SAVAGE | |
463 | tristate "Savage video cards" | |
464 | depends on DRM && PCI | |
465 | help | |
466 | Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister | |
467 | chipset. If M is selected the module will be called savage. | |
468 | ||
469 | endif # DRM_LEGACY | |
a33d42dd | 470 | |
341a0ffc HG |
471 | # Separate option because drm_panel_orientation_quirks.c is shared with fbdev |
472 | config DRM_PANEL_ORIENTATION_QUIRKS | |
473 | tristate | |
474 | ||
a33d42dd CW |
475 | config DRM_LIB_RANDOM |
476 | bool | |
477 | default n |