xref: /linux/drivers/gpu/drm/Kconfig (revision 8fe743b5eba0abfbee39fe27b12acfb0df9b8a2d)
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
1357a6297eSDave Airlie	select I2C
143248877eSDave Airlie	select DMA_SHARED_BUFFER
1596260142SGustavo Padovan	select SYNC_FILE
16bfe3911aSChris Wilson# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
17bfe3911aSChris Wilson# device and dmabuf fd. Let's make sure that is available for our userspace.
18bfe3911aSChris Wilson	select KCMP
19a3b6792eSThomas Zimmermann	select VIDEO
20c0e09200SDave Airlie	help
21c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
22c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
23c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
24c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
25c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
26c0e09200SDave Airlie	  details.  You should also select and configure AGP
27dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
28c0e09200SDave Airlie
2908f44136SMasahiro Yamadaif DRM
3008f44136SMasahiro Yamada
31174102f4SNoralf Trønnesconfig DRM_MIPI_DBI
32174102f4SNoralf Trønnes	tristate
33174102f4SNoralf Trønnes	depends on DRM
34eb7de496SRandy Dunlap	select DRM_KMS_HELPER
35174102f4SNoralf Trønnes
36068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
37068a0023SAndrzej Hajda	bool
38068a0023SAndrzej Hajda	depends on DRM
39068a0023SAndrzej Hajda
405705670dSChris Wilsonconfig DRM_DEBUG_MM
415705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
425705670dSChris Wilson	default n
433a63826cSVille Syrjälä	depends on DRM
444b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
455705670dSChris Wilson	select STACKDEPOT
465705670dSChris Wilson	help
475705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
485705670dSChris Wilson	  shutdown.
495705670dSChris Wilson
505705670dSChris Wilson	  Recommended for driver developers only.
515705670dSChris Wilson
525705670dSChris Wilson	  If in doubt, say "N".
535705670dSChris Wilson
5484ec6728SJim Cromieconfig DRM_USE_DYNAMIC_DEBUG
5584ec6728SJim Cromie	bool "use dynamic debug to implement drm.debug"
56bb2ff6c2SVille Syrjälä	default n
57bb2ff6c2SVille Syrjälä	depends on BROKEN
5884ec6728SJim Cromie	depends on DRM
5984ec6728SJim Cromie	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
6084ec6728SJim Cromie	depends on JUMP_LABEL
6184ec6728SJim Cromie	help
6284ec6728SJim Cromie	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
6384ec6728SJim Cromie	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
6484ec6728SJim Cromie	  bytes per callsite, the .data costs can be substantial, and
6584ec6728SJim Cromie	  are therefore configurable.
6684ec6728SJim Cromie
67b85be042SMaxime Ripardconfig DRM_KUNIT_TEST_HELPERS
68b85be042SMaxime Ripard	tristate
69b85be042SMaxime Ripard	depends on DRM && KUNIT
70f1a78510SKarolina Stolarek	select DRM_KMS_HELPER
71b85be042SMaxime Ripard	help
72b85be042SMaxime Ripard	  KUnit Helpers for KMS drivers.
73b85be042SMaxime Ripard
748f456104SJosé Expósitoconfig DRM_KUNIT_TEST
758f456104SJosé Expósito	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
7605b8b6ddSGeert Uytterhoeven	depends on DRM && KUNIT && MMU
77f740f031SMarco Pagani	select DRM_BUDDY
787fe302aeSGeert Uytterhoeven	select DRM_DISPLAY_DP_HELPER
79eb66d34dSMaxime Ripard	select DRM_DISPLAY_HDMI_STATE_HELPER
8005b8b6ddSGeert Uytterhoeven	select DRM_DISPLAY_HELPER
819710631cSChristian König	select DRM_EXEC
82f740f031SMarco Pagani	select DRM_EXPORT_FOR_TESTS if m
8393032ae6SMarco Pagani	select DRM_GEM_SHMEM_HELPER
84f740f031SMarco Pagani	select DRM_KUNIT_TEST_HELPERS
85f740f031SMarco Pagani	select DRM_LIB_RANDOM
86f740f031SMarco Pagani	select PRIME_NUMBERS
878f456104SJosé Expósito	default KUNIT_ALL_TESTS
888f456104SJosé Expósito	help
898f456104SJosé Expósito	  This builds unit tests for DRM. This option is not useful for
908f456104SJosé Expósito	  distributions or general kernels, but only for kernel
918f456104SJosé Expósito	  developers working on DRM and associated drivers.
928f456104SJosé Expósito
938f456104SJosé Expósito	  For more information on KUnit and unit tests in general,
948f456104SJosé Expósito	  please refer to the KUnit documentation in
958f456104SJosé Expósito	  Documentation/dev-tools/kunit/.
968f456104SJosé Expósito
978f456104SJosé Expósito	  If in doubt, say "N".
988f456104SJosé Expósito
996fcefd56SDave Airlieconfig DRM_KMS_HELPER
10013a8195bSDave Airlie	tristate
10113a8195bSDave Airlie	depends on DRM
1022182e0f2SArnd Bergmann	select FB_CORE if DRM_FBDEV_EMULATION
10392b6f89fSDaniel Vetter	help
10492b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
10592b6f89fSDaniel Vetter
10631fa2c1cSJocelyn Falempeconfig DRM_DRAW
10731fa2c1cSJocelyn Falempe	bool
10831fa2c1cSJocelyn Falempe	depends on DRM
10931fa2c1cSJocelyn Falempe
110bf9fb17cSJocelyn Falempeconfig DRM_PANIC
111bf9fb17cSJocelyn Falempe	bool "Display a user-friendly message when a kernel panic occurs"
1123a9b77ceSJocelyn Falempe	depends on DRM
113bf9fb17cSJocelyn Falempe	select FONT_SUPPORT
11431fa2c1cSJocelyn Falempe	select DRM_DRAW
115bf9fb17cSJocelyn Falempe	help
116bf9fb17cSJocelyn Falempe	  Enable a drm panic handler, which will display a user-friendly message
117bf9fb17cSJocelyn Falempe	  when a kernel panic occurs. It's useful when using a user-space
118bf9fb17cSJocelyn Falempe	  console instead of fbcon.
119bf9fb17cSJocelyn Falempe	  It will only work if your graphic driver supports this feature.
120bf9fb17cSJocelyn Falempe	  To support Hi-DPI Display, you can enable bigger fonts like
121bf9fb17cSJocelyn Falempe	  FONT_TER16x32
122bf9fb17cSJocelyn Falempe
123bf9fb17cSJocelyn Falempeconfig DRM_PANIC_FOREGROUND_COLOR
124bf9fb17cSJocelyn Falempe	hex "Drm panic screen foreground color, in RGB"
125bf9fb17cSJocelyn Falempe	depends on DRM_PANIC
126bf9fb17cSJocelyn Falempe	default 0xffffff
127bf9fb17cSJocelyn Falempe
128bf9fb17cSJocelyn Falempeconfig DRM_PANIC_BACKGROUND_COLOR
129bf9fb17cSJocelyn Falempe	hex "Drm panic screen background color, in RGB"
130bf9fb17cSJocelyn Falempe	depends on DRM_PANIC
131bf9fb17cSJocelyn Falempe	default 0x000000
132bf9fb17cSJocelyn Falempe
133813ca3aaSJocelyn Falempeconfig DRM_PANIC_DEBUG
134813ca3aaSJocelyn Falempe	bool "Add a debug fs entry to trigger drm_panic"
135813ca3aaSJocelyn Falempe	depends on DRM_PANIC && DEBUG_FS
136813ca3aaSJocelyn Falempe	help
137813ca3aaSJocelyn Falempe	  Add dri/[device]/drm_panic_plane_x in the kernel debugfs, to force the
138813ca3aaSJocelyn Falempe	  panic handler to write the panic message to this plane scanout buffer.
139813ca3aaSJocelyn Falempe	  This is unsafe and should not be enabled on a production build.
140813ca3aaSJocelyn Falempe	  If in doubt, say "N".
141813ca3aaSJocelyn Falempe
14254034bebSJocelyn Falempeconfig DRM_PANIC_SCREEN
143a3dfb1d1SGeert Uytterhoeven	string "Panic screen formatter"
14454034bebSJocelyn Falempe	default "user"
14554034bebSJocelyn Falempe	depends on DRM_PANIC
14654034bebSJocelyn Falempe	help
14754034bebSJocelyn Falempe	  This option enable to choose what will be displayed when a kernel
14854034bebSJocelyn Falempe	  panic occurs. You can choose between "user", a short message telling
14954034bebSJocelyn Falempe	  the user to reboot the system, or "kmsg" which will display the last
15054034bebSJocelyn Falempe	  lines of kmsg.
15154034bebSJocelyn Falempe	  This can also be overridden by drm.panic_screen=xxxx kernel parameter
15254034bebSJocelyn Falempe	  or by writing to /sys/module/drm/parameters/panic_screen sysfs entry
15354034bebSJocelyn Falempe	  Default is "user"
15454034bebSJocelyn Falempe
155cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE
156cb5164acSJocelyn Falempe	bool "Add a panic screen with a QR code"
157cb5164acSJocelyn Falempe	depends on DRM_PANIC && RUST
1582ad84af4SMiguel Ojeda	select ZLIB_DEFLATE
159cb5164acSJocelyn Falempe	help
160cb5164acSJocelyn Falempe	  This option adds a QR code generator, and a panic screen with a QR
161cb5164acSJocelyn Falempe	  code. The QR code will contain the last lines of kmsg and other debug
162cb5164acSJocelyn Falempe	  information. This should be easier for the user to report a kernel
163cb5164acSJocelyn Falempe	  panic, with all debug information available.
164cb5164acSJocelyn Falempe	  To use this panic screen, also set DRM_PANIC_SCREEN to "qr_code"
165cb5164acSJocelyn Falempe
166cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE_URL
167cb5164acSJocelyn Falempe	string "Base URL of the QR code in the panic screen"
168cb5164acSJocelyn Falempe	depends on DRM_PANIC_SCREEN_QR_CODE
169cb5164acSJocelyn Falempe	help
170cb5164acSJocelyn Falempe	  This option sets the base URL to report the kernel panic. If it's set
171cb5164acSJocelyn Falempe	  the QR code will contain the URL and the kmsg compressed with zlib as
172cb5164acSJocelyn Falempe	  a URL parameter. If it's empty, the QR code will contain the kmsg as
173cb5164acSJocelyn Falempe	  uncompressed text only.
174cb5164acSJocelyn Falempe	  There is a demo code in javascript, to decode and uncompress the kmsg
175cb5164acSJocelyn Falempe	  data from the URL parameter at https://github.com/kdj0c/panic_report
176cb5164acSJocelyn Falempe
177cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_VERSION
178cb5164acSJocelyn Falempe	int "Maximum version (size) of the QR code."
179cb5164acSJocelyn Falempe	depends on DRM_PANIC_SCREEN_QR_CODE
180cb5164acSJocelyn Falempe	default 40
181cb5164acSJocelyn Falempe	help
182cb5164acSJocelyn Falempe	  This option limits the version (or size) of the QR code. QR code
183cb5164acSJocelyn Falempe	  version ranges from Version 1 (21x21) to Version 40 (177x177).
184cb5164acSJocelyn Falempe	  Smaller QR code are easier to read, but will contain less debugging
185cb5164acSJocelyn Falempe	  data. Default is 40.
186cb5164acSJocelyn Falempe
18712a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
18812a280c7SLyude Paul        bool "Enable refcount backtrace history in the DP MST helpers"
189d6d07ca1SGuenter Roeck	depends on STACKTRACE_SUPPORT
19012a280c7SLyude Paul        select STACKDEPOT
19112a280c7SLyude Paul        depends on DRM_KMS_HELPER
19212a280c7SLyude Paul        depends on DEBUG_KERNEL
19312a280c7SLyude Paul        depends on EXPERT
19412a280c7SLyude Paul        help
19512a280c7SLyude Paul          Enables debug tracing for topology refs in DRM's DP MST helpers. A
19612a280c7SLyude Paul          history of each topology reference/dereference will be printed to the
19712a280c7SLyude Paul          kernel log once a port or branch device's topology refcount reaches 0.
19812a280c7SLyude Paul
19912a280c7SLyude Paul          This has the potential to use a lot of memory and print some very
20012a280c7SLyude Paul          large kernel messages. If in doubt, say "N".
20112a280c7SLyude Paul
202cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK
203cd06ab2fSJani Nikula	bool "Enable backtrace history for lock contention"
204cd06ab2fSJani Nikula	depends on STACKTRACE_SUPPORT
205cd06ab2fSJani Nikula	depends on DEBUG_KERNEL
206cd06ab2fSJani Nikula	depends on EXPERT
207cd06ab2fSJani Nikula	select STACKDEPOT
208cd06ab2fSJani Nikula	default y if DEBUG_WW_MUTEX_SLOWPATH
209cd06ab2fSJani Nikula	help
210cd06ab2fSJani Nikula	  Enable debug tracing of failures to gracefully handle drm modeset lock
211cd06ab2fSJani Nikula	  contention. A history of each drm modeset lock path hitting -EDEADLK
212cd06ab2fSJani Nikula	  will be saved until gracefully handled, and the backtrace will be
213cd06ab2fSJani Nikula	  printed when attempting to lock a contended lock.
214cd06ab2fSJani Nikula
215cd06ab2fSJani Nikula	  If in doubt, say "N".
216cd06ab2fSJani Nikula
2171f828b4dSThomas Zimmermannconfig DRM_CLIENT
2181f828b4dSThomas Zimmermann	bool
2191f828b4dSThomas Zimmermann	depends on DRM
2201f828b4dSThomas Zimmermann	help
2211f828b4dSThomas Zimmermann	  Enables support for DRM clients. DRM drivers that need
2221f828b4dSThomas Zimmermann	  struct drm_client_dev and its interfaces should select this
2231f828b4dSThomas Zimmermann	  option. Drivers that support the default clients should
2241f828b4dSThomas Zimmermann	  select DRM_CLIENT_SELECTION instead.
2251f828b4dSThomas Zimmermann
226a49e7e81SThomas Zimmermannsource "drivers/gpu/drm/clients/Kconfig"
227dadd28d4SThomas Zimmermann
228da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
229da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
23053fd40a9SJani Nikula	depends on DRM
231da0df92bSCarsten Emde	help
232da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
233da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
234da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
235da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
236da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
237da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
23872ef5e52SMauro Carvalho Chehab	  EDID data are given in Documentation/admin-guide/edid.rst.
239da0df92bSCarsten Emde
2401e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig"
2412c6d1fffSHans Verkuil
242ba4e7d97SThomas Hellstromconfig DRM_TTM
243771fe6b9SJerome Glisse	tristate
24462a0d98aSBenjamin Gaignard	depends on DRM && MMU
245ba4e7d97SThomas Hellstrom	help
246ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
247ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
248ba4e7d97SThomas Hellstrom	  uses it.
249ba4e7d97SThomas Hellstrom
250e3912d09SKarolina Stolarekconfig DRM_TTM_KUNIT_TEST
251e3912d09SKarolina Stolarek        tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
252e3912d09SKarolina Stolarek        default n
2539d3f8a72SChristian König        depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
254e3912d09SKarolina Stolarek        select DRM_TTM
25532d618e9SKarolina Stolarek        select DRM_BUDDY
256e3912d09SKarolina Stolarek        select DRM_EXPORT_FOR_TESTS if m
257e3912d09SKarolina Stolarek        select DRM_KUNIT_TEST_HELPERS
258e3912d09SKarolina Stolarek        default KUNIT_ALL_TESTS
259e3912d09SKarolina Stolarek        help
260e3912d09SKarolina Stolarek          Enables unit tests for TTM, a GPU memory manager subsystem used
261e3912d09SKarolina Stolarek          to manage memory buffers. This option is mostly useful for kernel
2629d3f8a72SChristian König          developers. It depends on (UML || COMPILE_TEST) since no other driver
2639d3f8a72SChristian König          which uses TTM can be loaded while running the tests.
264e3912d09SKarolina Stolarek
265e3912d09SKarolina Stolarek          If in doubt, say "N".
266e3912d09SKarolina Stolarek
26709593216SChristian Königconfig DRM_EXEC
26809593216SChristian König	tristate
26909593216SChristian König	depends on DRM
27009593216SChristian König	help
27109593216SChristian König	  Execution context for command submissions
27209593216SChristian König
273fe7acaa7SDanilo Krummrichconfig DRM_GPUVM
274fe7acaa7SDanilo Krummrich	tristate
275fe7acaa7SDanilo Krummrich	depends on DRM
276eeb1f825SDanilo Krummrich	select DRM_EXEC
277fe7acaa7SDanilo Krummrich	help
278fe7acaa7SDanilo Krummrich	  GPU-VM representation providing helpers to manage a GPUs virtual
279fe7acaa7SDanilo Krummrich	  address space
280fe7acaa7SDanilo Krummrich
28199624bdfSMatthew Brostconfig DRM_GPUSVM
28299624bdfSMatthew Brost	tristate
28399624bdfSMatthew Brost	depends on DRM && DEVICE_PRIVATE
28499624bdfSMatthew Brost	select HMM_MIRROR
28599624bdfSMatthew Brost	select MMU_NOTIFIER
28699624bdfSMatthew Brost	help
28799624bdfSMatthew Brost	  GPU-SVM representation providing helpers to manage a GPUs shared
28899624bdfSMatthew Brost	  virtual memory
28999624bdfSMatthew Brost
2906387a3c4SArunpravinconfig DRM_BUDDY
2916387a3c4SArunpravin	tristate
2926387a3c4SArunpravin	depends on DRM
2936387a3c4SArunpravin	help
2946387a3c4SArunpravin	  A page based buddy allocator
2956387a3c4SArunpravin
29685438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER
29785438a8dSThomas Zimmermann	tristate
29885438a8dSThomas Zimmermann	depends on DRM
29985438a8dSThomas Zimmermann	help
30085438a8dSThomas Zimmermann	  Helpers for VRAM memory management
30185438a8dSThomas Zimmermann
302ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER
303ff540b76SGerd Hoffmann	tristate
304ff540b76SGerd Hoffmann	depends on DRM
305ff540b76SGerd Hoffmann	select DRM_TTM
306c40ca9efSArnd Bergmann	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
3078ce35bf0SThomas Zimmermann	select FB_CORE if DRM_FBDEV_EMULATION
3088058944fSThomas Zimmermann	select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
309ff540b76SGerd Hoffmann	help
310ff540b76SGerd Hoffmann	  Helpers for ttm-based gem objects
311ff540b76SGerd Hoffmann
3124a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER
3134b2b5e14SThomas Zimmermann	tristate
314e1c7e324SChristoph Hellwig	depends on DRM
315c40ca9efSArnd Bergmann	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
3168ce35bf0SThomas Zimmermann	select FB_CORE if DRM_FBDEV_EMULATION
31767c40c9bSThomas Zimmermann	select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
318b9d47450SSascha Hauer	help
3194a83c26aSDanilo Krummrich	  Choose this if you need the GEM DMA helper functions
320b9d47450SSascha Hauer
3212194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER
3224b2b5e14SThomas Zimmermann	tristate
3238b93d1d7SDaniel Vetter	depends on DRM && MMU
324c40ca9efSArnd Bergmann	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
325efb113fcSArnd Bergmann	select FB_CORE if DRM_FBDEV_EMULATION
3268058944fSThomas Zimmermann	select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
3272194a63aSNoralf Trønnes	help
3282194a63aSNoralf Trønnes	  Choose this if you need the GEM shmem helper functions
3292194a63aSNoralf Trønnes
330849ee8a2SMaarten Lankhorstconfig DRM_SUBALLOC_HELPER
331849ee8a2SMaarten Lankhorst	tristate
332849ee8a2SMaarten Lankhorst	depends on DRM
333849ee8a2SMaarten Lankhorst
3341b1f42d8SLucas Stachconfig DRM_SCHED
3351b1f42d8SLucas Stach	tristate
3361b1f42d8SLucas Stach	depends on DRM
3371b1f42d8SLucas Stach
3388e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
3398e22d792SLiviu Dudau
340f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
341f71d0187SDave Airlie
342d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
343a8fe58ceSMaruthi Bayyavarapu
344f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
345f3c93cbdSBen Skeggs
3464520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
34799486b8eSJosh Triplett
348dd08ebf6SMatthew Brostsource "drivers/gpu/drm/xe/Kconfig"
349dd08ebf6SMatthew Brost
350ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig"
351ed794057SAnitha Chrisanthus
352502e95c6SZach Reiznerconfig DRM_VGEM
353502e95c6SZach Reizner	tristate "Virtual GEM provider"
35445d9c8ddSDaniel Vetter	depends on DRM && MMU
35545d9c8ddSDaniel Vetter	select DRM_GEM_SHMEM_HELPER
356502e95c6SZach Reizner	help
357502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
358502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
359502e95c6SZach Reizner	  If M is selected the module will be called vgem.
360502e95c6SZach Reizner
361ffcc67cdSHarry Wentlandsource "drivers/gpu/drm/vkms/Kconfig"
362502e95c6SZach Reizner
3631c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
3645a7b74beSThomas Hellstrom
3652048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
3662048e328SMark Yao
3675a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
36891c75492SAlan Cox
36991c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
37091c75492SAlan Cox
3715320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
372312fec14SDave Airlie
373312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
374312fec14SDave Airlie
375414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
376f9aa76a8SDave Airlie
37796f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
37896f60e37SRussell King
3791a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
3801a396789SBoris Brezillon
38111696c5eSBiju Dassource "drivers/gpu/drm/renesas/Kconfig"
382d8f4a9edSThierry Reding
3839026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
3849026e0d1SMaxime Ripard
3858bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
386ca18e142SDave Airlie
38716ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
388f64122c1SDave Airlie
389f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
390c8afe684SRob Clark
391dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
392dc5698e8SDave Airlie
393c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
394dee8268fSThierry Reding
395109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
396109eee2fSJianwei Wang
397dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
398aead40eaSThierry Reding
399b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig"
400b759012cSYannick Fertre
401aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
402f2cb3148SBenjamin Gaignard
403a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
404a33ee95fSThierry Reding
405f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
4064a488a7aSOded Gabbay
4076556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
408c8b75bcaSEric Anholt
40990b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig"
41090b86fccSPaul Cercueil
41157692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig"
41257692c94SEric Anholt
413c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
414a8c21a54SThe etnaviv authors
415f39db26cSSui Jingfengsource "drivers/gpu/drm/loongson/Kconfig"
416f39db26cSSui Jingfeng
417a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
41851dacf20SCarlos Palminha
41923e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
420119f5173SCK Hu
421efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig"
422efeeaefeSPaul Kocialkowski
423119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
424d92d9c3aSDavid Herrmann
42545d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig"
42645d59d70SMarek Vasut
427bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
428bbbe775eSNeil Armstrong
429043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig"
430fa201ac2SNoralf Trønnes
431bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig"
432bed41005STom Cooksey
433179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig"
434179c02feSLinus Walleij
435c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig"
436c575b7eeSOleksandr Andrushchenko
437131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig"
438131abc56SHans de Goede
439a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig"
440a1d2a633SQiang Yu
441f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig"
442f3ba9122SRob Herring
443d72f0490SBoris Brezillonsource "drivers/gpu/drm/panthor/Kconfig"
444d72f0490SBoris Brezillon
4454f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig"
4464f2a8f58SJoel Stanley
4475fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig"
4485fc537bfSLinus Walleij
44932a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig"
45032a1795fSJyri Sarha
451332122ebSSasha Finkelsteinsource "drivers/gpu/drm/adp/Kconfig"
452332122ebSSasha Finkelstein
453d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig"
454d76271d2SHyun Kwon
45540e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig"
45640e1a70bSNoralf Trønnes
457a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig"
458a61732e8SJavier Martinez Canillas
45943531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig"
46043531eddSKevin Tang
4614babef07SSarah Walkersource "drivers/gpu/drm/imagination/Kconfig"
4624babef07SSarah Walker
46376c56a5aSDeepak Rawatconfig DRM_HYPERV
46476c56a5aSDeepak Rawat	tristate "DRM Support for Hyper-V synthetic video device"
465*8fe743b5SArnd Bergmann	depends on DRM && PCI && HYPERV
466663269ceSThomas Zimmermann	select DRM_CLIENT_SELECTION
46776c56a5aSDeepak Rawat	select DRM_KMS_HELPER
46876c56a5aSDeepak Rawat	select DRM_GEM_SHMEM_HELPER
46976c56a5aSDeepak Rawat	help
47076c56a5aSDeepak Rawat	 This is a KMS driver for Hyper-V synthetic video device. Choose this
47176c56a5aSDeepak Rawat	 option if you would like to enable drm driver for Hyper-V virtual
47276c56a5aSDeepak Rawat	 machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so
47376c56a5aSDeepak Rawat	 that DRM driver is used by default.
47476c56a5aSDeepak Rawat
47576c56a5aSDeepak Rawat	 If M is selected the module will be called hyperv_drm.
47676c56a5aSDeepak Rawat
4779b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS
4789b6c80beSRandy Dunlap	bool
4799b6c80beSRandy Dunlap
48022e5c7aeSThomas Weißschuh# Separate option as not all DRM drivers use it
48122e5c7aeSThomas Weißschuhconfig DRM_PANEL_BACKLIGHT_QUIRKS
48222e5c7aeSThomas Weißschuh	tristate
48322e5c7aeSThomas Weißschuh
484a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM
485a33d42ddSChris Wilson	bool
486a33d42ddSChris Wilson	default n
487a1a98689SHans de Goede
488a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN
489a1a98689SHans de Goede	bool
490a1a98689SHans de Goede	default n
491f89632a9SJani Nikula
492f89632a9SJani Nikulaconfig DRM_WERROR
493f89632a9SJani Nikula	bool "Compile the drm subsystem with warnings as errors"
4944b2d588dSGeert Uytterhoeven	depends on DRM && EXPERT
4950c76053eSJani Nikula	depends on !WERROR
496f89632a9SJani Nikula	default n
497f89632a9SJani Nikula	help
498f89632a9SJani Nikula	  A kernel build should not cause any compiler warnings, and this
499f89632a9SJani Nikula	  enables the '-Werror' flag to enforce that rule in the drm subsystem.
500f89632a9SJani Nikula
501f89632a9SJani Nikula	  The drm subsystem enables more warnings than the kernel default, so
502f89632a9SJani Nikula	  this config option is disabled by default.
503f89632a9SJani Nikula
504f89632a9SJani Nikula	  If in doubt, say N.
50508f44136SMasahiro Yamada
50662ae4568SJani Nikulaconfig DRM_HEADER_TEST
50762ae4568SJani Nikula	bool "Ensure DRM headers are self-contained and pass kernel-doc"
5080c86b424SLinus Torvalds	depends on DRM && EXPERT && BROKEN
50962ae4568SJani Nikula	default n
51062ae4568SJani Nikula	help
51162ae4568SJani Nikula	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
51262ae4568SJani Nikula	  include/drm compile, are self-contained, have header guards, and have
51362ae4568SJani Nikula	  no kernel-doc warnings.
51462ae4568SJani Nikula
51562ae4568SJani Nikula	  If in doubt, say N.
51662ae4568SJani Nikula
51708f44136SMasahiro Yamadaendif
51808f44136SMasahiro Yamada
51908f44136SMasahiro Yamada# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
52008f44136SMasahiro Yamadaconfig DRM_PANEL_ORIENTATION_QUIRKS
52108f44136SMasahiro Yamada	tristate
522