xref: /linux/drivers/gpu/drm/Kconfig (revision efeeaefe9be56e8ae5e5b4e9ff6d2275ec977ec5)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c0e09200SDave Airlie#
3c0e09200SDave Airlie# Drm device configuration
4c0e09200SDave Airlie#
5c0e09200SDave Airlie# This driver provides support for the
6c0e09200SDave Airlie# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
7c0e09200SDave Airlie#
8c0e09200SDave Airliemenuconfig DRM
9c0e09200SDave Airlie	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
1062a0d98aSBenjamin Gaignard	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
11e9aeeba2SJavier Martinez Canillas	select DRM_NOMODESET
128d70f395SHans de Goede	select DRM_PANEL_ORIENTATION_QUIRKS
1310a85120SThierry Reding	select HDMI
14eaf99c74SChris Wilson	select FB_CMDLINE
1557a6297eSDave Airlie	select I2C
1657a6297eSDave Airlie	select I2C_ALGOBIT
173248877eSDave Airlie	select DMA_SHARED_BUFFER
1896260142SGustavo Padovan	select SYNC_FILE
19bfe3911aSChris Wilson# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
20bfe3911aSChris Wilson# device and dmabuf fd. Let's make sure that is available for our userspace.
21bfe3911aSChris Wilson	select KCMP
22c0e09200SDave Airlie	help
23c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
24c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
25c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
26c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
27c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
28c0e09200SDave Airlie	  details.  You should also select and configure AGP
29dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
30c0e09200SDave Airlie
31174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
32174102f4SNoralf Trønnes	tristate
33174102f4SNoralf Trønnes	depends on DRM
34174102f4SNoralf Trønnes
35068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
36068a0023SAndrzej Hajda	bool
37068a0023SAndrzej Hajda	depends on DRM
38068a0023SAndrzej Hajda
395705670dSChris Wilsonconfig DRM_DEBUG_MM
405705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
415705670dSChris Wilson	default n
42cd456f8dSChris Wilson	depends on DRM=y
434b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
445705670dSChris Wilson	select STACKDEPOT
455705670dSChris Wilson	help
465705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
475705670dSChris Wilson	  shutdown.
485705670dSChris Wilson
495705670dSChris Wilson	  Recommended for driver developers only.
505705670dSChris Wilson
515705670dSChris Wilson	  If in doubt, say "N".
525705670dSChris Wilson
5334b13e5eSMaarten Lankhorstconfig DRM_DEBUG_SELFTEST
5434b13e5eSMaarten Lankhorst	tristate "kselftests for DRM"
5550f0033dSChris Wilson	depends on DRM
5650f0033dSChris Wilson	depends on DEBUG_KERNEL
5750f0033dSChris Wilson	select PRIME_NUMBERS
581e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
591e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
6050f0033dSChris Wilson	select DRM_LIB_RANDOM
617420e049SMaarten Lankhorst	select DRM_KMS_HELPER
623d515ba9SArunpravin	select DRM_BUDDY
636349120dSChris Wilson	select DRM_EXPORT_FOR_TESTS if m
6450f0033dSChris Wilson	default n
6550f0033dSChris Wilson	help
6634b13e5eSMaarten Lankhorst	  This option provides kernel modules that can be used to run
6734b13e5eSMaarten Lankhorst	  various selftests on parts of the DRM api. This option is not
6850f0033dSChris Wilson	  useful for distributions or general kernels, but only for kernel
6950f0033dSChris Wilson	  developers working on DRM and associated drivers.
7050f0033dSChris Wilson
7150f0033dSChris Wilson	  If in doubt, say "N".
7250f0033dSChris Wilson
736fcefd56SDave Airlieconfig DRM_KMS_HELPER
7413a8195bSDave Airlie	tristate
7513a8195bSDave Airlie	depends on DRM
7692b6f89fSDaniel Vetter	help
7792b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
7892b6f89fSDaniel Vetter
7912a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
8012a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
81d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
8212a280c7SLyude Paul        select STACKDEPOT
8312a280c7SLyude Paul        depends on DRM_KMS_HELPER
8412a280c7SLyude Paul        depends on DEBUG_KERNEL
8512a280c7SLyude Paul        depends on EXPERT
8612a280c7SLyude Paul        help
8712a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
8812a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
8912a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
9012a280c7SLyude Paul
9112a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
9212a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
9312a280c7SLyude Paul
94cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
95cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
96cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
97cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
98cd06ab2fSJani Nikula	depends on EXPERT
99cd06ab2fSJani Nikula	select STACKDEPOT
100cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
101cd06ab2fSJani Nikula	help
102cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
103cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
104cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
105cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
106cd06ab2fSJani Nikula
107cd06ab2fSJani Nikula	  If in doubt, say "N".
108cd06ab2fSJani Nikula
109a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
110a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
1119d6366e7SArnd Bergmann	depends on DRM_KMS_HELPER
1129d6366e7SArnd Bergmann	depends on FB=y || FB=DRM_KMS_HELPER
11391185d55SThomas Zimmermann	select FB_CFB_FILLRECT
11491185d55SThomas Zimmermann	select FB_CFB_COPYAREA
11591185d55SThomas Zimmermann	select FB_CFB_IMAGEBLIT
11691185d55SThomas Zimmermann	select FB_DEFERRED_IO
11791185d55SThomas Zimmermann	select FB_SYS_FOPS
11891185d55SThomas Zimmermann	select FB_SYS_FILLRECT
11991185d55SThomas Zimmermann	select FB_SYS_COPYAREA
12091185d55SThomas Zimmermann	select FB_SYS_IMAGEBLIT
12191185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE if !EXPERT
12291185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
123a03fdcb1SArchit Taneja	default y
124a03fdcb1SArchit Taneja	help
125a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
126a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
127a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
128a03fdcb1SArchit Taneja
129a03fdcb1SArchit Taneja	  If in doubt, say "Y".
130a03fdcb1SArchit Taneja
1315f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
1325f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
1335f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
1345f152576SXinliang Liu	default 100
1355f152576SXinliang Liu	help
1365f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
1375f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
1385f152576SXinliang Liu	  triple buffering 300.
1395f152576SXinliang Liu
1404be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
1414be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
1424be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
1434be9bd10SNeil Armstrong	default n
1444be9bd10SNeil Armstrong	help
1454be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
1464be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
1474be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
1484be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
1494be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
1504be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
1514be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
1524be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
1534be9bd10SNeil Armstrong
1544be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
1554be9bd10SNeil Armstrong	  software vendor that requires this.
1564be9bd10SNeil Armstrong
1574be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
1584be9bd10SNeil Armstrong	  library vendor.
1594be9bd10SNeil Armstrong
160da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
161da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
16253fd40a9SJani Nikula	depends on DRM
163da0df92bSCarsten Emde	help
164da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
165da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
166da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
167da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
168da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
169da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
17072ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
171da0df92bSCarsten Emde
1721e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig"
1732c6d1fffSHans Verkuil
174ba4e7d97SThomas Hellstromconfig DRM_TTM
175771fe6b9SJerome Glisse	tristate
17662a0d98aSBenjamin Gaignard	depends on DRM && MMU
177ba4e7d97SThomas Hellstrom	help
178ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
179ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
180ba4e7d97SThomas Hellstrom	  uses it.
181ba4e7d97SThomas Hellstrom
1826387a3c4SArunpravinconfig DRM_BUDDY
1836387a3c4SArunpravin	tristate
1846387a3c4SArunpravin	depends on DRM
1856387a3c4SArunpravin	help
1866387a3c4SArunpravin	  A page based buddy allocator
1876387a3c4SArunpravin
18885438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
18985438a8dSThomas Zimmermann	tristate
19085438a8dSThomas Zimmermann	depends on DRM
19185438a8dSThomas Zimmermann	help
19285438a8dSThomas Zimmermann	  Helpers for VRAM memory management
19385438a8dSThomas Zimmermann
194ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
195ff540b76SGerd Hoffmann	tristate
196ff540b76SGerd Hoffmann	depends on DRM
197ff540b76SGerd Hoffmann	select DRM_TTM
198ff540b76SGerd Hoffmann	help
199ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
200ff540b76SGerd Hoffmann
201b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
2024b2b5e14SThomas Zimmermann	tristate
203e1c7e324SChristoph Hellwig	depends on DRM
204b9d47450SSascha Hauer	help
205b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
206b9d47450SSascha Hauer
2072194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
2084b2b5e14SThomas Zimmermann	tristate
2098b93d1d7SDaniel Vetter	depends on DRM && MMU
2102194a63aSNoralf Trønnes	help
2112194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
2122194a63aSNoralf Trønnes
2131b1f42d8SLucas Stachconfig DRM_SCHED
2141b1f42d8SLucas Stach	tristate
2151b1f42d8SLucas Stach	depends on DRM
2161b1f42d8SLucas Stach
2176504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
2186504d0d9SRob Clark
2198e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
2208e22d792SLiviu Dudau
221c0e09200SDave Airlieconfig DRM_RADEON
222c0e09200SDave Airlie	tristate "ATI Radeon"
223011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
224cba2afb6SChristian König	depends on AGP || !AGP
22570967ab9SBen Hutchings	select FW_LOADER
2261e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
2271e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
228a0cdc649SDave Airlie        select DRM_KMS_HELPER
229a0cdc649SDave Airlie        select DRM_TTM
23049a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
2315d9b7e2dSDave Airlie	select POWER_SUPPLY
23221a8122aSAlex Deucher	select HWMON
23314adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
2340aea5e4aSAlex Deucher	select INTERVAL_TREE
235c0e09200SDave Airlie	help
236c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
237c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
238c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
239c0e09200SDave Airlie
240c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
241c0e09200SDave Airlie
242f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
243f71d0187SDave Airlie
244d38ceaf9SAlex Deucherconfig DRM_AMDGPU
245d38ceaf9SAlex Deucher	tristate "AMD GPU"
246011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
247d38ceaf9SAlex Deucher	select FW_LOADER
2481e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
2494fc8cb47SThomas Zimmermann	select DRM_DISPLAY_HDMI_HELPER
2501e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
251d38ceaf9SAlex Deucher	select DRM_KMS_HELPER
2521b1f42d8SLucas Stach	select DRM_SCHED
253d38ceaf9SAlex Deucher	select DRM_TTM
25449a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
255d38ceaf9SAlex Deucher	select POWER_SUPPLY
256d38ceaf9SAlex Deucher	select HWMON
257d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
258d38ceaf9SAlex Deucher	select INTERVAL_TREE
259c9cad937SArunpravin Paneer Selvam	select DRM_BUDDY
260d38ceaf9SAlex Deucher	help
261d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
262d38ceaf9SAlex Deucher
263d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
264d38ceaf9SAlex Deucher
265d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
266a8fe58ceSMaruthi Bayyavarapu
267f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
268f3c93cbdSBen Skeggs
2694520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
27099486b8eSJosh Triplett
271ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
272ed794057SAnitha Chrisanthus
273502e95c6SZach Reiznerconfig DRM_VGEM
274502e95c6SZach Reizner	tristate "Virtual GEM provider"
27545d9c8ddSDaniel Vetter	depends on DRM && MMU
27645d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
277502e95c6SZach Reizner	help
278502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
279502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
280502e95c6SZach Reizner	  If M is selected the module will be called vgem.
281502e95c6SZach Reizner
2821c7c5fd9SHaneen Mohammedconfig DRM_VKMS
283c91b007eSRodrigo Siqueira	tristate "Virtual KMS (EXPERIMENTAL)"
28445d9c8ddSDaniel Vetter	depends on DRM && MMU
2855ba57babSArnd Bergmann	select DRM_KMS_HELPER
286488c888aSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
287f2a4a13aSzhong jiang	select CRC32
288c91b007eSRodrigo Siqueira	default n
2891c7c5fd9SHaneen Mohammed	help
290c91b007eSRodrigo Siqueira	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
291c91b007eSRodrigo Siqueira	  running GPU in a headless machines. Choose this option to get
292c91b007eSRodrigo Siqueira	  a VKMS.
293c91b007eSRodrigo Siqueira
2941c7c5fd9SHaneen Mohammed	  If M is selected the module will be called vkms.
295502e95c6SZach Reizner
2961c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
2975a7b74beSThomas Hellstrom
2982048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
2992048e328SMark Yao
3005a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
30191c75492SAlan Cox
30291c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
30391c75492SAlan Cox
3045320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
305312fec14SDave Airlie
306312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
307312fec14SDave Airlie
308414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
309f9aa76a8SDave Airlie
31096f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
31196f60e37SRussell King
3121a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3131a396789SBoris Brezillon
3144bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
3154bf8e196SLaurent Pinchart
31651c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
317d8f4a9edSThierry Reding
3189026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3199026e0d1SMaxime Ripard
3208bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
321ca18e142SDave Airlie
32216ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
323f64122c1SDave Airlie
324f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
325c8afe684SRob Clark
326dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
327dc5698e8SDave Airlie
328c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
329dee8268fSThierry Reding
330109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
331109eee2fSJianwei Wang
332dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
333aead40eaSThierry Reding
334b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
335b759012cSYannick Fertre
336aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
337f2cb3148SBenjamin Gaignard
338a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
339a33ee95fSThierry Reding
340f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
3414a488a7aSOded Gabbay
3426556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
343c8b75bcaSEric Anholt
34490b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
34590b86fccSPaul Cercueil
34657692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
34757692c94SEric Anholt
348c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
349a8c21a54SThe etnaviv authors
350a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
35151dacf20SCarlos Palminha
35223e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
353119f5173SCK Hu
354*efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig"
355*efeeaefeSPaul Kocialkowski
356119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
357d92d9c3aSDavid Herrmann
35845d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
35945d59d70SMarek Vasut
360bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
361bbbe775eSNeil Armstrong
362043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
363fa201ac2SNoralf Trønnes
364bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
365bed41005STom Cooksey
366179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
367179c02feSLinus Walleij
368c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
369c575b7eeSOleksandr Andrushchenko
370131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
371131abc56SHans de Goede
372a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
373a1d2a633SQiang Yu
374f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
375f3ba9122SRob Herring
3764f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
3774f2a8f58SJoel Stanley
3785fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
3795fc537bfSLinus Walleij
38032a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
38132a1795fSJyri Sarha
382d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
383d76271d2SHyun Kwon
38440e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
38540e1a70bSNoralf Trønnes
386a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
387a61732e8SJavier Martinez Canillas
38843531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
38943531eddSKevin Tang
39076c56a5aSDeepak Rawatconfig DRM_HYPERV
39176c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
39276c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
39376c56a5aSDeepak Rawat	select DRM_KMS_HELPER
39476c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
39576c56a5aSDeepak Rawat	help
39676c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
39776c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
39876c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
39976c56a5aSDeepak Rawat	 that DRM driver is used by default.
40076c56a5aSDeepak Rawat
40176c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
40276c56a5aSDeepak Rawat
403d92d9c3aSDavid Herrmann# Keep legacy drivers last
404d92d9c3aSDavid Herrmann
405d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
406d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
4077e53c284SBenjamin Gaignard	depends on DRM && MMU
408d92d9c3aSDavid Herrmann	help
409d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
410d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
411d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
412d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
413d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
414d92d9c3aSDavid Herrmann
415d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
416d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
417d92d9c3aSDavid Herrmann
418d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
419d92d9c3aSDavid Herrmann
420d92d9c3aSDavid Herrmannif DRM_LEGACY
421d92d9c3aSDavid Herrmann
422d92d9c3aSDavid Herrmannconfig DRM_TDFX
423d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
424d92d9c3aSDavid Herrmann	depends on DRM && PCI
425d92d9c3aSDavid Herrmann	help
426d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
427d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
428d92d9c3aSDavid Herrmann
429d92d9c3aSDavid Herrmannconfig DRM_R128
430d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
431d92d9c3aSDavid Herrmann	depends on DRM && PCI
432d92d9c3aSDavid Herrmann	select FW_LOADER
433d92d9c3aSDavid Herrmann	help
434d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
435d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
436d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
437d92d9c3aSDavid Herrmann
438d92d9c3aSDavid Herrmannconfig DRM_I810
439d92d9c3aSDavid Herrmann	tristate "Intel I810"
440f86cf719SSebastian Andrzej Siewior	# !PREEMPTION because of missing ioctl locking
441dc25ace6SThomas Gleixner	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
442d92d9c3aSDavid Herrmann	help
443d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
444d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
445d92d9c3aSDavid Herrmann	  for this driver to work.
446d92d9c3aSDavid Herrmann
447d92d9c3aSDavid Herrmannconfig DRM_MGA
448d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
449d92d9c3aSDavid Herrmann	depends on DRM && PCI
450d92d9c3aSDavid Herrmann	select FW_LOADER
451d92d9c3aSDavid Herrmann	help
452d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
453d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
454d92d9c3aSDavid Herrmann	  support is required for this driver to work.
455d92d9c3aSDavid Herrmann
456d92d9c3aSDavid Herrmannconfig DRM_SIS
457d92d9c3aSDavid Herrmann	tristate "SiS video cards"
458d92d9c3aSDavid Herrmann	depends on DRM && AGP
459d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
460d92d9c3aSDavid Herrmann	help
461d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
462d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
463d92d9c3aSDavid Herrmann	  support is required for this driver to work.
464d92d9c3aSDavid Herrmann
465d92d9c3aSDavid Herrmannconfig DRM_VIA
466d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
467d92d9c3aSDavid Herrmann	depends on DRM && PCI
468d92d9c3aSDavid Herrmann	help
469d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
470d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
471d92d9c3aSDavid Herrmann
472d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
473d92d9c3aSDavid Herrmann	tristate "Savage video cards"
474d92d9c3aSDavid Herrmann	depends on DRM && PCI
475d92d9c3aSDavid Herrmann	help
476d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
477d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
478d92d9c3aSDavid Herrmann
479d92d9c3aSDavid Herrmannendif # DRM_LEGACY
480a33d42ddSChris Wilson
4819b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
4829b6c80beSRandy Dunlap	bool
4839b6c80beSRandy Dunlap
484341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
485341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS
486341a0ffcSHans de Goede	tristate
487341a0ffcSHans de Goede
488e9aeeba2SJavier Martinez Canillas# Separate option because nomodeset parameter is global and expected built-in
489e9aeeba2SJavier Martinez Canillasconfig DRM_NOMODESET
490e9aeeba2SJavier Martinez Canillas	bool
491e9aeeba2SJavier Martinez Canillas	default n
492e9aeeba2SJavier Martinez Canillas
493a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
494a33d42ddSChris Wilson	bool
495a33d42ddSChris Wilson	default n
496a1a98689SHans de Goede
497a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
498a1a98689SHans de Goede	bool
499a1a98689SHans de Goede	default n
500