xref: /linux/drivers/gpu/drm/Kconfig (revision d76271d22694e874ed70791702db9252ffe96a4c)
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
18c0e09200SDave Airlie	help
19c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
20c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
21c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
22c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
23c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
24c0e09200SDave Airlie	  details.  You should also select and configure AGP
25dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
26c0e09200SDave Airlie
27174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
28174102f4SNoralf Trønnes	tristate
29174102f4SNoralf Trønnes	depends on DRM
30174102f4SNoralf Trønnes
31068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
32068a0023SAndrzej Hajda	bool
33068a0023SAndrzej Hajda	depends on DRM
34068a0023SAndrzej Hajda
35e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV
36e94cb37bSRafael Antognolli	bool "DRM DP AUX Interface"
37e94cb37bSRafael Antognolli	depends on DRM
38e94cb37bSRafael Antognolli	help
39e94cb37bSRafael Antognolli	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
40e94cb37bSRafael Antognolli	  read and write values to arbitrary DPCD registers on the DP aux
41e94cb37bSRafael Antognolli	  channel.
42e94cb37bSRafael Antognolli
435705670dSChris Wilsonconfig DRM_DEBUG_MM
445705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
455705670dSChris Wilson	default n
46cd456f8dSChris Wilson	depends on DRM=y
474b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
485705670dSChris Wilson	select STACKDEPOT
495705670dSChris Wilson	help
505705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
515705670dSChris Wilson	  shutdown.
525705670dSChris Wilson
535705670dSChris Wilson	  Recommended for driver developers only.
545705670dSChris Wilson
555705670dSChris Wilson	  If in doubt, say "N".
565705670dSChris Wilson
5734b13e5eSMaarten Lankhorstconfig DRM_DEBUG_SELFTEST
5834b13e5eSMaarten Lankhorst	tristate "kselftests for DRM"
5950f0033dSChris Wilson	depends on DRM
6050f0033dSChris Wilson	depends on DEBUG_KERNEL
6150f0033dSChris Wilson	select PRIME_NUMBERS
6250f0033dSChris Wilson	select DRM_LIB_RANDOM
637420e049SMaarten Lankhorst	select DRM_KMS_HELPER
646349120dSChris Wilson	select DRM_EXPORT_FOR_TESTS if m
6550f0033dSChris Wilson	default n
6650f0033dSChris Wilson	help
6734b13e5eSMaarten Lankhorst	  This option provides kernel modules that can be used to run
6834b13e5eSMaarten Lankhorst	  various selftests on parts of the DRM api. This option is not
6950f0033dSChris Wilson	  useful for distributions or general kernels, but only for kernel
7050f0033dSChris Wilson	  developers working on DRM and associated drivers.
7150f0033dSChris Wilson
7250f0033dSChris Wilson	  If in doubt, say "N".
7350f0033dSChris Wilson
746fcefd56SDave Airlieconfig DRM_KMS_HELPER
7513a8195bSDave Airlie	tristate
7613a8195bSDave Airlie	depends on DRM
7792b6f89fSDaniel Vetter	help
7892b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
7992b6f89fSDaniel Vetter
8092b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER
8192b6f89fSDaniel Vetter	bool
8292b6f89fSDaniel Vetter	depends on DRM_KMS_HELPER
8313a8195bSDave Airlie	select FB
846a108a14SDavid Rientjes	select FRAMEBUFFER_CONSOLE if !EXPERT
85bf5192edSDave Airlie	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
86cbb1a82eSArchit Taneja	select FB_SYS_FOPS
87742547b7SArchit Taneja	select FB_SYS_FILLRECT
88742547b7SArchit Taneja	select FB_SYS_COPYAREA
89742547b7SArchit Taneja	select FB_SYS_IMAGEBLIT
90742547b7SArchit Taneja	select FB_CFB_FILLRECT
91742547b7SArchit Taneja	select FB_CFB_COPYAREA
92742547b7SArchit Taneja	select FB_CFB_IMAGEBLIT
93eaa434deSNoralf Trønnes	select FB_DEFERRED_IO
9413a8195bSDave Airlie	help
9592b6f89fSDaniel Vetter	  FBDEV helpers for KMS drivers.
9613a8195bSDave Airlie
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
112a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
113a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
114a03fdcb1SArchit Taneja	depends on DRM
115a03fdcb1SArchit Taneja	select DRM_KMS_HELPER
116a03fdcb1SArchit Taneja	select DRM_KMS_FB_HELPER
117a03fdcb1SArchit Taneja	default y
118a03fdcb1SArchit Taneja	help
119a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
120a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
121a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
122a03fdcb1SArchit Taneja
123a03fdcb1SArchit Taneja	  If in doubt, say "Y".
124a03fdcb1SArchit Taneja
1255f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1265f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1275f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1285f152576SXinliang Liu	default 100
1295f152576SXinliang Liu	help
1305f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1315f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1325f152576SXinliang Liu	  triple buffering 300.
1335f152576SXinliang Liu
1344be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1354be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1364be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1374be9bd10SNeil Armstrong	default n
1384be9bd10SNeil Armstrong	help
1394be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1404be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1414be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1424be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1434be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1444be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1454be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1464be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1474be9bd10SNeil Armstrong
1484be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1494be9bd10SNeil Armstrong	  software vendor that requires this.
1504be9bd10SNeil Armstrong
1514be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1524be9bd10SNeil Armstrong	  library vendor.
1534be9bd10SNeil Armstrong
154da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
155da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
15653fd40a9SJani Nikula	depends on DRM
157da0df92bSCarsten Emde	help
158da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
159da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
160da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
161da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
162da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
163da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
16472ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
165da0df92bSCarsten Emde
1662c6d1fffSHans Verkuilconfig DRM_DP_CEC
1672c6d1fffSHans Verkuil	bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
168539bbf31SHans Verkuil	depends on DRM
1692c6d1fffSHans Verkuil	select CEC_CORE
1702c6d1fffSHans Verkuil	help
1712c6d1fffSHans Verkuil	  Choose this option if you want to enable HDMI CEC support for
1722c6d1fffSHans Verkuil	  DisplayPort/USB-C to HDMI adapters.
1732c6d1fffSHans Verkuil
1742c6d1fffSHans Verkuil	  Note: not all adapters support this feature, and even for those
1752c6d1fffSHans Verkuil	  that do support this they often do not hook up the CEC pin.
1762c6d1fffSHans Verkuil
177ba4e7d97SThomas Hellstromconfig DRM_TTM
178771fe6b9SJerome Glisse	tristate
17962a0d98aSBenjamin Gaignard	depends on DRM && MMU
180ba4e7d97SThomas Hellstrom	help
181ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
182ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
183ba4e7d97SThomas Hellstrom	  uses it.
184ba4e7d97SThomas Hellstrom
185e2e96663SThomas Hellstromconfig DRM_TTM_DMA_PAGE_POOL
186e2e96663SThomas Hellstrom	bool
187e2e96663SThomas Hellstrom	depends on DRM_TTM && (SWIOTLB || INTEL_IOMMU)
188e2e96663SThomas Hellstrom	default y
189e2e96663SThomas Hellstrom	help
190e2e96663SThomas Hellstrom	  Choose this if you need the TTM dma page pool
191e2e96663SThomas Hellstrom
19285438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
19385438a8dSThomas Zimmermann	tristate
19485438a8dSThomas Zimmermann	depends on DRM
19585438a8dSThomas Zimmermann	help
19685438a8dSThomas Zimmermann	  Helpers for VRAM memory management
19785438a8dSThomas Zimmermann
198ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
199ff540b76SGerd Hoffmann	tristate
200ff540b76SGerd Hoffmann	depends on DRM
201ff540b76SGerd Hoffmann	select DRM_TTM
202ff540b76SGerd Hoffmann	help
203ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
204ff540b76SGerd Hoffmann
205b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
206b9d47450SSascha Hauer	bool
207e1c7e324SChristoph Hellwig	depends on DRM
208b9d47450SSascha Hauer	help
209b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
210b9d47450SSascha Hauer
2112e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER
2122e3b3c42SLars-Peter Clausen	bool
213e1c7e324SChristoph Hellwig	depends on DRM
2142e3b3c42SLars-Peter Clausen	select DRM_GEM_CMA_HELPER
2152e3b3c42SLars-Peter Clausen	help
2162e3b3c42SLars-Peter Clausen	  Choose this if you need the KMS CMA helper functions
2172e3b3c42SLars-Peter Clausen
2182194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2192194a63aSNoralf Trønnes	bool
2202194a63aSNoralf Trønnes	depends on DRM
2212194a63aSNoralf Trønnes	help
2222194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2232194a63aSNoralf Trønnes
22499c48e1eSBenjamin Gaignardconfig DRM_VM
22599c48e1eSBenjamin Gaignard	bool
2267e53c284SBenjamin Gaignard	depends on DRM && MMU
22799c48e1eSBenjamin Gaignard
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
23970967ab9SBen Hutchings	select FW_LOADER
240a0cdc649SDave Airlie        select DRM_KMS_HELPER
241a0cdc649SDave Airlie        select DRM_TTM
2425d9b7e2dSDave Airlie	select POWER_SUPPLY
24321a8122aSAlex Deucher	select HWMON
24414adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
2450aea5e4aSAlex Deucher	select INTERVAL_TREE
246c0e09200SDave Airlie	help
247c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
248c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
249c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
250c0e09200SDave Airlie
251c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
252c0e09200SDave Airlie
253f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
254f71d0187SDave Airlie
255d38ceaf9SAlex Deucherconfig DRM_AMDGPU
256d38ceaf9SAlex Deucher	tristate "AMD GPU"
257011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
258d38ceaf9SAlex Deucher	select FW_LOADER
259d38ceaf9SAlex Deucher	select DRM_KMS_HELPER
2601b1f42d8SLucas Stach	select DRM_SCHED
261d38ceaf9SAlex Deucher	select DRM_TTM
262d38ceaf9SAlex Deucher	select POWER_SUPPLY
263d38ceaf9SAlex Deucher	select HWMON
264d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
265d38ceaf9SAlex Deucher	select INTERVAL_TREE
266a2f14820SFelix Kuehling	select CHASH
267d38ceaf9SAlex Deucher	help
268d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
269d38ceaf9SAlex Deucher
270d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
271d38ceaf9SAlex Deucher
272d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
273a8fe58ceSMaruthi Bayyavarapu
274f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
275f3c93cbdSBen Skeggs
2764520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
27799486b8eSJosh Triplett
278502e95c6SZach Reiznerconfig DRM_VGEM
279502e95c6SZach Reizner	tristate "Virtual GEM provider"
280502e95c6SZach Reizner	depends on DRM
281502e95c6SZach Reizner	help
282502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
283502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
284502e95c6SZach Reizner	  If M is selected the module will be called vgem.
285502e95c6SZach Reizner
2861c7c5fd9SHaneen Mohammedconfig DRM_VKMS
287c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
2881c7c5fd9SHaneen Mohammed	depends on DRM
2895ba57babSArnd Bergmann	select DRM_KMS_HELPER
290f2a4a13aSzhong jiang	select CRC32
291c91b007eSRodrigo Siqueira	default n
2921c7c5fd9SHaneen Mohammed	help
293c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
294c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
295c91b007eSRodrigo Siqueira	  a VKMS.
296c91b007eSRodrigo Siqueira
2971c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
298502e95c6SZach Reizner
2991c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3005a7b74beSThomas Hellstrom
3012048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3022048e328SMark Yao
3035a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
30491c75492SAlan Cox
30591c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
30691c75492SAlan Cox
3075320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
308312fec14SDave Airlie
309312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
310312fec14SDave Airlie
311414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
312f9aa76a8SDave Airlie
31396f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
31496f60e37SRussell King
3151a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3161a396789SBoris Brezillon
3174bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
3184bf8e196SLaurent Pinchart
31951c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
320d8f4a9edSThierry Reding
3219026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3229026e0d1SMaxime Ripard
3238bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
324ca18e142SDave Airlie
32516ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
326f64122c1SDave Airlie
327f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
328c8afe684SRob Clark
3290a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig"
3300a6659bdSGerd Hoffmann
331dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
332dc5698e8SDave Airlie
333c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
334dee8268fSThierry Reding
335109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
336109eee2fSJianwei Wang
337dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
338aead40eaSThierry Reding
339b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
340b759012cSYannick Fertre
341aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
342f2cb3148SBenjamin Gaignard
343a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
344a33ee95fSThierry Reding
345f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3464a488a7aSOded Gabbay
3476556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
348c8b75bcaSEric Anholt
34990b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
35090b86fccSPaul Cercueil
35157692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
35257692c94SEric Anholt
353c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
354a8c21a54SThe etnaviv authors
355a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
35651dacf20SCarlos Palminha
35751dacf20SCarlos Palminhasource "drivers/gpu/drm/arc/Kconfig"
35823e7b2abSXinliang Liu
35923e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
360119f5173SCK Hu
361119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
362d92d9c3aSDavid Herrmann
3630a886f59SShawn Guosource "drivers/gpu/drm/zte/Kconfig"
3640a886f59SShawn Guo
36545d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
36645d59d70SMarek Vasut
367bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
368bbbe775eSNeil Armstrong
369043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
370fa201ac2SNoralf Trønnes
371bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
372bed41005STom Cooksey
373179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
374179c02feSLinus Walleij
375c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
376c575b7eeSOleksandr Andrushchenko
377131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
378131abc56SHans de Goede
379a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
380a1d2a633SQiang Yu
381f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
382f3ba9122SRob Herring
3834f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
3844f2a8f58SJoel Stanley
3855fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
3865fc537bfSLinus Walleij
38732a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
38832a1795fSJyri Sarha
389*d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
390*d76271d2SHyun Kwon
391d92d9c3aSDavid Herrmann# Keep legacy drivers last
392d92d9c3aSDavid Herrmann
393d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
394d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
3957e53c284SBenjamin Gaignard	depends on DRM && MMU
39699c48e1eSBenjamin Gaignard	select DRM_VM
397d92d9c3aSDavid Herrmann	help
398d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
399d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
400d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
401d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
402d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
403d92d9c3aSDavid Herrmann
404d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
405d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
406d92d9c3aSDavid Herrmann
407d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
408d92d9c3aSDavid Herrmann
409d92d9c3aSDavid Herrmannif DRM_LEGACY
410d92d9c3aSDavid Herrmann
411d92d9c3aSDavid Herrmannconfig DRM_TDFX
412d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
413d92d9c3aSDavid Herrmann	depends on DRM && PCI
414d92d9c3aSDavid Herrmann	help
415d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
416d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
417d92d9c3aSDavid Herrmann
418d92d9c3aSDavid Herrmannconfig DRM_R128
419d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
420d92d9c3aSDavid Herrmann	depends on DRM && PCI
421d92d9c3aSDavid Herrmann	select FW_LOADER
422d92d9c3aSDavid Herrmann	help
423d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
424d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
425d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
426d92d9c3aSDavid Herrmann
427d92d9c3aSDavid Herrmannconfig DRM_I810
428d92d9c3aSDavid Herrmann	tristate "Intel I810"
429f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
430dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
431d92d9c3aSDavid Herrmann	help
432d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
433d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
434d92d9c3aSDavid Herrmann	  for this driver to work.
435d92d9c3aSDavid Herrmann
436d92d9c3aSDavid Herrmannconfig DRM_MGA
437d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
438d92d9c3aSDavid Herrmann	depends on DRM && PCI
439d92d9c3aSDavid Herrmann	select FW_LOADER
440d92d9c3aSDavid Herrmann	help
441d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
442d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
443d92d9c3aSDavid Herrmann	  support is required for this driver to work.
444d92d9c3aSDavid Herrmann
445d92d9c3aSDavid Herrmannconfig DRM_SIS
446d92d9c3aSDavid Herrmann	tristate "SiS video cards"
447d92d9c3aSDavid Herrmann	depends on DRM && AGP
448d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
449d92d9c3aSDavid Herrmann	help
450d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
451d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
452d92d9c3aSDavid Herrmann	  support is required for this driver to work.
453d92d9c3aSDavid Herrmann
454d92d9c3aSDavid Herrmannconfig DRM_VIA
455d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
456d92d9c3aSDavid Herrmann	depends on DRM && PCI
457d92d9c3aSDavid Herrmann	help
458d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
459d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
460d92d9c3aSDavid Herrmann
461d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
462d92d9c3aSDavid Herrmann	tristate "Savage video cards"
463d92d9c3aSDavid Herrmann	depends on DRM && PCI
464d92d9c3aSDavid Herrmann	help
465d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
466d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
467d92d9c3aSDavid Herrmann
468d92d9c3aSDavid Herrmannendif # DRM_LEGACY
469a33d42ddSChris Wilson
4709b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
4719b6c80beSRandy Dunlap	bool
4729b6c80beSRandy Dunlap
473341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
474341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
475341a0ffcSHans de Goede	tristate
476341a0ffcSHans de Goede
477a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
478a33d42ddSChris Wilson	bool
479a33d42ddSChris Wilson	default n
480