xref: /linux/drivers/gpu/drm/Kconfig (revision c9cad937c0c58618fe5b0310fd539a854dc1ae95)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c0e09200SDave Airlie#
3c0e09200SDave Airlie# Drm device configuration
4c0e09200SDave Airlie#
5c0e09200SDave Airlie# This driver provides support for the
6c0e09200SDave Airlie# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
7c0e09200SDave Airlie#
8c0e09200SDave Airliemenuconfig DRM
9c0e09200SDave Airlie	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
1062a0d98aSBenjamin Gaignard	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
11e9aeeba2SJavier Martinez Canillas	select DRM_NOMODESET
128d70f395SHans de Goede	select DRM_PANEL_ORIENTATION_QUIRKS
1310a85120SThierry Reding	select HDMI
14eaf99c74SChris Wilson	select FB_CMDLINE
1557a6297eSDave Airlie	select I2C
1657a6297eSDave Airlie	select I2C_ALGOBIT
173248877eSDave Airlie	select DMA_SHARED_BUFFER
1896260142SGustavo Padovan	select SYNC_FILE
19bfe3911aSChris Wilson# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
20bfe3911aSChris Wilson# device and dmabuf fd. Let's make sure that is available for our userspace.
21bfe3911aSChris Wilson	select KCMP
22c0e09200SDave Airlie	help
23c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
24c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
25c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
26c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
27c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
28c0e09200SDave Airlie	  details.  You should also select and configure AGP
29dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
30c0e09200SDave Airlie
31174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
32174102f4SNoralf Trønnes	tristate
33174102f4SNoralf Trønnes	depends on DRM
34174102f4SNoralf Trønnes
35068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
36068a0023SAndrzej Hajda	bool
37068a0023SAndrzej Hajda	depends on DRM
38068a0023SAndrzej Hajda
39aeb33699SDouglas Andersonconfig DRM_DP_AUX_BUS
40aeb33699SDouglas Anderson	tristate
41aeb33699SDouglas Anderson	depends on DRM
42aeb33699SDouglas Anderson	depends on OF
43aeb33699SDouglas Anderson
44e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV
45e94cb37bSRafael Antognolli	bool "DRM DP AUX Interface"
46e94cb37bSRafael Antognolli	depends on DRM
47e94cb37bSRafael Antognolli	help
48e94cb37bSRafael Antognolli	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
49e94cb37bSRafael Antognolli	  read and write values to arbitrary DPCD registers on the DP aux
50e94cb37bSRafael Antognolli	  channel.
51e94cb37bSRafael Antognolli
525705670dSChris Wilsonconfig DRM_DEBUG_MM
535705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
545705670dSChris Wilson	default n
55cd456f8dSChris Wilson	depends on DRM=y
564b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
575705670dSChris Wilson	select STACKDEPOT
585705670dSChris Wilson	help
595705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
605705670dSChris Wilson	  shutdown.
615705670dSChris Wilson
625705670dSChris Wilson	  Recommended for driver developers only.
635705670dSChris Wilson
645705670dSChris Wilson	  If in doubt, say "N".
655705670dSChris Wilson
6634b13e5eSMaarten Lankhorstconfig DRM_DEBUG_SELFTEST
6734b13e5eSMaarten Lankhorst	tristate "kselftests for DRM"
6850f0033dSChris Wilson	depends on DRM
6950f0033dSChris Wilson	depends on DEBUG_KERNEL
7050f0033dSChris Wilson	select PRIME_NUMBERS
71d7e3ea83SThomas Zimmermann	select DRM_DP_HELPER
7250f0033dSChris Wilson	select DRM_LIB_RANDOM
737420e049SMaarten Lankhorst	select DRM_KMS_HELPER
743d515ba9SArunpravin	select DRM_BUDDY
756349120dSChris Wilson	select DRM_EXPORT_FOR_TESTS if m
7650f0033dSChris Wilson	default n
7750f0033dSChris Wilson	help
7834b13e5eSMaarten Lankhorst	  This option provides kernel modules that can be used to run
7934b13e5eSMaarten Lankhorst	  various selftests on parts of the DRM api. This option is not
8050f0033dSChris Wilson	  useful for distributions or general kernels, but only for kernel
8150f0033dSChris Wilson	  developers working on DRM and associated drivers.
8250f0033dSChris Wilson
8350f0033dSChris Wilson	  If in doubt, say "N".
8450f0033dSChris Wilson
85adb9d5a2SThomas Zimmermannconfig DRM_DP_HELPER
86adb9d5a2SThomas Zimmermann	tristate
87adb9d5a2SThomas Zimmermann	depends on DRM
88adb9d5a2SThomas Zimmermann	help
89adb9d5a2SThomas Zimmermann	  DRM helpers for DisplayPort.
90adb9d5a2SThomas Zimmermann
916fcefd56SDave Airlieconfig DRM_KMS_HELPER
9213a8195bSDave Airlie	tristate
9313a8195bSDave Airlie	depends on DRM
9492b6f89fSDaniel Vetter	help
9592b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
9692b6f89fSDaniel Vetter
9712a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
9812a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
99d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
10012a280c7SLyude Paul        select STACKDEPOT
10112a280c7SLyude Paul        depends on DRM_KMS_HELPER
10212a280c7SLyude Paul        depends on DEBUG_KERNEL
10312a280c7SLyude Paul        depends on EXPERT
10412a280c7SLyude Paul        help
10512a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
10612a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
10712a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
10812a280c7SLyude Paul
10912a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
11012a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
11112a280c7SLyude Paul
112cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
113cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
114cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
115cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
116cd06ab2fSJani Nikula	depends on EXPERT
117cd06ab2fSJani Nikula	select STACKDEPOT
118cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
119cd06ab2fSJani Nikula	help
120cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
121cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
122cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
123cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
124cd06ab2fSJani Nikula
125cd06ab2fSJani Nikula	  If in doubt, say "N".
126cd06ab2fSJani Nikula
127a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
128a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
1299d6366e7SArnd Bergmann	depends on DRM_KMS_HELPER
1309d6366e7SArnd Bergmann	depends on FB=y || FB=DRM_KMS_HELPER
13191185d55SThomas Zimmermann	select FB_CFB_FILLRECT
13291185d55SThomas Zimmermann	select FB_CFB_COPYAREA
13391185d55SThomas Zimmermann	select FB_CFB_IMAGEBLIT
13491185d55SThomas Zimmermann	select FB_DEFERRED_IO
13591185d55SThomas Zimmermann	select FB_SYS_FOPS
13691185d55SThomas Zimmermann	select FB_SYS_FILLRECT
13791185d55SThomas Zimmermann	select FB_SYS_COPYAREA
13891185d55SThomas Zimmermann	select FB_SYS_IMAGEBLIT
13991185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE if !EXPERT
14091185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
141a03fdcb1SArchit Taneja	default y
142a03fdcb1SArchit Taneja	help
143a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
144a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
145a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
146a03fdcb1SArchit Taneja
147a03fdcb1SArchit Taneja	  If in doubt, say "Y".
148a03fdcb1SArchit Taneja
1495f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1505f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1515f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1525f152576SXinliang Liu	default 100
1535f152576SXinliang Liu	help
1545f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1555f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1565f152576SXinliang Liu	  triple buffering 300.
1575f152576SXinliang Liu
1584be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1594be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1604be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1614be9bd10SNeil Armstrong	default n
1624be9bd10SNeil Armstrong	help
1634be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1644be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1654be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1664be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1674be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1684be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1694be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1704be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1714be9bd10SNeil Armstrong
1724be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1734be9bd10SNeil Armstrong	  software vendor that requires this.
1744be9bd10SNeil Armstrong
1754be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1764be9bd10SNeil Armstrong	  library vendor.
1774be9bd10SNeil Armstrong
178da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
179da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
18053fd40a9SJani Nikula	depends on DRM
181da0df92bSCarsten Emde	help
182da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
183da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
184da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
185da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
186da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
187da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
18872ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
189da0df92bSCarsten Emde
1902c6d1fffSHans Verkuilconfig DRM_DP_CEC
1912c6d1fffSHans Verkuil	bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
192539bbf31SHans Verkuil	depends on DRM
1932c6d1fffSHans Verkuil	select CEC_CORE
1942c6d1fffSHans Verkuil	help
1952c6d1fffSHans Verkuil	  Choose this option if you want to enable HDMI CEC support for
1962c6d1fffSHans Verkuil	  DisplayPort/USB-C to HDMI adapters.
1972c6d1fffSHans Verkuil
1982c6d1fffSHans Verkuil	  Note: not all adapters support this feature, and even for those
1992c6d1fffSHans Verkuil	  that do support this they often do not hook up the CEC pin.
2002c6d1fffSHans Verkuil
201ba4e7d97SThomas Hellstromconfig DRM_TTM
202771fe6b9SJerome Glisse	tristate
20362a0d98aSBenjamin Gaignard	depends on DRM && MMU
204ba4e7d97SThomas Hellstrom	help
205ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
206ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
207ba4e7d97SThomas Hellstrom	  uses it.
208ba4e7d97SThomas Hellstrom
2096387a3c4SArunpravinconfig DRM_BUDDY
2106387a3c4SArunpravin	tristate
2116387a3c4SArunpravin	depends on DRM
2126387a3c4SArunpravin	help
2136387a3c4SArunpravin	  A page based buddy allocator
2146387a3c4SArunpravin
21585438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
21685438a8dSThomas Zimmermann	tristate
21785438a8dSThomas Zimmermann	depends on DRM
21885438a8dSThomas Zimmermann	help
21985438a8dSThomas Zimmermann	  Helpers for VRAM memory management
22085438a8dSThomas Zimmermann
221ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
222ff540b76SGerd Hoffmann	tristate
223ff540b76SGerd Hoffmann	depends on DRM
224ff540b76SGerd Hoffmann	select DRM_TTM
225ff540b76SGerd Hoffmann	help
226ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
227ff540b76SGerd Hoffmann
228b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
2294b2b5e14SThomas Zimmermann	tristate
230e1c7e324SChristoph Hellwig	depends on DRM
231b9d47450SSascha Hauer	help
232b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
233b9d47450SSascha Hauer
2342194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2354b2b5e14SThomas Zimmermann	tristate
2368b93d1d7SDaniel Vetter	depends on DRM && MMU
2372194a63aSNoralf Trønnes	help
2382194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2392194a63aSNoralf Trønnes
2401b1f42d8SLucas Stachconfig DRM_SCHED
2411b1f42d8SLucas Stach	tristate
2421b1f42d8SLucas Stach	depends on DRM
2431b1f42d8SLucas Stach
2446504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
2456504d0d9SRob Clark
2468e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
2478e22d792SLiviu Dudau
248c0e09200SDave Airlieconfig DRM_RADEON
249c0e09200SDave Airlie	tristate "ATI Radeon"
250011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
251cba2afb6SChristian König	depends on AGP || !AGP
25270967ab9SBen Hutchings	select FW_LOADER
253adb9d5a2SThomas Zimmermann	select DRM_DP_HELPER
254a0cdc649SDave Airlie        select DRM_KMS_HELPER
255a0cdc649SDave Airlie        select DRM_TTM
25649a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
2575d9b7e2dSDave Airlie	select POWER_SUPPLY
25821a8122aSAlex Deucher	select HWMON
25914adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
2600aea5e4aSAlex Deucher	select INTERVAL_TREE
261c0e09200SDave Airlie	help
262c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
263c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
264c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
265c0e09200SDave Airlie
266c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
267c0e09200SDave Airlie
268f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
269f71d0187SDave Airlie
270d38ceaf9SAlex Deucherconfig DRM_AMDGPU
271d38ceaf9SAlex Deucher	tristate "AMD GPU"
272011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
273d38ceaf9SAlex Deucher	select FW_LOADER
274adb9d5a2SThomas Zimmermann	select DRM_DP_HELPER
275d38ceaf9SAlex Deucher	select DRM_KMS_HELPER
2761b1f42d8SLucas Stach	select DRM_SCHED
277d38ceaf9SAlex Deucher	select DRM_TTM
27849a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
279d38ceaf9SAlex Deucher	select POWER_SUPPLY
280d38ceaf9SAlex Deucher	select HWMON
281d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
282d38ceaf9SAlex Deucher	select INTERVAL_TREE
283*c9cad937SArunpravin Paneer Selvam	select DRM_BUDDY
284d38ceaf9SAlex Deucher	help
285d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
286d38ceaf9SAlex Deucher
287d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
288d38ceaf9SAlex Deucher
289d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
290a8fe58ceSMaruthi Bayyavarapu
291f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
292f3c93cbdSBen Skeggs
2934520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
29499486b8eSJosh Triplett
295ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
296ed794057SAnitha Chrisanthus
297502e95c6SZach Reiznerconfig DRM_VGEM
298502e95c6SZach Reizner	tristate "Virtual GEM provider"
29945d9c8ddSDaniel Vetter	depends on DRM && MMU
30045d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
301502e95c6SZach Reizner	help
302502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
303502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
304502e95c6SZach Reizner	  If M is selected the module will be called vgem.
305502e95c6SZach Reizner
3061c7c5fd9SHaneen Mohammedconfig DRM_VKMS
307c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
30845d9c8ddSDaniel Vetter	depends on DRM && MMU
3095ba57babSArnd Bergmann	select DRM_KMS_HELPER
310488c888aSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
311f2a4a13aSzhong jiang	select CRC32
312c91b007eSRodrigo Siqueira	default n
3131c7c5fd9SHaneen Mohammed	help
314c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
315c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
316c91b007eSRodrigo Siqueira	  a VKMS.
317c91b007eSRodrigo Siqueira
3181c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
319502e95c6SZach Reizner
3201c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3215a7b74beSThomas Hellstrom
3222048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3232048e328SMark Yao
3245a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
32591c75492SAlan Cox
32691c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
32791c75492SAlan Cox
3285320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
329312fec14SDave Airlie
330312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
331312fec14SDave Airlie
332414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
333f9aa76a8SDave Airlie
33496f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
33596f60e37SRussell King
3361a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3371a396789SBoris Brezillon
3384bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
3394bf8e196SLaurent Pinchart
34051c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
341d8f4a9edSThierry Reding
3429026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3439026e0d1SMaxime Ripard
3448bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
345ca18e142SDave Airlie
34616ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
347f64122c1SDave Airlie
348f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
349c8afe684SRob Clark
350dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
351dc5698e8SDave Airlie
352c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
353dee8268fSThierry Reding
354109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
355109eee2fSJianwei Wang
356dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
357aead40eaSThierry Reding
358b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
359b759012cSYannick Fertre
360aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
361f2cb3148SBenjamin Gaignard
362a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
363a33ee95fSThierry Reding
364f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3654a488a7aSOded Gabbay
3666556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
367c8b75bcaSEric Anholt
36890b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
36990b86fccSPaul Cercueil
37057692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
37157692c94SEric Anholt
372c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
373a8c21a54SThe etnaviv authors
374a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
37551dacf20SCarlos Palminha
37623e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
377119f5173SCK Hu
378119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
379d92d9c3aSDavid Herrmann
38045d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
38145d59d70SMarek Vasut
382bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
383bbbe775eSNeil Armstrong
384043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
385fa201ac2SNoralf Trønnes
386bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
387bed41005STom Cooksey
388179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
389179c02feSLinus Walleij
390c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
391c575b7eeSOleksandr Andrushchenko
392131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
393131abc56SHans de Goede
394a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
395a1d2a633SQiang Yu
396f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
397f3ba9122SRob Herring
3984f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
3994f2a8f58SJoel Stanley
4005fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
4015fc537bfSLinus Walleij
40232a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
40332a1795fSJyri Sarha
404d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
405d76271d2SHyun Kwon
40640e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
40740e1a70bSNoralf Trønnes
408a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
409a61732e8SJavier Martinez Canillas
41043531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
41143531eddSKevin Tang
41276c56a5aSDeepak Rawatconfig DRM_HYPERV
41376c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
41476c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
41576c56a5aSDeepak Rawat	select DRM_KMS_HELPER
41676c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
41776c56a5aSDeepak Rawat	help
41876c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
41976c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
42076c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
42176c56a5aSDeepak Rawat	 that DRM driver is used by default.
42276c56a5aSDeepak Rawat
42376c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
42476c56a5aSDeepak Rawat
425d92d9c3aSDavid Herrmann# Keep legacy drivers last
426d92d9c3aSDavid Herrmann
427d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
428d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
4297e53c284SBenjamin Gaignard	depends on DRM && MMU
430d92d9c3aSDavid Herrmann	help
431d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
432d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
433d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
434d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
435d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
436d92d9c3aSDavid Herrmann
437d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
438d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
439d92d9c3aSDavid Herrmann
440d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
441d92d9c3aSDavid Herrmann
442d92d9c3aSDavid Herrmannif DRM_LEGACY
443d92d9c3aSDavid Herrmann
444d92d9c3aSDavid Herrmannconfig DRM_TDFX
445d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
446d92d9c3aSDavid Herrmann	depends on DRM && PCI
447d92d9c3aSDavid Herrmann	help
448d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
449d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
450d92d9c3aSDavid Herrmann
451d92d9c3aSDavid Herrmannconfig DRM_R128
452d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
453d92d9c3aSDavid Herrmann	depends on DRM && PCI
454d92d9c3aSDavid Herrmann	select FW_LOADER
455d92d9c3aSDavid Herrmann	help
456d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
457d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
458d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
459d92d9c3aSDavid Herrmann
460d92d9c3aSDavid Herrmannconfig DRM_I810
461d92d9c3aSDavid Herrmann	tristate "Intel I810"
462f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
463dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
464d92d9c3aSDavid Herrmann	help
465d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
466d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
467d92d9c3aSDavid Herrmann	  for this driver to work.
468d92d9c3aSDavid Herrmann
469d92d9c3aSDavid Herrmannconfig DRM_MGA
470d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
471d92d9c3aSDavid Herrmann	depends on DRM && PCI
472d92d9c3aSDavid Herrmann	select FW_LOADER
473d92d9c3aSDavid Herrmann	help
474d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
475d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
476d92d9c3aSDavid Herrmann	  support is required for this driver to work.
477d92d9c3aSDavid Herrmann
478d92d9c3aSDavid Herrmannconfig DRM_SIS
479d92d9c3aSDavid Herrmann	tristate "SiS video cards"
480d92d9c3aSDavid Herrmann	depends on DRM && AGP
481d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
482d92d9c3aSDavid Herrmann	help
483d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
484d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
485d92d9c3aSDavid Herrmann	  support is required for this driver to work.
486d92d9c3aSDavid Herrmann
487d92d9c3aSDavid Herrmannconfig DRM_VIA
488d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
489d92d9c3aSDavid Herrmann	depends on DRM && PCI
490d92d9c3aSDavid Herrmann	help
491d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
492d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
493d92d9c3aSDavid Herrmann
494d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
495d92d9c3aSDavid Herrmann	tristate "Savage video cards"
496d92d9c3aSDavid Herrmann	depends on DRM && PCI
497d92d9c3aSDavid Herrmann	help
498d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
499d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
500d92d9c3aSDavid Herrmann
501d92d9c3aSDavid Herrmannendif # DRM_LEGACY
502a33d42ddSChris Wilson
5039b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
5049b6c80beSRandy Dunlap	bool
5059b6c80beSRandy Dunlap
506341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
507341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
508341a0ffcSHans de Goede	tristate
509341a0ffcSHans de Goede
510e9aeeba2SJavier Martinez Canillas# Separate option because nomodeset parameter is global and expected built-in
511e9aeeba2SJavier Martinez Canillasconfig DRM_NOMODESET
512e9aeeba2SJavier Martinez Canillas	bool
513e9aeeba2SJavier Martinez Canillas	default n
514e9aeeba2SJavier Martinez Canillas
515a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
516a33d42ddSChris Wilson	bool
517a33d42ddSChris Wilson	default n
518a1a98689SHans de Goede
519a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
520a1a98689SHans de Goede	bool
521a1a98689SHans de Goede	default n
522