xref: /linux/drivers/gpu/drm/Kconfig (revision bb2ff6c27bc9e1da4d3ec5e7b1d6b9df1092cb5a)
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
219a758d87SThomas 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"
56*bb2ff6c2SVille Syrjälä	default n
57*bb2ff6c2SVille Syrjälä	depends on BROKEN
5884ec6728SJim Cromie	depends on DRM
5984ec6728SJim Cromie	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
6084ec6728SJim Cromie	depends on JUMP_LABEL
6184ec6728SJim Cromie	help
6284ec6728SJim Cromie	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
6384ec6728SJim Cromie	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
6484ec6728SJim Cromie	  bytes per callsite, the .data costs can be substantial, and
6584ec6728SJim Cromie	  are therefore configurable.
6684ec6728SJim Cromie
678f456104SJosé Expósitoconfig DRM_KUNIT_TEST
688f456104SJosé Expósito	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
69ba8f16cdSMaíra Canal	depends on DRM && KUNIT
70ba8f16cdSMaíra Canal	select PRIME_NUMBERS
71ba8f16cdSMaíra Canal	select DRM_DISPLAY_DP_HELPER
72ba8f16cdSMaíra Canal	select DRM_DISPLAY_HELPER
73ba8f16cdSMaíra Canal	select DRM_LIB_RANDOM
748f456104SJosé Expósito	select DRM_KMS_HELPER
75ba8f16cdSMaíra Canal	select DRM_BUDDY
76ba8f16cdSMaíra Canal	select DRM_EXPORT_FOR_TESTS if m
778f456104SJosé Expósito	default KUNIT_ALL_TESTS
788f456104SJosé Expósito	help
798f456104SJosé Expósito	  This builds unit tests for DRM. This option is not useful for
808f456104SJosé Expósito	  distributions or general kernels, but only for kernel
818f456104SJosé Expósito	  developers working on DRM and associated drivers.
828f456104SJosé Expósito
838f456104SJosé Expósito	  For more information on KUnit and unit tests in general,
848f456104SJosé Expósito	  please refer to the KUnit documentation in
858f456104SJosé Expósito	  Documentation/dev-tools/kunit/.
868f456104SJosé Expósito
878f456104SJosé Expósito	  If in doubt, say "N".
888f456104SJosé Expósito
896fcefd56SDave Airlieconfig DRM_KMS_HELPER
9013a8195bSDave Airlie	tristate
9113a8195bSDave Airlie	depends on DRM
9292b6f89fSDaniel Vetter	help
9392b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
9492b6f89fSDaniel Vetter
9512a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
9612a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
97d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
9812a280c7SLyude Paul        select STACKDEPOT
9912a280c7SLyude Paul        depends on DRM_KMS_HELPER
10012a280c7SLyude Paul        depends on DEBUG_KERNEL
10112a280c7SLyude Paul        depends on EXPERT
10212a280c7SLyude Paul        help
10312a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
10412a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
10512a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
10612a280c7SLyude Paul
10712a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
10812a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
10912a280c7SLyude Paul
110cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
111cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
112cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
113cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
114cd06ab2fSJani Nikula	depends on EXPERT
115cd06ab2fSJani Nikula	select STACKDEPOT
116cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
117cd06ab2fSJani Nikula	help
118cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
119cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
120cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
121cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
122cd06ab2fSJani Nikula
123cd06ab2fSJani Nikula	  If in doubt, say "N".
124cd06ab2fSJani Nikula
125a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
126a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
1279d6366e7SArnd Bergmann	depends on DRM_KMS_HELPER
1289d6366e7SArnd Bergmann	depends on FB=y || FB=DRM_KMS_HELPER
12991185d55SThomas Zimmermann	select FB_CFB_FILLRECT
13091185d55SThomas Zimmermann	select FB_CFB_COPYAREA
13191185d55SThomas Zimmermann	select FB_CFB_IMAGEBLIT
13291185d55SThomas Zimmermann	select FB_DEFERRED_IO
13391185d55SThomas Zimmermann	select FB_SYS_FOPS
13491185d55SThomas Zimmermann	select FB_SYS_FILLRECT
13591185d55SThomas Zimmermann	select FB_SYS_COPYAREA
13691185d55SThomas Zimmermann	select FB_SYS_IMAGEBLIT
13791185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE if !EXPERT
13891185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
139a03fdcb1SArchit Taneja	default y
140a03fdcb1SArchit Taneja	help
141a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
142a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
143a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
144a03fdcb1SArchit Taneja
145a03fdcb1SArchit Taneja	  If in doubt, say "Y".
146a03fdcb1SArchit Taneja
1475f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1485f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1495f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1505f152576SXinliang Liu	default 100
1515f152576SXinliang Liu	help
1525f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1535f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1545f152576SXinliang Liu	  triple buffering 300.
1555f152576SXinliang Liu
1564be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1574be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1584be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1594be9bd10SNeil Armstrong	default n
1604be9bd10SNeil Armstrong	help
1614be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1624be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1634be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1644be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1654be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1664be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1674be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1684be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1694be9bd10SNeil Armstrong
1704be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1714be9bd10SNeil Armstrong	  software vendor that requires this.
1724be9bd10SNeil Armstrong
1734be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1744be9bd10SNeil Armstrong	  library vendor.
1754be9bd10SNeil Armstrong
176da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
177da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
17853fd40a9SJani Nikula	depends on DRM
179da0df92bSCarsten Emde	help
180da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
181da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
182da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
183da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
184da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
185da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
18672ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
187da0df92bSCarsten Emde
1881e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig"
1892c6d1fffSHans Verkuil
190ba4e7d97SThomas Hellstromconfig DRM_TTM
191771fe6b9SJerome Glisse	tristate
19262a0d98aSBenjamin Gaignard	depends on DRM && MMU
193ba4e7d97SThomas Hellstrom	help
194ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
195ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
196ba4e7d97SThomas Hellstrom	  uses it.
197ba4e7d97SThomas Hellstrom
1986387a3c4SArunpravinconfig DRM_BUDDY
1996387a3c4SArunpravin	tristate
2006387a3c4SArunpravin	depends on DRM
2016387a3c4SArunpravin	help
2026387a3c4SArunpravin	  A page based buddy allocator
2036387a3c4SArunpravin
20485438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
20585438a8dSThomas Zimmermann	tristate
20685438a8dSThomas Zimmermann	depends on DRM
20785438a8dSThomas Zimmermann	help
20885438a8dSThomas Zimmermann	  Helpers for VRAM memory management
20985438a8dSThomas Zimmermann
210ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
211ff540b76SGerd Hoffmann	tristate
212ff540b76SGerd Hoffmann	depends on DRM
213ff540b76SGerd Hoffmann	select DRM_TTM
214ff540b76SGerd Hoffmann	help
215ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
216ff540b76SGerd Hoffmann
2174a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER
2184b2b5e14SThomas Zimmermann	tristate
219e1c7e324SChristoph Hellwig	depends on DRM
220b9d47450SSascha Hauer	help
2214a83c26aSDanilo Krummrich	  Choose this if you need the GEM DMA helper functions
222b9d47450SSascha Hauer
2232194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2244b2b5e14SThomas Zimmermann	tristate
2258b93d1d7SDaniel Vetter	depends on DRM && MMU
2262194a63aSNoralf Trønnes	help
2272194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2282194a63aSNoralf Trønnes
2291b1f42d8SLucas Stachconfig DRM_SCHED
2301b1f42d8SLucas Stach	tristate
2311b1f42d8SLucas Stach	depends on DRM
2321b1f42d8SLucas Stach
2336504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
2346504d0d9SRob Clark
2358e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
2368e22d792SLiviu Dudau
237f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
238f71d0187SDave Airlie
239d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
240a8fe58ceSMaruthi Bayyavarapu
241f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
242f3c93cbdSBen Skeggs
2434520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
24499486b8eSJosh Triplett
245ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
246ed794057SAnitha Chrisanthus
247502e95c6SZach Reiznerconfig DRM_VGEM
248502e95c6SZach Reizner	tristate "Virtual GEM provider"
24945d9c8ddSDaniel Vetter	depends on DRM && MMU
25045d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
251502e95c6SZach Reizner	help
252502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
253502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
254502e95c6SZach Reizner	  If M is selected the module will be called vgem.
255502e95c6SZach Reizner
2561c7c5fd9SHaneen Mohammedconfig DRM_VKMS
257c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
25845d9c8ddSDaniel Vetter	depends on DRM && MMU
2595ba57babSArnd Bergmann	select DRM_KMS_HELPER
260488c888aSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
261f2a4a13aSzhong jiang	select CRC32
262c91b007eSRodrigo Siqueira	default n
2631c7c5fd9SHaneen Mohammed	help
264c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
265c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
266c91b007eSRodrigo Siqueira	  a VKMS.
267c91b007eSRodrigo Siqueira
2681c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
269502e95c6SZach Reizner
2701c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
2715a7b74beSThomas Hellstrom
2722048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
2732048e328SMark Yao
2745a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
27591c75492SAlan Cox
27691c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
27791c75492SAlan Cox
2785320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
279312fec14SDave Airlie
280312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
281312fec14SDave Airlie
282414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
283f9aa76a8SDave Airlie
28496f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
28596f60e37SRussell King
2861a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
2871a396789SBoris Brezillon
2884bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
2894bf8e196SLaurent Pinchart
29051c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
291d8f4a9edSThierry Reding
2929026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
2939026e0d1SMaxime Ripard
2948bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
295ca18e142SDave Airlie
29616ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
297f64122c1SDave Airlie
298f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
299c8afe684SRob Clark
300dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
301dc5698e8SDave Airlie
302c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
303dee8268fSThierry Reding
304109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
305109eee2fSJianwei Wang
306dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
307aead40eaSThierry Reding
308b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
309b759012cSYannick Fertre
310aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
311f2cb3148SBenjamin Gaignard
312a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
313a33ee95fSThierry Reding
314f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3154a488a7aSOded Gabbay
3166556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
317c8b75bcaSEric Anholt
31890b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
31990b86fccSPaul Cercueil
32057692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
32157692c94SEric Anholt
322c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
323a8c21a54SThe etnaviv authors
324a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
32551dacf20SCarlos Palminha
32623e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
327119f5173SCK Hu
328efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig"
329efeeaefeSPaul Kocialkowski
330119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
331d92d9c3aSDavid Herrmann
33245d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
33345d59d70SMarek Vasut
334bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
335bbbe775eSNeil Armstrong
336043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
337fa201ac2SNoralf Trønnes
338bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
339bed41005STom Cooksey
340179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
341179c02feSLinus Walleij
342c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
343c575b7eeSOleksandr Andrushchenko
344131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
345131abc56SHans de Goede
346a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
347a1d2a633SQiang Yu
348f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
349f3ba9122SRob Herring
3504f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
3514f2a8f58SJoel Stanley
3525fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
3535fc537bfSLinus Walleij
35432a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
35532a1795fSJyri Sarha
356d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
357d76271d2SHyun Kwon
35840e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
35940e1a70bSNoralf Trønnes
360a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
361a61732e8SJavier Martinez Canillas
36243531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
36343531eddSKevin Tang
36476c56a5aSDeepak Rawatconfig DRM_HYPERV
36576c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
36676c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
36776c56a5aSDeepak Rawat	select DRM_KMS_HELPER
36876c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
36976c56a5aSDeepak Rawat	help
37076c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
37176c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
37276c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
37376c56a5aSDeepak Rawat	 that DRM driver is used by default.
37476c56a5aSDeepak Rawat
37576c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
37676c56a5aSDeepak Rawat
377d92d9c3aSDavid Herrmann# Keep legacy drivers last
378d92d9c3aSDavid Herrmann
379d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
380d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
3817e53c284SBenjamin Gaignard	depends on DRM && MMU
382d92d9c3aSDavid Herrmann	help
383d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
384d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
385d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
386d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
387d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
388d92d9c3aSDavid Herrmann
389d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
390d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
391d92d9c3aSDavid Herrmann
392d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
393d92d9c3aSDavid Herrmann
394d92d9c3aSDavid Herrmannif DRM_LEGACY
395d92d9c3aSDavid Herrmann
396d92d9c3aSDavid Herrmannconfig DRM_TDFX
397d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
398d92d9c3aSDavid Herrmann	depends on DRM && PCI
399d92d9c3aSDavid Herrmann	help
400d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
401d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
402d92d9c3aSDavid Herrmann
403d92d9c3aSDavid Herrmannconfig DRM_R128
404d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
405d92d9c3aSDavid Herrmann	depends on DRM && PCI
406d92d9c3aSDavid Herrmann	select FW_LOADER
407d92d9c3aSDavid Herrmann	help
408d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
409d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
410d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
411d92d9c3aSDavid Herrmann
412d92d9c3aSDavid Herrmannconfig DRM_I810
413d92d9c3aSDavid Herrmann	tristate "Intel I810"
414f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
415dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
416d92d9c3aSDavid Herrmann	help
417d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
418d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
419d92d9c3aSDavid Herrmann	  for this driver to work.
420d92d9c3aSDavid Herrmann
421d92d9c3aSDavid Herrmannconfig DRM_MGA
422d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
423d92d9c3aSDavid Herrmann	depends on DRM && PCI
424d92d9c3aSDavid Herrmann	select FW_LOADER
425d92d9c3aSDavid Herrmann	help
426d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
427d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
428d92d9c3aSDavid Herrmann	  support is required for this driver to work.
429d92d9c3aSDavid Herrmann
430d92d9c3aSDavid Herrmannconfig DRM_SIS
431d92d9c3aSDavid Herrmann	tristate "SiS video cards"
432d92d9c3aSDavid Herrmann	depends on DRM && AGP
433d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
434d92d9c3aSDavid Herrmann	help
435d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
436d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
437d92d9c3aSDavid Herrmann	  support is required for this driver to work.
438d92d9c3aSDavid Herrmann
439d92d9c3aSDavid Herrmannconfig DRM_VIA
440d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
441d92d9c3aSDavid Herrmann	depends on DRM && PCI
442d92d9c3aSDavid Herrmann	help
443d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
444d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
445d92d9c3aSDavid Herrmann
446d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
447d92d9c3aSDavid Herrmann	tristate "Savage video cards"
448d92d9c3aSDavid Herrmann	depends on DRM && PCI
449d92d9c3aSDavid Herrmann	help
450d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
451d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
452d92d9c3aSDavid Herrmann
453d92d9c3aSDavid Herrmannendif # DRM_LEGACY
454a33d42ddSChris Wilson
4559b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
4569b6c80beSRandy Dunlap	bool
4579b6c80beSRandy Dunlap
458341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
459341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
460341a0ffcSHans de Goede	tristate
461341a0ffcSHans de Goede
462a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
463a33d42ddSChris Wilson	bool
464a33d42ddSChris Wilson	default n
465a1a98689SHans de Goede
466a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
467a1a98689SHans de Goede	bool
468a1a98689SHans de Goede	default n
469