xref: /linux/drivers/gpu/drm/Kconfig (revision 9d6366e743f37d36ef69347924ead7bcc596076e)
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
21c0e09200SDave Airlie	help
22c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
23c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
24c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
25c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
26c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
27c0e09200SDave Airlie	  details.  You should also select and configure AGP
28dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
29c0e09200SDave Airlie
30174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
31174102f4SNoralf Trønnes	tristate
32174102f4SNoralf Trønnes	depends on DRM
33174102f4SNoralf Trønnes
34068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
35068a0023SAndrzej Hajda	bool
36068a0023SAndrzej Hajda	depends on DRM
37068a0023SAndrzej Hajda
38aeb33699SDouglas Andersonconfig DRM_DP_AUX_BUS
39aeb33699SDouglas Anderson	tristate
40aeb33699SDouglas Anderson	depends on DRM
41aeb33699SDouglas Anderson	depends on OF
42aeb33699SDouglas Anderson
43e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV
44e94cb37bSRafael Antognolli	bool "DRM DP AUX Interface"
45e94cb37bSRafael Antognolli	depends on DRM
46e94cb37bSRafael Antognolli	help
47e94cb37bSRafael Antognolli	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
48e94cb37bSRafael Antognolli	  read and write values to arbitrary DPCD registers on the DP aux
49e94cb37bSRafael Antognolli	  channel.
50e94cb37bSRafael Antognolli
515705670dSChris Wilsonconfig DRM_DEBUG_MM
525705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
535705670dSChris Wilson	default n
54cd456f8dSChris Wilson	depends on DRM=y
554b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
565705670dSChris Wilson	select STACKDEPOT
575705670dSChris Wilson	help
585705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
595705670dSChris Wilson	  shutdown.
605705670dSChris Wilson
615705670dSChris Wilson	  Recommended for driver developers only.
625705670dSChris Wilson
635705670dSChris Wilson	  If in doubt, say "N".
645705670dSChris Wilson
6534b13e5eSMaarten Lankhorstconfig DRM_DEBUG_SELFTEST
6634b13e5eSMaarten Lankhorst	tristate "kselftests for DRM"
6750f0033dSChris Wilson	depends on DRM
6850f0033dSChris Wilson	depends on DEBUG_KERNEL
6950f0033dSChris Wilson	select PRIME_NUMBERS
7050f0033dSChris Wilson	select DRM_LIB_RANDOM
717420e049SMaarten Lankhorst	select DRM_KMS_HELPER
726349120dSChris Wilson	select DRM_EXPORT_FOR_TESTS if m
7350f0033dSChris Wilson	default n
7450f0033dSChris Wilson	help
7534b13e5eSMaarten Lankhorst	  This option provides kernel modules that can be used to run
7634b13e5eSMaarten Lankhorst	  various selftests on parts of the DRM api. This option is not
7750f0033dSChris Wilson	  useful for distributions or general kernels, but only for kernel
7850f0033dSChris Wilson	  developers working on DRM and associated drivers.
7950f0033dSChris Wilson
8050f0033dSChris Wilson	  If in doubt, say "N".
8150f0033dSChris Wilson
826fcefd56SDave Airlieconfig DRM_KMS_HELPER
8313a8195bSDave Airlie	tristate
8413a8195bSDave Airlie	depends on DRM
8592b6f89fSDaniel Vetter	help
8692b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
8792b6f89fSDaniel Vetter
8812a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
8912a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
90d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
9112a280c7SLyude Paul        select STACKDEPOT
9212a280c7SLyude Paul        depends on DRM_KMS_HELPER
9312a280c7SLyude Paul        depends on DEBUG_KERNEL
9412a280c7SLyude Paul        depends on EXPERT
9512a280c7SLyude Paul        help
9612a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
9712a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
9812a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
9912a280c7SLyude Paul
10012a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
10112a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
10212a280c7SLyude Paul
103cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
104cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
105cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
106cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
107cd06ab2fSJani Nikula	depends on EXPERT
108cd06ab2fSJani Nikula	select STACKDEPOT
109cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
110cd06ab2fSJani Nikula	help
111cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
112cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
113cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
114cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
115cd06ab2fSJani Nikula
116cd06ab2fSJani Nikula	  If in doubt, say "N".
117cd06ab2fSJani Nikula
118a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
119a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
120*9d6366e7SArnd Bergmann	depends on DRM_KMS_HELPER
121*9d6366e7SArnd Bergmann	depends on FB=y || FB=DRM_KMS_HELPER
12291185d55SThomas Zimmermann	select FB_CFB_FILLRECT
12391185d55SThomas Zimmermann	select FB_CFB_COPYAREA
12491185d55SThomas Zimmermann	select FB_CFB_IMAGEBLIT
12591185d55SThomas Zimmermann	select FB_DEFERRED_IO
12691185d55SThomas Zimmermann	select FB_SYS_FOPS
12791185d55SThomas Zimmermann	select FB_SYS_FILLRECT
12891185d55SThomas Zimmermann	select FB_SYS_COPYAREA
12991185d55SThomas Zimmermann	select FB_SYS_IMAGEBLIT
13091185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE if !EXPERT
13191185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
132a03fdcb1SArchit Taneja	default y
133a03fdcb1SArchit Taneja	help
134a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
135a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
136a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
137a03fdcb1SArchit Taneja
138a03fdcb1SArchit Taneja	  If in doubt, say "Y".
139a03fdcb1SArchit Taneja
1405f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1415f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1425f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1435f152576SXinliang Liu	default 100
1445f152576SXinliang Liu	help
1455f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1465f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1475f152576SXinliang Liu	  triple buffering 300.
1485f152576SXinliang Liu
1494be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1504be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1514be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1524be9bd10SNeil Armstrong	default n
1534be9bd10SNeil Armstrong	help
1544be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1554be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1564be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1574be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1584be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1594be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1604be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1614be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1624be9bd10SNeil Armstrong
1634be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1644be9bd10SNeil Armstrong	  software vendor that requires this.
1654be9bd10SNeil Armstrong
1664be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1674be9bd10SNeil Armstrong	  library vendor.
1684be9bd10SNeil Armstrong
169da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
170da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
17153fd40a9SJani Nikula	depends on DRM
172da0df92bSCarsten Emde	help
173da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
174da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
175da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
176da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
177da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
178da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
17972ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
180da0df92bSCarsten Emde
1812c6d1fffSHans Verkuilconfig DRM_DP_CEC
1822c6d1fffSHans Verkuil	bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
183539bbf31SHans Verkuil	depends on DRM
1842c6d1fffSHans Verkuil	select CEC_CORE
1852c6d1fffSHans Verkuil	help
1862c6d1fffSHans Verkuil	  Choose this option if you want to enable HDMI CEC support for
1872c6d1fffSHans Verkuil	  DisplayPort/USB-C to HDMI adapters.
1882c6d1fffSHans Verkuil
1892c6d1fffSHans Verkuil	  Note: not all adapters support this feature, and even for those
1902c6d1fffSHans Verkuil	  that do support this they often do not hook up the CEC pin.
1912c6d1fffSHans Verkuil
192ba4e7d97SThomas Hellstromconfig DRM_TTM
193771fe6b9SJerome Glisse	tristate
19462a0d98aSBenjamin Gaignard	depends on DRM && MMU
195ba4e7d97SThomas Hellstrom	help
196ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
197ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
198ba4e7d97SThomas Hellstrom	  uses it.
199ba4e7d97SThomas Hellstrom
20085438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
20185438a8dSThomas Zimmermann	tristate
20285438a8dSThomas Zimmermann	depends on DRM
20385438a8dSThomas Zimmermann	help
20485438a8dSThomas Zimmermann	  Helpers for VRAM memory management
20585438a8dSThomas Zimmermann
206ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
207ff540b76SGerd Hoffmann	tristate
208ff540b76SGerd Hoffmann	depends on DRM
209ff540b76SGerd Hoffmann	select DRM_TTM
210ff540b76SGerd Hoffmann	help
211ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
212ff540b76SGerd Hoffmann
213b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
214b9d47450SSascha Hauer	bool
215e1c7e324SChristoph Hellwig	depends on DRM
216b9d47450SSascha Hauer	help
217b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
218b9d47450SSascha Hauer
2192e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER
2202e3b3c42SLars-Peter Clausen	bool
221e1c7e324SChristoph Hellwig	depends on DRM
2222e3b3c42SLars-Peter Clausen	select DRM_GEM_CMA_HELPER
2232e3b3c42SLars-Peter Clausen	help
2242e3b3c42SLars-Peter Clausen	  Choose this if you need the KMS CMA helper functions
2252e3b3c42SLars-Peter Clausen
2262194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2272194a63aSNoralf Trønnes	bool
2288b93d1d7SDaniel Vetter	depends on DRM && MMU
2292194a63aSNoralf Trønnes	help
2302194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2312194a63aSNoralf Trønnes
2321b1f42d8SLucas Stachconfig DRM_SCHED
2331b1f42d8SLucas Stach	tristate
2341b1f42d8SLucas Stach	depends on DRM
2351b1f42d8SLucas Stach
2366504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
2376504d0d9SRob Clark
2388e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
2398e22d792SLiviu Dudau
240c0e09200SDave Airlieconfig DRM_RADEON
241c0e09200SDave Airlie	tristate "ATI Radeon"
242011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
243cba2afb6SChristian König	depends on AGP || !AGP
24470967ab9SBen Hutchings	select FW_LOADER
245a0cdc649SDave Airlie        select DRM_KMS_HELPER
246a0cdc649SDave Airlie        select DRM_TTM
24749a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
2485d9b7e2dSDave Airlie	select POWER_SUPPLY
24921a8122aSAlex Deucher	select HWMON
25014adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
2510aea5e4aSAlex Deucher	select INTERVAL_TREE
252c0e09200SDave Airlie	help
253c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
254c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
255c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
256c0e09200SDave Airlie
257c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
258c0e09200SDave Airlie
259f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
260f71d0187SDave Airlie
261d38ceaf9SAlex Deucherconfig DRM_AMDGPU
262d38ceaf9SAlex Deucher	tristate "AMD GPU"
263011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
264d38ceaf9SAlex Deucher	select FW_LOADER
265d38ceaf9SAlex Deucher	select DRM_KMS_HELPER
2661b1f42d8SLucas Stach	select DRM_SCHED
267d38ceaf9SAlex Deucher	select DRM_TTM
26849a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
269d38ceaf9SAlex Deucher	select POWER_SUPPLY
270d38ceaf9SAlex Deucher	select HWMON
271d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
272d38ceaf9SAlex Deucher	select INTERVAL_TREE
273d38ceaf9SAlex Deucher	help
274d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
275d38ceaf9SAlex Deucher
276d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
277d38ceaf9SAlex Deucher
278d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
279a8fe58ceSMaruthi Bayyavarapu
280f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
281f3c93cbdSBen Skeggs
2824520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
28399486b8eSJosh Triplett
284ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
285ed794057SAnitha Chrisanthus
286502e95c6SZach Reiznerconfig DRM_VGEM
287502e95c6SZach Reizner	tristate "Virtual GEM provider"
28845d9c8ddSDaniel Vetter	depends on DRM && MMU
28945d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
290502e95c6SZach Reizner	help
291502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
292502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
293502e95c6SZach Reizner	  If M is selected the module will be called vgem.
294502e95c6SZach Reizner
2951c7c5fd9SHaneen Mohammedconfig DRM_VKMS
296c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
29745d9c8ddSDaniel Vetter	depends on DRM && MMU
2985ba57babSArnd Bergmann	select DRM_KMS_HELPER
299488c888aSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
300f2a4a13aSzhong jiang	select CRC32
301c91b007eSRodrigo Siqueira	default n
3021c7c5fd9SHaneen Mohammed	help
303c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
304c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
305c91b007eSRodrigo Siqueira	  a VKMS.
306c91b007eSRodrigo Siqueira
3071c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
308502e95c6SZach Reizner
3091c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3105a7b74beSThomas Hellstrom
3112048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3122048e328SMark Yao
3135a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
31491c75492SAlan Cox
31591c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
31691c75492SAlan Cox
3175320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
318312fec14SDave Airlie
319312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
320312fec14SDave Airlie
321414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
322f9aa76a8SDave Airlie
32396f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
32496f60e37SRussell King
3251a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3261a396789SBoris Brezillon
3274bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
3284bf8e196SLaurent Pinchart
32951c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
330d8f4a9edSThierry Reding
3319026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3329026e0d1SMaxime Ripard
3338bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
334ca18e142SDave Airlie
33516ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
336f64122c1SDave Airlie
337f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
338c8afe684SRob Clark
339dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
340dc5698e8SDave Airlie
341c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
342dee8268fSThierry Reding
343109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
344109eee2fSJianwei Wang
345dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
346aead40eaSThierry Reding
347b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
348b759012cSYannick Fertre
349aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
350f2cb3148SBenjamin Gaignard
351a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
352a33ee95fSThierry Reding
353f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3544a488a7aSOded Gabbay
3556556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
356c8b75bcaSEric Anholt
35790b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
35890b86fccSPaul Cercueil
35957692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
36057692c94SEric Anholt
361c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
362a8c21a54SThe etnaviv authors
363a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
36451dacf20SCarlos Palminha
36523e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
366119f5173SCK Hu
367119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
368d92d9c3aSDavid Herrmann
36945d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
37045d59d70SMarek Vasut
371bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
372bbbe775eSNeil Armstrong
373043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
374fa201ac2SNoralf Trønnes
375bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
376bed41005STom Cooksey
377179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
378179c02feSLinus Walleij
379c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
380c575b7eeSOleksandr Andrushchenko
381131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
382131abc56SHans de Goede
383a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
384a1d2a633SQiang Yu
385f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
386f3ba9122SRob Herring
3874f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
3884f2a8f58SJoel Stanley
3895fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
3905fc537bfSLinus Walleij
39132a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
39232a1795fSJyri Sarha
393d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
394d76271d2SHyun Kwon
39540e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
39640e1a70bSNoralf Trønnes
39776c56a5aSDeepak Rawatconfig DRM_HYPERV
39876c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
39976c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
40076c56a5aSDeepak Rawat	select DRM_KMS_HELPER
40176c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
40276c56a5aSDeepak Rawat	help
40376c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
40476c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
40576c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
40676c56a5aSDeepak Rawat	 that DRM driver is used by default.
40776c56a5aSDeepak Rawat
40876c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
40976c56a5aSDeepak Rawat
410d92d9c3aSDavid Herrmann# Keep legacy drivers last
411d92d9c3aSDavid Herrmann
412d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
413d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
4147e53c284SBenjamin Gaignard	depends on DRM && MMU
415d92d9c3aSDavid Herrmann	help
416d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
417d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
418d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
419d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
420d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
421d92d9c3aSDavid Herrmann
422d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
423d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
424d92d9c3aSDavid Herrmann
425d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
426d92d9c3aSDavid Herrmann
427d92d9c3aSDavid Herrmannif DRM_LEGACY
428d92d9c3aSDavid Herrmann
429d92d9c3aSDavid Herrmannconfig DRM_TDFX
430d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
431d92d9c3aSDavid Herrmann	depends on DRM && PCI
432d92d9c3aSDavid Herrmann	help
433d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
434d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
435d92d9c3aSDavid Herrmann
436d92d9c3aSDavid Herrmannconfig DRM_R128
437d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
438d92d9c3aSDavid Herrmann	depends on DRM && PCI
439d92d9c3aSDavid Herrmann	select FW_LOADER
440d92d9c3aSDavid Herrmann	help
441d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
442d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
443d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
444d92d9c3aSDavid Herrmann
445d92d9c3aSDavid Herrmannconfig DRM_I810
446d92d9c3aSDavid Herrmann	tristate "Intel I810"
447f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
448dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
449d92d9c3aSDavid Herrmann	help
450d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
451d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
452d92d9c3aSDavid Herrmann	  for this driver to work.
453d92d9c3aSDavid Herrmann
454d92d9c3aSDavid Herrmannconfig DRM_MGA
455d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
456d92d9c3aSDavid Herrmann	depends on DRM && PCI
457d92d9c3aSDavid Herrmann	select FW_LOADER
458d92d9c3aSDavid Herrmann	help
459d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
460d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
461d92d9c3aSDavid Herrmann	  support is required for this driver to work.
462d92d9c3aSDavid Herrmann
463d92d9c3aSDavid Herrmannconfig DRM_SIS
464d92d9c3aSDavid Herrmann	tristate "SiS video cards"
465d92d9c3aSDavid Herrmann	depends on DRM && AGP
466d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
467d92d9c3aSDavid Herrmann	help
468d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
469d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
470d92d9c3aSDavid Herrmann	  support is required for this driver to work.
471d92d9c3aSDavid Herrmann
472d92d9c3aSDavid Herrmannconfig DRM_VIA
473d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
474d92d9c3aSDavid Herrmann	depends on DRM && PCI
475d92d9c3aSDavid Herrmann	help
476d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
477d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
478d92d9c3aSDavid Herrmann
479d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
480d92d9c3aSDavid Herrmann	tristate "Savage video cards"
481d92d9c3aSDavid Herrmann	depends on DRM && PCI
482d92d9c3aSDavid Herrmann	help
483d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
484d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
485d92d9c3aSDavid Herrmann
486d92d9c3aSDavid Herrmannendif # DRM_LEGACY
487a33d42ddSChris Wilson
4889b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
4899b6c80beSRandy Dunlap	bool
4909b6c80beSRandy Dunlap
491341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
492341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
493341a0ffcSHans de Goede	tristate
494341a0ffcSHans de Goede
495a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
496a33d42ddSChris Wilson	bool
497a33d42ddSChris Wilson	default n
498