xref: /linux/drivers/gpu/drm/Kconfig (revision 9a758d8756daab5b8fda006e131c066336b16a32)
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
118d70f395SHans de Goede	select DRM_PANEL_ORIENTATION_QUIRKS
1210a85120SThierry Reding	select HDMI
13eaf99c74SChris Wilson	select FB_CMDLINE
1457a6297eSDave Airlie	select I2C
1557a6297eSDave Airlie	select I2C_ALGOBIT
163248877eSDave Airlie	select DMA_SHARED_BUFFER
1796260142SGustavo Padovan	select SYNC_FILE
18bfe3911aSChris Wilson# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
19bfe3911aSChris Wilson# device and dmabuf fd. Let's make sure that is available for our userspace.
20bfe3911aSChris Wilson	select KCMP
21*9a758d87SThomas Zimmermann	select VIDEO_NOMODESET
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
34eb7de496SRandy Dunlap	select DRM_KMS_HELPER
35174102f4SNoralf Trønnes
36068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
37068a0023SAndrzej Hajda	bool
38068a0023SAndrzej Hajda	depends on DRM
39068a0023SAndrzej Hajda
405705670dSChris Wilsonconfig DRM_DEBUG_MM
415705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
425705670dSChris Wilson	default n
43cd456f8dSChris Wilson	depends on DRM=y
444b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
455705670dSChris Wilson	select STACKDEPOT
465705670dSChris Wilson	help
475705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
485705670dSChris Wilson	  shutdown.
495705670dSChris Wilson
505705670dSChris Wilson	  Recommended for driver developers only.
515705670dSChris Wilson
525705670dSChris Wilson	  If in doubt, say "N".
535705670dSChris Wilson
5484ec6728SJim Cromieconfig DRM_USE_DYNAMIC_DEBUG
5584ec6728SJim Cromie	bool "use dynamic debug to implement drm.debug"
5684ec6728SJim Cromie	default y
5784ec6728SJim Cromie	depends on DRM
5884ec6728SJim Cromie	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
5984ec6728SJim Cromie	depends on JUMP_LABEL
6084ec6728SJim Cromie	help
6184ec6728SJim Cromie	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
6284ec6728SJim Cromie	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
6384ec6728SJim Cromie	  bytes per callsite, the .data costs can be substantial, and
6484ec6728SJim Cromie	  are therefore configurable.
6584ec6728SJim Cromie
668f456104SJosé Expósitoconfig DRM_KUNIT_TEST
678f456104SJosé Expósito	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
68ba8f16cdSMaíra Canal	depends on DRM && KUNIT
69ba8f16cdSMaíra Canal	select PRIME_NUMBERS
70ba8f16cdSMaíra Canal	select DRM_DISPLAY_DP_HELPER
71ba8f16cdSMaíra Canal	select DRM_DISPLAY_HELPER
72ba8f16cdSMaíra Canal	select DRM_LIB_RANDOM
738f456104SJosé Expósito	select DRM_KMS_HELPER
74ba8f16cdSMaíra Canal	select DRM_BUDDY
75ba8f16cdSMaíra Canal	select DRM_EXPORT_FOR_TESTS if m
768f456104SJosé Expósito	default KUNIT_ALL_TESTS
778f456104SJosé Expósito	help
788f456104SJosé Expósito	  This builds unit tests for DRM. This option is not useful for
798f456104SJosé Expósito	  distributions or general kernels, but only for kernel
808f456104SJosé Expósito	  developers working on DRM and associated drivers.
818f456104SJosé Expósito
828f456104SJosé Expósito	  For more information on KUnit and unit tests in general,
838f456104SJosé Expósito	  please refer to the KUnit documentation in
848f456104SJosé Expósito	  Documentation/dev-tools/kunit/.
858f456104SJosé Expósito
868f456104SJosé Expósito	  If in doubt, say "N".
878f456104SJosé Expósito
886fcefd56SDave Airlieconfig DRM_KMS_HELPER
8913a8195bSDave Airlie	tristate
9013a8195bSDave Airlie	depends on DRM
9192b6f89fSDaniel Vetter	help
9292b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
9392b6f89fSDaniel Vetter
9412a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
9512a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
96d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
9712a280c7SLyude Paul        select STACKDEPOT
9812a280c7SLyude Paul        depends on DRM_KMS_HELPER
9912a280c7SLyude Paul        depends on DEBUG_KERNEL
10012a280c7SLyude Paul        depends on EXPERT
10112a280c7SLyude Paul        help
10212a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
10312a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
10412a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
10512a280c7SLyude Paul
10612a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
10712a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
10812a280c7SLyude Paul
109cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
110cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
111cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
112cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
113cd06ab2fSJani Nikula	depends on EXPERT
114cd06ab2fSJani Nikula	select STACKDEPOT
115cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
116cd06ab2fSJani Nikula	help
117cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
118cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
119cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
120cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
121cd06ab2fSJani Nikula
122cd06ab2fSJani Nikula	  If in doubt, say "N".
123cd06ab2fSJani Nikula
124a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
125a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
1269d6366e7SArnd Bergmann	depends on DRM_KMS_HELPER
1279d6366e7SArnd Bergmann	depends on FB=y || FB=DRM_KMS_HELPER
12891185d55SThomas Zimmermann	select FB_CFB_FILLRECT
12991185d55SThomas Zimmermann	select FB_CFB_COPYAREA
13091185d55SThomas Zimmermann	select FB_CFB_IMAGEBLIT
13191185d55SThomas Zimmermann	select FB_DEFERRED_IO
13291185d55SThomas Zimmermann	select FB_SYS_FOPS
13391185d55SThomas Zimmermann	select FB_SYS_FILLRECT
13491185d55SThomas Zimmermann	select FB_SYS_COPYAREA
13591185d55SThomas Zimmermann	select FB_SYS_IMAGEBLIT
13691185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE if !EXPERT
13791185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
138a03fdcb1SArchit Taneja	default y
139a03fdcb1SArchit Taneja	help
140a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
141a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
142a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
143a03fdcb1SArchit Taneja
144a03fdcb1SArchit Taneja	  If in doubt, say "Y".
145a03fdcb1SArchit Taneja
1465f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1475f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1485f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1495f152576SXinliang Liu	default 100
1505f152576SXinliang Liu	help
1515f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1525f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1535f152576SXinliang Liu	  triple buffering 300.
1545f152576SXinliang Liu
1554be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1564be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1574be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1584be9bd10SNeil Armstrong	default n
1594be9bd10SNeil Armstrong	help
1604be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1614be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1624be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1634be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1644be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1654be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1664be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1674be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1684be9bd10SNeil Armstrong
1694be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1704be9bd10SNeil Armstrong	  software vendor that requires this.
1714be9bd10SNeil Armstrong
1724be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1734be9bd10SNeil Armstrong	  library vendor.
1744be9bd10SNeil Armstrong
175da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
176da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
17753fd40a9SJani Nikula	depends on DRM
178da0df92bSCarsten Emde	help
179da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
180da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
181da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
182da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
183da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
184da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
18572ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
186da0df92bSCarsten Emde
1871e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig"
1882c6d1fffSHans Verkuil
189ba4e7d97SThomas Hellstromconfig DRM_TTM
190771fe6b9SJerome Glisse	tristate
19162a0d98aSBenjamin Gaignard	depends on DRM && MMU
192ba4e7d97SThomas Hellstrom	help
193ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
194ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
195ba4e7d97SThomas Hellstrom	  uses it.
196ba4e7d97SThomas Hellstrom
1976387a3c4SArunpravinconfig DRM_BUDDY
1986387a3c4SArunpravin	tristate
1996387a3c4SArunpravin	depends on DRM
2006387a3c4SArunpravin	help
2016387a3c4SArunpravin	  A page based buddy allocator
2026387a3c4SArunpravin
20385438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
20485438a8dSThomas Zimmermann	tristate
20585438a8dSThomas Zimmermann	depends on DRM
20685438a8dSThomas Zimmermann	help
20785438a8dSThomas Zimmermann	  Helpers for VRAM memory management
20885438a8dSThomas Zimmermann
209ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
210ff540b76SGerd Hoffmann	tristate
211ff540b76SGerd Hoffmann	depends on DRM
212ff540b76SGerd Hoffmann	select DRM_TTM
213ff540b76SGerd Hoffmann	help
214ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
215ff540b76SGerd Hoffmann
2164a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER
2174b2b5e14SThomas Zimmermann	tristate
218e1c7e324SChristoph Hellwig	depends on DRM
219b9d47450SSascha Hauer	help
2204a83c26aSDanilo Krummrich	  Choose this if you need the GEM DMA helper functions
221b9d47450SSascha Hauer
2222194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2234b2b5e14SThomas Zimmermann	tristate
2248b93d1d7SDaniel Vetter	depends on DRM && MMU
2252194a63aSNoralf Trønnes	help
2262194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2272194a63aSNoralf Trønnes
2281b1f42d8SLucas Stachconfig DRM_SCHED
2291b1f42d8SLucas Stach	tristate
2301b1f42d8SLucas Stach	depends on DRM
2311b1f42d8SLucas Stach
2326504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
2336504d0d9SRob Clark
2348e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
2358e22d792SLiviu Dudau
236c0e09200SDave Airlieconfig DRM_RADEON
237c0e09200SDave Airlie	tristate "ATI Radeon"
238011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
239cba2afb6SChristian König	depends on AGP || !AGP
24070967ab9SBen Hutchings	select FW_LOADER
2411e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
2421e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
243a0cdc649SDave Airlie        select DRM_KMS_HELPER
244a0cdc649SDave Airlie        select DRM_TTM
24549a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
2465d9b7e2dSDave Airlie	select POWER_SUPPLY
24721a8122aSAlex Deucher	select HWMON
24814adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
2490aea5e4aSAlex Deucher	select INTERVAL_TREE
2501eb67781SHans de Goede	# radeon depends on ACPI_VIDEO when ACPI is enabled, for select to work
2511eb67781SHans de Goede	# ACPI_VIDEO's dependencies must also be selected.
2521eb67781SHans de Goede	select INPUT if ACPI
2531eb67781SHans de Goede	select ACPI_VIDEO if ACPI
2541eb67781SHans de Goede	# On x86 ACPI_VIDEO also needs ACPI_WMI
2551eb67781SHans de Goede	select X86_PLATFORM_DEVICES if ACPI && X86
2561eb67781SHans de Goede	select ACPI_WMI if ACPI && X86
257c0e09200SDave Airlie	help
258c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
259c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
260c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
261c0e09200SDave Airlie
262c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
263c0e09200SDave Airlie
264f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
265f71d0187SDave Airlie
266d38ceaf9SAlex Deucherconfig DRM_AMDGPU
267d38ceaf9SAlex Deucher	tristate "AMD GPU"
268011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
269d38ceaf9SAlex Deucher	select FW_LOADER
2701e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
2714fc8cb47SThomas Zimmermann	select DRM_DISPLAY_HDMI_HELPER
2721e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
273d38ceaf9SAlex Deucher	select DRM_KMS_HELPER
2741b1f42d8SLucas Stach	select DRM_SCHED
275d38ceaf9SAlex Deucher	select DRM_TTM
27649a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
277d38ceaf9SAlex Deucher	select POWER_SUPPLY
278d38ceaf9SAlex Deucher	select HWMON
279d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
280d38ceaf9SAlex Deucher	select INTERVAL_TREE
281c9cad937SArunpravin Paneer Selvam	select DRM_BUDDY
282da11ef83SHans de Goede	# amdgpu depends on ACPI_VIDEO when ACPI is enabled, for select to work
283da11ef83SHans de Goede	# ACPI_VIDEO's dependencies must also be selected.
284da11ef83SHans de Goede	select INPUT if ACPI
285da11ef83SHans de Goede	select ACPI_VIDEO if ACPI
286da11ef83SHans de Goede	# On x86 ACPI_VIDEO also needs ACPI_WMI
287da11ef83SHans de Goede	select X86_PLATFORM_DEVICES if ACPI && X86
288da11ef83SHans de Goede	select ACPI_WMI if ACPI && X86
289d38ceaf9SAlex Deucher	help
290d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
291d38ceaf9SAlex Deucher
292d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
293d38ceaf9SAlex Deucher
294d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
295a8fe58ceSMaruthi Bayyavarapu
296f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
297f3c93cbdSBen Skeggs
2984520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
29999486b8eSJosh Triplett
300ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
301ed794057SAnitha Chrisanthus
302502e95c6SZach Reiznerconfig DRM_VGEM
303502e95c6SZach Reizner	tristate "Virtual GEM provider"
30445d9c8ddSDaniel Vetter	depends on DRM && MMU
30545d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
306502e95c6SZach Reizner	help
307502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
308502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
309502e95c6SZach Reizner	  If M is selected the module will be called vgem.
310502e95c6SZach Reizner
3111c7c5fd9SHaneen Mohammedconfig DRM_VKMS
312c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
31345d9c8ddSDaniel Vetter	depends on DRM && MMU
3145ba57babSArnd Bergmann	select DRM_KMS_HELPER
315488c888aSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
316f2a4a13aSzhong jiang	select CRC32
317c91b007eSRodrigo Siqueira	default n
3181c7c5fd9SHaneen Mohammed	help
319c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
320c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
321c91b007eSRodrigo Siqueira	  a VKMS.
322c91b007eSRodrigo Siqueira
3231c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
324502e95c6SZach Reizner
3251c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3265a7b74beSThomas Hellstrom
3272048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3282048e328SMark Yao
3295a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
33091c75492SAlan Cox
33191c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
33291c75492SAlan Cox
3335320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
334312fec14SDave Airlie
335312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
336312fec14SDave Airlie
337414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
338f9aa76a8SDave Airlie
33996f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
34096f60e37SRussell King
3411a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3421a396789SBoris Brezillon
3434bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
3444bf8e196SLaurent Pinchart
34551c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
346d8f4a9edSThierry Reding
3479026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3489026e0d1SMaxime Ripard
3498bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
350ca18e142SDave Airlie
35116ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
352f64122c1SDave Airlie
353f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
354c8afe684SRob Clark
355dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
356dc5698e8SDave Airlie
357c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
358dee8268fSThierry Reding
359109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
360109eee2fSJianwei Wang
361dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
362aead40eaSThierry Reding
363b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
364b759012cSYannick Fertre
365aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
366f2cb3148SBenjamin Gaignard
367a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
368a33ee95fSThierry Reding
369f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3704a488a7aSOded Gabbay
3716556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
372c8b75bcaSEric Anholt
37390b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
37490b86fccSPaul Cercueil
37557692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
37657692c94SEric Anholt
377c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
378a8c21a54SThe etnaviv authors
379a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
38051dacf20SCarlos Palminha
38123e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
382119f5173SCK Hu
383efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig"
384efeeaefeSPaul Kocialkowski
385119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
386d92d9c3aSDavid Herrmann
38745d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
38845d59d70SMarek Vasut
389bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
390bbbe775eSNeil Armstrong
391043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
392fa201ac2SNoralf Trønnes
393bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
394bed41005STom Cooksey
395179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
396179c02feSLinus Walleij
397c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
398c575b7eeSOleksandr Andrushchenko
399131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
400131abc56SHans de Goede
401a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
402a1d2a633SQiang Yu
403f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
404f3ba9122SRob Herring
4054f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
4064f2a8f58SJoel Stanley
4075fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
4085fc537bfSLinus Walleij
40932a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
41032a1795fSJyri Sarha
411d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
412d76271d2SHyun Kwon
41340e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
41440e1a70bSNoralf Trønnes
415a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
416a61732e8SJavier Martinez Canillas
41743531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
41843531eddSKevin Tang
41976c56a5aSDeepak Rawatconfig DRM_HYPERV
42076c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
42176c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
42276c56a5aSDeepak Rawat	select DRM_KMS_HELPER
42376c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
42476c56a5aSDeepak Rawat	help
42576c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
42676c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
42776c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
42876c56a5aSDeepak Rawat	 that DRM driver is used by default.
42976c56a5aSDeepak Rawat
43076c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
43176c56a5aSDeepak Rawat
432d92d9c3aSDavid Herrmann# Keep legacy drivers last
433d92d9c3aSDavid Herrmann
434d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
435d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
4367e53c284SBenjamin Gaignard	depends on DRM && MMU
437d92d9c3aSDavid Herrmann	help
438d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
439d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
440d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
441d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
442d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
443d92d9c3aSDavid Herrmann
444d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
445d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
446d92d9c3aSDavid Herrmann
447d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
448d92d9c3aSDavid Herrmann
449d92d9c3aSDavid Herrmannif DRM_LEGACY
450d92d9c3aSDavid Herrmann
451d92d9c3aSDavid Herrmannconfig DRM_TDFX
452d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
453d92d9c3aSDavid Herrmann	depends on DRM && PCI
454d92d9c3aSDavid Herrmann	help
455d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
456d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
457d92d9c3aSDavid Herrmann
458d92d9c3aSDavid Herrmannconfig DRM_R128
459d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
460d92d9c3aSDavid Herrmann	depends on DRM && PCI
461d92d9c3aSDavid Herrmann	select FW_LOADER
462d92d9c3aSDavid Herrmann	help
463d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
464d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
465d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
466d92d9c3aSDavid Herrmann
467d92d9c3aSDavid Herrmannconfig DRM_I810
468d92d9c3aSDavid Herrmann	tristate "Intel I810"
469f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
470dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
471d92d9c3aSDavid Herrmann	help
472d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
473d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
474d92d9c3aSDavid Herrmann	  for this driver to work.
475d92d9c3aSDavid Herrmann
476d92d9c3aSDavid Herrmannconfig DRM_MGA
477d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
478d92d9c3aSDavid Herrmann	depends on DRM && PCI
479d92d9c3aSDavid Herrmann	select FW_LOADER
480d92d9c3aSDavid Herrmann	help
481d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
482d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
483d92d9c3aSDavid Herrmann	  support is required for this driver to work.
484d92d9c3aSDavid Herrmann
485d92d9c3aSDavid Herrmannconfig DRM_SIS
486d92d9c3aSDavid Herrmann	tristate "SiS video cards"
487d92d9c3aSDavid Herrmann	depends on DRM && AGP
488d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
489d92d9c3aSDavid Herrmann	help
490d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
491d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
492d92d9c3aSDavid Herrmann	  support is required for this driver to work.
493d92d9c3aSDavid Herrmann
494d92d9c3aSDavid Herrmannconfig DRM_VIA
495d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
496d92d9c3aSDavid Herrmann	depends on DRM && PCI
497d92d9c3aSDavid Herrmann	help
498d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
499d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
500d92d9c3aSDavid Herrmann
501d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
502d92d9c3aSDavid Herrmann	tristate "Savage video cards"
503d92d9c3aSDavid Herrmann	depends on DRM && PCI
504d92d9c3aSDavid Herrmann	help
505d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
506d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
507d92d9c3aSDavid Herrmann
508d92d9c3aSDavid Herrmannendif # DRM_LEGACY
509a33d42ddSChris Wilson
5109b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
5119b6c80beSRandy Dunlap	bool
5129b6c80beSRandy Dunlap
513341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
514341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
515341a0ffcSHans de Goede	tristate
516341a0ffcSHans de Goede
517a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
518a33d42ddSChris Wilson	bool
519a33d42ddSChris Wilson	default n
520a1a98689SHans de Goede
521a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
522a1a98689SHans de Goede	bool
523a1a98689SHans de Goede	default n
524