xref: /linux/drivers/gpu/drm/Kconfig (revision 8058944f52262e8e8246af5f8408586b1ebfd2c6)
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
12c242f484SJavier Martinez Canillas	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
13c242f484SJavier Martinez Canillas	select FB_CORE if DRM_FBDEV_EMULATION
1410a85120SThierry Reding	select HDMI
1557a6297eSDave Airlie	select I2C
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
21a3b6792eSThomas Zimmermann	select VIDEO
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
3108f44136SMasahiro Yamadaif DRM
3208f44136SMasahiro Yamada
33174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
34174102f4SNoralf Trønnes	tristate
35174102f4SNoralf Trønnes	depends on DRM
36eb7de496SRandy Dunlap	select DRM_KMS_HELPER
37174102f4SNoralf Trønnes
38068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
39068a0023SAndrzej Hajda	bool
40068a0023SAndrzej Hajda	depends on DRM
41068a0023SAndrzej Hajda
425705670dSChris Wilsonconfig DRM_DEBUG_MM
435705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
445705670dSChris Wilson	default n
453a63826cSVille Syrjälä	depends on DRM
464b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
475705670dSChris Wilson	select STACKDEPOT
485705670dSChris Wilson	help
495705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
505705670dSChris Wilson	  shutdown.
515705670dSChris Wilson
525705670dSChris Wilson	  Recommended for driver developers only.
535705670dSChris Wilson
545705670dSChris Wilson	  If in doubt, say "N".
555705670dSChris Wilson
5684ec6728SJim Cromieconfig DRM_USE_DYNAMIC_DEBUG
5784ec6728SJim Cromie	bool "use dynamic debug to implement drm.debug"
58bb2ff6c2SVille Syrjälä	default n
59bb2ff6c2SVille Syrjälä	depends on BROKEN
6084ec6728SJim Cromie	depends on DRM
6184ec6728SJim Cromie	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
6284ec6728SJim Cromie	depends on JUMP_LABEL
6384ec6728SJim Cromie	help
6484ec6728SJim Cromie	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
6584ec6728SJim Cromie	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
6684ec6728SJim Cromie	  bytes per callsite, the .data costs can be substantial, and
6784ec6728SJim Cromie	  are therefore configurable.
6884ec6728SJim Cromie
69b85be042SMaxime Ripardconfig DRM_KUNIT_TEST_HELPERS
70b85be042SMaxime Ripard	tristate
71b85be042SMaxime Ripard	depends on DRM && KUNIT
72f1a78510SKarolina Stolarek	select DRM_KMS_HELPER
73b85be042SMaxime Ripard	help
74b85be042SMaxime Ripard	  KUnit Helpers for KMS drivers.
75b85be042SMaxime Ripard
768f456104SJosé Expósitoconfig DRM_KUNIT_TEST
778f456104SJosé Expósito	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
7805b8b6ddSGeert Uytterhoeven	depends on DRM && KUNIT && MMU
79f740f031SMarco Pagani	select DRM_BUDDY
807fe302aeSGeert Uytterhoeven	select DRM_DISPLAY_DP_HELPER
81eb66d34dSMaxime Ripard	select DRM_DISPLAY_HDMI_STATE_HELPER
8205b8b6ddSGeert Uytterhoeven	select DRM_DISPLAY_HELPER
839710631cSChristian König	select DRM_EXEC
84f740f031SMarco Pagani	select DRM_EXPORT_FOR_TESTS if m
8593032ae6SMarco Pagani	select DRM_GEM_SHMEM_HELPER
86f740f031SMarco Pagani	select DRM_KUNIT_TEST_HELPERS
87f740f031SMarco Pagani	select DRM_LIB_RANDOM
88f740f031SMarco Pagani	select PRIME_NUMBERS
898f456104SJosé Expósito	default KUNIT_ALL_TESTS
908f456104SJosé Expósito	help
918f456104SJosé Expósito	  This builds unit tests for DRM. This option is not useful for
928f456104SJosé Expósito	  distributions or general kernels, but only for kernel
938f456104SJosé Expósito	  developers working on DRM and associated drivers.
948f456104SJosé Expósito
958f456104SJosé Expósito	  For more information on KUnit and unit tests in general,
968f456104SJosé Expósito	  please refer to the KUnit documentation in
978f456104SJosé Expósito	  Documentation/dev-tools/kunit/.
988f456104SJosé Expósito
998f456104SJosé Expósito	  If in doubt, say "N".
1008f456104SJosé Expósito
1016fcefd56SDave Airlieconfig DRM_KMS_HELPER
10213a8195bSDave Airlie	tristate
10313a8195bSDave Airlie	depends on DRM
10492b6f89fSDaniel Vetter	help
10592b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
10692b6f89fSDaniel Vetter
107bf9fb17cSJocelyn Falempeconfig DRM_PANIC
108bf9fb17cSJocelyn Falempe	bool "Display a user-friendly message when a kernel panic occurs"
1093a9b77ceSJocelyn Falempe	depends on DRM
110bf9fb17cSJocelyn Falempe	select FONT_SUPPORT
111bf9fb17cSJocelyn Falempe	help
112bf9fb17cSJocelyn Falempe	  Enable a drm panic handler, which will display a user-friendly message
113bf9fb17cSJocelyn Falempe	  when a kernel panic occurs. It's useful when using a user-space
114bf9fb17cSJocelyn Falempe	  console instead of fbcon.
115bf9fb17cSJocelyn Falempe	  It will only work if your graphic driver supports this feature.
116bf9fb17cSJocelyn Falempe	  To support Hi-DPI Display, you can enable bigger fonts like
117bf9fb17cSJocelyn Falempe	  FONT_TER16x32
118bf9fb17cSJocelyn Falempe
119bf9fb17cSJocelyn Falempeconfig DRM_PANIC_FOREGROUND_COLOR
120bf9fb17cSJocelyn Falempe	hex "Drm panic screen foreground color, in RGB"
121bf9fb17cSJocelyn Falempe	depends on DRM_PANIC
122bf9fb17cSJocelyn Falempe	default 0xffffff
123bf9fb17cSJocelyn Falempe
124bf9fb17cSJocelyn Falempeconfig DRM_PANIC_BACKGROUND_COLOR
125bf9fb17cSJocelyn Falempe	hex "Drm panic screen background color, in RGB"
126bf9fb17cSJocelyn Falempe	depends on DRM_PANIC
127bf9fb17cSJocelyn Falempe	default 0x000000
128bf9fb17cSJocelyn Falempe
129813ca3aaSJocelyn Falempeconfig DRM_PANIC_DEBUG
130813ca3aaSJocelyn Falempe	bool "Add a debug fs entry to trigger drm_panic"
131813ca3aaSJocelyn Falempe	depends on DRM_PANIC && DEBUG_FS
132813ca3aaSJocelyn Falempe	help
133813ca3aaSJocelyn Falempe	  Add dri/[device]/drm_panic_plane_x in the kernel debugfs, to force the
134813ca3aaSJocelyn Falempe	  panic handler to write the panic message to this plane scanout buffer.
135813ca3aaSJocelyn Falempe	  This is unsafe and should not be enabled on a production build.
136813ca3aaSJocelyn Falempe	  If in doubt, say "N".
137813ca3aaSJocelyn Falempe
13854034bebSJocelyn Falempeconfig DRM_PANIC_SCREEN
139a3dfb1d1SGeert Uytterhoeven	string "Panic screen formatter"
14054034bebSJocelyn Falempe	default "user"
14154034bebSJocelyn Falempe	depends on DRM_PANIC
14254034bebSJocelyn Falempe	help
14354034bebSJocelyn Falempe	  This option enable to choose what will be displayed when a kernel
14454034bebSJocelyn Falempe	  panic occurs. You can choose between "user", a short message telling
14554034bebSJocelyn Falempe	  the user to reboot the system, or "kmsg" which will display the last
14654034bebSJocelyn Falempe	  lines of kmsg.
14754034bebSJocelyn Falempe	  This can also be overridden by drm.panic_screen=xxxx kernel parameter
14854034bebSJocelyn Falempe	  or by writing to /sys/module/drm/parameters/panic_screen sysfs entry
14954034bebSJocelyn Falempe	  Default is "user"
15054034bebSJocelyn Falempe
151cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE
152cb5164acSJocelyn Falempe	bool "Add a panic screen with a QR code"
153cb5164acSJocelyn Falempe	depends on DRM_PANIC && RUST
1542ad84af4SMiguel Ojeda	select ZLIB_DEFLATE
155cb5164acSJocelyn Falempe	help
156cb5164acSJocelyn Falempe	  This option adds a QR code generator, and a panic screen with a QR
157cb5164acSJocelyn Falempe	  code. The QR code will contain the last lines of kmsg and other debug
158cb5164acSJocelyn Falempe	  information. This should be easier for the user to report a kernel
159cb5164acSJocelyn Falempe	  panic, with all debug information available.
160cb5164acSJocelyn Falempe	  To use this panic screen, also set DRM_PANIC_SCREEN to "qr_code"
161cb5164acSJocelyn Falempe
162cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE_URL
163cb5164acSJocelyn Falempe	string "Base URL of the QR code in the panic screen"
164cb5164acSJocelyn Falempe	depends on DRM_PANIC_SCREEN_QR_CODE
165cb5164acSJocelyn Falempe	help
166cb5164acSJocelyn Falempe	  This option sets the base URL to report the kernel panic. If it's set
167cb5164acSJocelyn Falempe	  the QR code will contain the URL and the kmsg compressed with zlib as
168cb5164acSJocelyn Falempe	  a URL parameter. If it's empty, the QR code will contain the kmsg as
169cb5164acSJocelyn Falempe	  uncompressed text only.
170cb5164acSJocelyn Falempe	  There is a demo code in javascript, to decode and uncompress the kmsg
171cb5164acSJocelyn Falempe	  data from the URL parameter at https://github.com/kdj0c/panic_report
172cb5164acSJocelyn Falempe
173cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_VERSION
174cb5164acSJocelyn Falempe	int "Maximum version (size) of the QR code."
175cb5164acSJocelyn Falempe	depends on DRM_PANIC_SCREEN_QR_CODE
176cb5164acSJocelyn Falempe	default 40
177cb5164acSJocelyn Falempe	help
178cb5164acSJocelyn Falempe	  This option limits the version (or size) of the QR code. QR code
179cb5164acSJocelyn Falempe	  version ranges from Version 1 (21x21) to Version 40 (177x177).
180cb5164acSJocelyn Falempe	  Smaller QR code are easier to read, but will contain less debugging
181cb5164acSJocelyn Falempe	  data. Default is 40.
182cb5164acSJocelyn Falempe
18312a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
18412a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
185d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
18612a280c7SLyude Paul        select STACKDEPOT
18712a280c7SLyude Paul        depends on DRM_KMS_HELPER
18812a280c7SLyude Paul        depends on DEBUG_KERNEL
18912a280c7SLyude Paul        depends on EXPERT
19012a280c7SLyude Paul        help
19112a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
19212a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
19312a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
19412a280c7SLyude Paul
19512a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
19612a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
19712a280c7SLyude Paul
198cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
199cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
200cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
201cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
202cd06ab2fSJani Nikula	depends on EXPERT
203cd06ab2fSJani Nikula	select STACKDEPOT
204cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
205cd06ab2fSJani Nikula	help
206cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
207cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
208cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
209cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
210cd06ab2fSJani Nikula
211cd06ab2fSJani Nikula	  If in doubt, say "N".
212cd06ab2fSJani Nikula
213d07fdf92SThomas Zimmermannconfig DRM_CLIENT_SELECTION
214d07fdf92SThomas Zimmermann	bool
215d07fdf92SThomas Zimmermann	depends on DRM
216d07fdf92SThomas Zimmermann	select DRM_CLIENT_SETUP if DRM_FBDEV_EMULATION
217d07fdf92SThomas Zimmermann	help
218d07fdf92SThomas Zimmermann	  Drivers that support in-kernel DRM clients have to select this
219d07fdf92SThomas Zimmermann	  option.
220d07fdf92SThomas Zimmermann
221d07fdf92SThomas Zimmermannconfig DRM_CLIENT_SETUP
222d07fdf92SThomas Zimmermann	bool
223d07fdf92SThomas Zimmermann	depends on DRM_CLIENT_SELECTION
224d07fdf92SThomas Zimmermann
225a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
226a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
227c242f484SJavier Martinez Canillas	depends on DRM
22891185d55SThomas Zimmermann	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
229bb6c4507SArnd Bergmann	default FB
230a03fdcb1SArchit Taneja	help
231a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
232a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
233a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
234a03fdcb1SArchit Taneja
235a03fdcb1SArchit Taneja	  If in doubt, say "Y".
236a03fdcb1SArchit Taneja
2375f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC
2385f152576SXinliang Liu	int "Overallocation of the fbdev buffer"
2395f152576SXinliang Liu	depends on DRM_FBDEV_EMULATION
2405f152576SXinliang Liu	default 100
2415f152576SXinliang Liu	help
2425f152576SXinliang Liu	  Defines the fbdev buffer overallocation in percent. Default
2435f152576SXinliang Liu	  is 100. Typical values for double buffering will be 200,
2445f152576SXinliang Liu	  triple buffering 300.
2455f152576SXinliang Liu
2464be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM
2474be9bd10SNeil Armstrong	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
2484be9bd10SNeil Armstrong	depends on DRM_FBDEV_EMULATION && EXPERT
2494be9bd10SNeil Armstrong	default n
2504be9bd10SNeil Armstrong	help
2514be9bd10SNeil Armstrong	  In order to keep user-space compatibility, we want in certain
2524be9bd10SNeil Armstrong	  use-cases to keep leaking the fbdev physical address to the
2534be9bd10SNeil Armstrong	  user-space program handling the fbdev buffer.
2544be9bd10SNeil Armstrong	  This affects, not only, Amlogic, Allwinner or Rockchip devices
2554be9bd10SNeil Armstrong	  with ARM Mali GPUs using an userspace Blob.
2564be9bd10SNeil Armstrong	  This option is not supported by upstream developers and should be
2574be9bd10SNeil Armstrong	  removed as soon as possible and be considered as a broken and
2584be9bd10SNeil Armstrong	  legacy behaviour from a modern fbdev device driver.
2594be9bd10SNeil Armstrong
2604be9bd10SNeil Armstrong	  Please send any bug reports when using this to your proprietary
2614be9bd10SNeil Armstrong	  software vendor that requires this.
2624be9bd10SNeil Armstrong
2634be9bd10SNeil Armstrong	  If in doubt, say "N" or spread the word to your closed source
2644be9bd10SNeil Armstrong	  library vendor.
2654be9bd10SNeil Armstrong
266da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
267da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
26853fd40a9SJani Nikula	depends on DRM
269da0df92bSCarsten Emde	help
270da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
271da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
272da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
273da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
274da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
275da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
27672ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
277da0df92bSCarsten Emde
2781e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig"
2792c6d1fffSHans Verkuil
280ba4e7d97SThomas Hellstromconfig DRM_TTM
281771fe6b9SJerome Glisse	tristate
28262a0d98aSBenjamin Gaignard	depends on DRM && MMU
283ba4e7d97SThomas Hellstrom	help
284ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
285ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
286ba4e7d97SThomas Hellstrom	  uses it.
287ba4e7d97SThomas Hellstrom
288e3912d09SKarolina Stolarekconfig DRM_TTM_KUNIT_TEST
289e3912d09SKarolina Stolarek        tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
290e3912d09SKarolina Stolarek        default n
2919d3f8a72SChristian König        depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
292e3912d09SKarolina Stolarek        select DRM_TTM
29332d618e9SKarolina Stolarek        select DRM_BUDDY
294e3912d09SKarolina Stolarek        select DRM_EXPORT_FOR_TESTS if m
295e3912d09SKarolina Stolarek        select DRM_KUNIT_TEST_HELPERS
296e3912d09SKarolina Stolarek        default KUNIT_ALL_TESTS
297e3912d09SKarolina Stolarek        help
298e3912d09SKarolina Stolarek          Enables unit tests for TTM, a GPU memory manager subsystem used
299e3912d09SKarolina Stolarek          to manage memory buffers. This option is mostly useful for kernel
3009d3f8a72SChristian König          developers. It depends on (UML || COMPILE_TEST) since no other driver
3019d3f8a72SChristian König          which uses TTM can be loaded while running the tests.
302e3912d09SKarolina Stolarek
303e3912d09SKarolina Stolarek          If in doubt, say "N".
304e3912d09SKarolina Stolarek
30509593216SChristian Königconfig DRM_EXEC
30609593216SChristian König	tristate
30709593216SChristian König	depends on DRM
30809593216SChristian König	help
30909593216SChristian König	  Execution context for command submissions
31009593216SChristian König
311fe7acaa7SDanilo Krummrichconfig DRM_GPUVM
312fe7acaa7SDanilo Krummrich	tristate
313fe7acaa7SDanilo Krummrich	depends on DRM
314eeb1f825SDanilo Krummrich	select DRM_EXEC
315fe7acaa7SDanilo Krummrich	help
316fe7acaa7SDanilo Krummrich	  GPU-VM representation providing helpers to manage a GPUs virtual
317fe7acaa7SDanilo Krummrich	  address space
318fe7acaa7SDanilo Krummrich
3196387a3c4SArunpravinconfig DRM_BUDDY
3206387a3c4SArunpravin	tristate
3216387a3c4SArunpravin	depends on DRM
3226387a3c4SArunpravin	help
3236387a3c4SArunpravin	  A page based buddy allocator
3246387a3c4SArunpravin
32585438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
32685438a8dSThomas Zimmermann	tristate
32785438a8dSThomas Zimmermann	depends on DRM
32885438a8dSThomas Zimmermann	help
32985438a8dSThomas Zimmermann	  Helpers for VRAM memory management
33085438a8dSThomas Zimmermann
331ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
332ff540b76SGerd Hoffmann	tristate
333ff540b76SGerd Hoffmann	depends on DRM
334ff540b76SGerd Hoffmann	select DRM_TTM
335*8058944fSThomas Zimmermann	select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
336ff540b76SGerd Hoffmann	help
337ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
338ff540b76SGerd Hoffmann
3394a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER
3404b2b5e14SThomas Zimmermann	tristate
341e1c7e324SChristoph Hellwig	depends on DRM
34267c40c9bSThomas Zimmermann	select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
343b9d47450SSascha Hauer	help
3444a83c26aSDanilo Krummrich	  Choose this if you need the GEM DMA helper functions
345b9d47450SSascha Hauer
3462194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
3474b2b5e14SThomas Zimmermann	tristate
3488b93d1d7SDaniel Vetter	depends on DRM && MMU
349*8058944fSThomas Zimmermann	select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
3502194a63aSNoralf Trønnes	help
3512194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
3522194a63aSNoralf Trønnes
353849ee8a2SMaarten Lankhorstconfig DRM_SUBALLOC_HELPER
354849ee8a2SMaarten Lankhorst	tristate
355849ee8a2SMaarten Lankhorst	depends on DRM
356849ee8a2SMaarten Lankhorst
3571b1f42d8SLucas Stachconfig DRM_SCHED
3581b1f42d8SLucas Stach	tristate
3591b1f42d8SLucas Stach	depends on DRM
3601b1f42d8SLucas Stach
3616504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
3626504d0d9SRob Clark
3638e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
3648e22d792SLiviu Dudau
365f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
366f71d0187SDave Airlie
367d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
368a8fe58ceSMaruthi Bayyavarapu
369f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
370f3c93cbdSBen Skeggs
3714520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
37299486b8eSJosh Triplett
373dd08ebf6SMatthew Brostsource "drivers/gpu/drm/xe/Kconfig"
374dd08ebf6SMatthew Brost
375ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
376ed794057SAnitha Chrisanthus
377502e95c6SZach Reiznerconfig DRM_VGEM
378502e95c6SZach Reizner	tristate "Virtual GEM provider"
37945d9c8ddSDaniel Vetter	depends on DRM && MMU
38045d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
381502e95c6SZach Reizner	help
382502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
383502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
384502e95c6SZach Reizner	  If M is selected the module will be called vgem.
385502e95c6SZach Reizner
386ffcc67cdSHarry Wentlandsource "drivers/gpu/drm/vkms/Kconfig"
387502e95c6SZach Reizner
3881c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3895a7b74beSThomas Hellstrom
3902048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3912048e328SMark Yao
3925a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
39391c75492SAlan Cox
39491c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
39591c75492SAlan Cox
3965320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
397312fec14SDave Airlie
398312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
399312fec14SDave Airlie
400414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
401f9aa76a8SDave Airlie
40296f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
40396f60e37SRussell King
4041a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
4051a396789SBoris Brezillon
40611696c5eSBiju Dassource "drivers/gpu/drm/renesas/Kconfig"
407d8f4a9edSThierry Reding
4089026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
4099026e0d1SMaxime Ripard
4108bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
411ca18e142SDave Airlie
41216ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
413f64122c1SDave Airlie
414f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
415c8afe684SRob Clark
416dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
417dc5698e8SDave Airlie
418c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
419dee8268fSThierry Reding
420109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
421109eee2fSJianwei Wang
422dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
423aead40eaSThierry Reding
424b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
425b759012cSYannick Fertre
426aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
427f2cb3148SBenjamin Gaignard
428a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
429a33ee95fSThierry Reding
430f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
4314a488a7aSOded Gabbay
4326556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
433c8b75bcaSEric Anholt
43490b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
43590b86fccSPaul Cercueil
43657692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
43757692c94SEric Anholt
438c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
439a8c21a54SThe etnaviv authors
440f39db26cSSui Jingfengsource "drivers/gpu/drm/loongson/Kconfig"
441f39db26cSSui Jingfeng
442a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
44351dacf20SCarlos Palminha
44423e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
445119f5173SCK Hu
446efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig"
447efeeaefeSPaul Kocialkowski
448119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
449d92d9c3aSDavid Herrmann
45045d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
45145d59d70SMarek Vasut
452bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
453bbbe775eSNeil Armstrong
454043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
455fa201ac2SNoralf Trønnes
456bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
457bed41005STom Cooksey
458179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
459179c02feSLinus Walleij
460c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
461c575b7eeSOleksandr Andrushchenko
462131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
463131abc56SHans de Goede
464a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
465a1d2a633SQiang Yu
466f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
467f3ba9122SRob Herring
468d72f0490SBoris Brezillonsource "drivers/gpu/drm/panthor/Kconfig"
469d72f0490SBoris Brezillon
4704f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
4714f2a8f58SJoel Stanley
4725fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
4735fc537bfSLinus Walleij
47432a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
47532a1795fSJyri Sarha
476d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
477d76271d2SHyun Kwon
47840e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
47940e1a70bSNoralf Trønnes
480a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
481a61732e8SJavier Martinez Canillas
48243531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
48343531eddSKevin Tang
4844babef07SSarah Walkersource "drivers/gpu/drm/imagination/Kconfig"
4854babef07SSarah Walker
48676c56a5aSDeepak Rawatconfig DRM_HYPERV
48776c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
48876c56a5aSDeepak Rawat	depends on DRM && PCI && MMU && HYPERV
489663269ceSThomas Zimmermann	select DRM_CLIENT_SELECTION
49076c56a5aSDeepak Rawat	select DRM_KMS_HELPER
49176c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
49276c56a5aSDeepak Rawat	help
49376c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
49476c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
49576c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
49676c56a5aSDeepak Rawat	 that DRM driver is used by default.
49776c56a5aSDeepak Rawat
49876c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
49976c56a5aSDeepak Rawat
5009b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
5019b6c80beSRandy Dunlap	bool
5029b6c80beSRandy Dunlap
503a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
504a33d42ddSChris Wilson	bool
505a33d42ddSChris Wilson	default n
506a1a98689SHans de Goede
507a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
508a1a98689SHans de Goede	bool
509a1a98689SHans de Goede	default n
510f89632a9SJani Nikula
511f89632a9SJani Nikulaconfig DRM_WERROR
512f89632a9SJani Nikula	bool "Compile the drm subsystem with warnings as errors"
5134b2d588dSGeert Uytterhoeven	depends on DRM && EXPERT
5140c76053eSJani Nikula	depends on !WERROR
515f89632a9SJani Nikula	default n
516f89632a9SJani Nikula	help
517f89632a9SJani Nikula	  A kernel build should not cause any compiler warnings, and this
518f89632a9SJani Nikula	  enables the '-Werror' flag to enforce that rule in the drm subsystem.
519f89632a9SJani Nikula
520f89632a9SJani Nikula	  The drm subsystem enables more warnings than the kernel default, so
521f89632a9SJani Nikula	  this config option is disabled by default.
522f89632a9SJani Nikula
523f89632a9SJani Nikula	  If in doubt, say N.
52408f44136SMasahiro Yamada
52508f44136SMasahiro Yamadaendif
52608f44136SMasahiro Yamada
52708f44136SMasahiro Yamada# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
52808f44136SMasahiro Yamadaconfig DRM_PANEL_ORIENTATION_QUIRKS
52908f44136SMasahiro Yamada	tristate
530