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 10292b6f89fSDaniel Vetter help 10392b6f89fSDaniel Vetter CRTC helpers for KMS drivers. 10492b6f89fSDaniel Vetter 105bf9fb17cSJocelyn Falempeconfig DRM_PANIC 106bf9fb17cSJocelyn Falempe bool "Display a user-friendly message when a kernel panic occurs" 1073a9b77ceSJocelyn Falempe depends on DRM 108bf9fb17cSJocelyn Falempe select FONT_SUPPORT 109bf9fb17cSJocelyn Falempe help 110bf9fb17cSJocelyn Falempe Enable a drm panic handler, which will display a user-friendly message 111bf9fb17cSJocelyn Falempe when a kernel panic occurs. It's useful when using a user-space 112bf9fb17cSJocelyn Falempe console instead of fbcon. 113bf9fb17cSJocelyn Falempe It will only work if your graphic driver supports this feature. 114bf9fb17cSJocelyn Falempe To support Hi-DPI Display, you can enable bigger fonts like 115bf9fb17cSJocelyn Falempe FONT_TER16x32 116bf9fb17cSJocelyn Falempe 117bf9fb17cSJocelyn Falempeconfig DRM_PANIC_FOREGROUND_COLOR 118bf9fb17cSJocelyn Falempe hex "Drm panic screen foreground color, in RGB" 119bf9fb17cSJocelyn Falempe depends on DRM_PANIC 120bf9fb17cSJocelyn Falempe default 0xffffff 121bf9fb17cSJocelyn Falempe 122bf9fb17cSJocelyn Falempeconfig DRM_PANIC_BACKGROUND_COLOR 123bf9fb17cSJocelyn Falempe hex "Drm panic screen background color, in RGB" 124bf9fb17cSJocelyn Falempe depends on DRM_PANIC 125bf9fb17cSJocelyn Falempe default 0x000000 126bf9fb17cSJocelyn Falempe 127813ca3aaSJocelyn Falempeconfig DRM_PANIC_DEBUG 128813ca3aaSJocelyn Falempe bool "Add a debug fs entry to trigger drm_panic" 129813ca3aaSJocelyn Falempe depends on DRM_PANIC && DEBUG_FS 130813ca3aaSJocelyn Falempe help 131813ca3aaSJocelyn Falempe Add dri/[device]/drm_panic_plane_x in the kernel debugfs, to force the 132813ca3aaSJocelyn Falempe panic handler to write the panic message to this plane scanout buffer. 133813ca3aaSJocelyn Falempe This is unsafe and should not be enabled on a production build. 134813ca3aaSJocelyn Falempe If in doubt, say "N". 135813ca3aaSJocelyn Falempe 13654034bebSJocelyn Falempeconfig DRM_PANIC_SCREEN 137a3dfb1d1SGeert Uytterhoeven string "Panic screen formatter" 13854034bebSJocelyn Falempe default "user" 13954034bebSJocelyn Falempe depends on DRM_PANIC 14054034bebSJocelyn Falempe help 14154034bebSJocelyn Falempe This option enable to choose what will be displayed when a kernel 14254034bebSJocelyn Falempe panic occurs. You can choose between "user", a short message telling 14354034bebSJocelyn Falempe the user to reboot the system, or "kmsg" which will display the last 14454034bebSJocelyn Falempe lines of kmsg. 14554034bebSJocelyn Falempe This can also be overridden by drm.panic_screen=xxxx kernel parameter 14654034bebSJocelyn Falempe or by writing to /sys/module/drm/parameters/panic_screen sysfs entry 14754034bebSJocelyn Falempe Default is "user" 14854034bebSJocelyn Falempe 149cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE 150cb5164acSJocelyn Falempe bool "Add a panic screen with a QR code" 151cb5164acSJocelyn Falempe depends on DRM_PANIC && RUST 1522ad84af4SMiguel Ojeda select ZLIB_DEFLATE 153cb5164acSJocelyn Falempe help 154cb5164acSJocelyn Falempe This option adds a QR code generator, and a panic screen with a QR 155cb5164acSJocelyn Falempe code. The QR code will contain the last lines of kmsg and other debug 156cb5164acSJocelyn Falempe information. This should be easier for the user to report a kernel 157cb5164acSJocelyn Falempe panic, with all debug information available. 158cb5164acSJocelyn Falempe To use this panic screen, also set DRM_PANIC_SCREEN to "qr_code" 159cb5164acSJocelyn Falempe 160cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE_URL 161cb5164acSJocelyn Falempe string "Base URL of the QR code in the panic screen" 162cb5164acSJocelyn Falempe depends on DRM_PANIC_SCREEN_QR_CODE 163cb5164acSJocelyn Falempe help 164cb5164acSJocelyn Falempe This option sets the base URL to report the kernel panic. If it's set 165cb5164acSJocelyn Falempe the QR code will contain the URL and the kmsg compressed with zlib as 166cb5164acSJocelyn Falempe a URL parameter. If it's empty, the QR code will contain the kmsg as 167cb5164acSJocelyn Falempe uncompressed text only. 168cb5164acSJocelyn Falempe There is a demo code in javascript, to decode and uncompress the kmsg 169cb5164acSJocelyn Falempe data from the URL parameter at https://github.com/kdj0c/panic_report 170cb5164acSJocelyn Falempe 171cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_VERSION 172cb5164acSJocelyn Falempe int "Maximum version (size) of the QR code." 173cb5164acSJocelyn Falempe depends on DRM_PANIC_SCREEN_QR_CODE 174cb5164acSJocelyn Falempe default 40 175cb5164acSJocelyn Falempe help 176cb5164acSJocelyn Falempe This option limits the version (or size) of the QR code. QR code 177cb5164acSJocelyn Falempe version ranges from Version 1 (21x21) to Version 40 (177x177). 178cb5164acSJocelyn Falempe Smaller QR code are easier to read, but will contain less debugging 179cb5164acSJocelyn Falempe data. Default is 40. 180cb5164acSJocelyn Falempe 18112a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS 18212a280c7SLyude Paul bool "Enable refcount backtrace history in the DP MST helpers" 183d6d07ca1SGuenter Roeck depends on STACKTRACE_SUPPORT 18412a280c7SLyude Paul select STACKDEPOT 18512a280c7SLyude Paul depends on DRM_KMS_HELPER 18612a280c7SLyude Paul depends on DEBUG_KERNEL 18712a280c7SLyude Paul depends on EXPERT 18812a280c7SLyude Paul help 18912a280c7SLyude Paul Enables debug tracing for topology refs in DRM's DP MST helpers. A 19012a280c7SLyude Paul history of each topology reference/dereference will be printed to the 19112a280c7SLyude Paul kernel log once a port or branch device's topology refcount reaches 0. 19212a280c7SLyude Paul 19312a280c7SLyude Paul This has the potential to use a lot of memory and print some very 19412a280c7SLyude Paul large kernel messages. If in doubt, say "N". 19512a280c7SLyude Paul 196cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK 197cd06ab2fSJani Nikula bool "Enable backtrace history for lock contention" 198cd06ab2fSJani Nikula depends on STACKTRACE_SUPPORT 199cd06ab2fSJani Nikula depends on DEBUG_KERNEL 200cd06ab2fSJani Nikula depends on EXPERT 201cd06ab2fSJani Nikula select STACKDEPOT 202cd06ab2fSJani Nikula default y if DEBUG_WW_MUTEX_SLOWPATH 203cd06ab2fSJani Nikula help 204cd06ab2fSJani Nikula Enable debug tracing of failures to gracefully handle drm modeset lock 205cd06ab2fSJani Nikula contention. A history of each drm modeset lock path hitting -EDEADLK 206cd06ab2fSJani Nikula will be saved until gracefully handled, and the backtrace will be 207cd06ab2fSJani Nikula printed when attempting to lock a contended lock. 208cd06ab2fSJani Nikula 209cd06ab2fSJani Nikula If in doubt, say "N". 210cd06ab2fSJani Nikula 2111f828b4dSThomas Zimmermannconfig DRM_CLIENT 2121f828b4dSThomas Zimmermann bool 2131f828b4dSThomas Zimmermann depends on DRM 2141f828b4dSThomas Zimmermann help 2151f828b4dSThomas Zimmermann Enables support for DRM clients. DRM drivers that need 2161f828b4dSThomas Zimmermann struct drm_client_dev and its interfaces should select this 2171f828b4dSThomas Zimmermann option. Drivers that support the default clients should 2181f828b4dSThomas Zimmermann select DRM_CLIENT_SELECTION instead. 2191f828b4dSThomas Zimmermann 220*dadd28d4SThomas Zimmermannconfig DRM_CLIENT_LIB 221*dadd28d4SThomas Zimmermann tristate 222d07fdf92SThomas Zimmermann depends on DRM 223*dadd28d4SThomas Zimmermann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 224*dadd28d4SThomas Zimmermann select FB_CORE if DRM_FBDEV_EMULATION 225*dadd28d4SThomas Zimmermann help 226*dadd28d4SThomas Zimmermann This option enables the DRM client library and selects all 227*dadd28d4SThomas Zimmermann modules and components according to the enabled clients. 228*dadd28d4SThomas Zimmermann 229*dadd28d4SThomas Zimmermannconfig DRM_CLIENT_SELECTION 230*dadd28d4SThomas Zimmermann tristate 231*dadd28d4SThomas Zimmermann depends on DRM 232*dadd28d4SThomas Zimmermann select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION 233d07fdf92SThomas Zimmermann help 234d07fdf92SThomas Zimmermann Drivers that support in-kernel DRM clients have to select this 235d07fdf92SThomas Zimmermann option. 236d07fdf92SThomas Zimmermann 237d07fdf92SThomas Zimmermannconfig DRM_CLIENT_SETUP 238d07fdf92SThomas Zimmermann bool 239d07fdf92SThomas Zimmermann depends on DRM_CLIENT_SELECTION 240*dadd28d4SThomas Zimmermann help 241*dadd28d4SThomas Zimmermann Enables the DRM client selection. DRM drivers that support the 242*dadd28d4SThomas Zimmermann default clients should select DRM_CLIENT_SELECTION instead. 243*dadd28d4SThomas Zimmermann 244*dadd28d4SThomas Zimmermannmenu "Supported DRM clients" 245*dadd28d4SThomas Zimmermann depends on DRM_CLIENT_SELECTION 246d07fdf92SThomas Zimmermann 247a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION 248a03fdcb1SArchit Taneja bool "Enable legacy fbdev support for your modesetting driver" 249*dadd28d4SThomas Zimmermann depends on DRM_CLIENT_SELECTION 2501f828b4dSThomas Zimmermann select DRM_CLIENT 251*dadd28d4SThomas Zimmermann select DRM_CLIENT_SETUP 25291185d55SThomas Zimmermann select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 253bb6c4507SArnd Bergmann default FB 254a03fdcb1SArchit Taneja help 255a03fdcb1SArchit Taneja Choose this option if you have a need for the legacy fbdev 256a03fdcb1SArchit Taneja support. Note that this support also provides the linux console 257a03fdcb1SArchit Taneja support on top of your modesetting driver. 258a03fdcb1SArchit Taneja 259a03fdcb1SArchit Taneja If in doubt, say "Y". 260a03fdcb1SArchit Taneja 2615f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC 2625f152576SXinliang Liu int "Overallocation of the fbdev buffer" 2635f152576SXinliang Liu depends on DRM_FBDEV_EMULATION 2645f152576SXinliang Liu default 100 2655f152576SXinliang Liu help 2665f152576SXinliang Liu Defines the fbdev buffer overallocation in percent. Default 2675f152576SXinliang Liu is 100. Typical values for double buffering will be 200, 2685f152576SXinliang Liu triple buffering 300. 2695f152576SXinliang Liu 2704be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM 2714be9bd10SNeil Armstrong bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" 2724be9bd10SNeil Armstrong depends on DRM_FBDEV_EMULATION && EXPERT 2734be9bd10SNeil Armstrong default n 2744be9bd10SNeil Armstrong help 2754be9bd10SNeil Armstrong In order to keep user-space compatibility, we want in certain 2764be9bd10SNeil Armstrong use-cases to keep leaking the fbdev physical address to the 2774be9bd10SNeil Armstrong user-space program handling the fbdev buffer. 2784be9bd10SNeil Armstrong This affects, not only, Amlogic, Allwinner or Rockchip devices 2794be9bd10SNeil Armstrong with ARM Mali GPUs using an userspace Blob. 2804be9bd10SNeil Armstrong This option is not supported by upstream developers and should be 2814be9bd10SNeil Armstrong removed as soon as possible and be considered as a broken and 2824be9bd10SNeil Armstrong legacy behaviour from a modern fbdev device driver. 2834be9bd10SNeil Armstrong 2844be9bd10SNeil Armstrong Please send any bug reports when using this to your proprietary 2854be9bd10SNeil Armstrong software vendor that requires this. 2864be9bd10SNeil Armstrong 2874be9bd10SNeil Armstrong If in doubt, say "N" or spread the word to your closed source 2884be9bd10SNeil Armstrong library vendor. 2894be9bd10SNeil Armstrong 290*dadd28d4SThomas Zimmermannendmenu 291*dadd28d4SThomas Zimmermann 292da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE 293da0df92bSCarsten Emde bool "Allow to specify an EDID data set instead of probing for it" 29453fd40a9SJani Nikula depends on DRM 295da0df92bSCarsten Emde help 296da0df92bSCarsten Emde Say Y here, if you want to use EDID data to be loaded from the 297da0df92bSCarsten Emde /lib/firmware directory or one of the provided built-in 298da0df92bSCarsten Emde data sets. This may be necessary, if the graphics adapter or 299da0df92bSCarsten Emde monitor are unable to provide appropriate EDID data. Since this 300da0df92bSCarsten Emde feature is provided as a workaround for broken hardware, the 301da0df92bSCarsten Emde default case is N. Details and instructions how to build your own 30272ef5e52SMauro Carvalho Chehab EDID data are given in Documentation/admin-guide/edid.rst. 303da0df92bSCarsten Emde 3041e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig" 3052c6d1fffSHans Verkuil 306ba4e7d97SThomas Hellstromconfig DRM_TTM 307771fe6b9SJerome Glisse tristate 30862a0d98aSBenjamin Gaignard depends on DRM && MMU 309ba4e7d97SThomas Hellstrom help 310ba4e7d97SThomas Hellstrom GPU memory management subsystem for devices with multiple 311ba4e7d97SThomas Hellstrom GPU memory types. Will be enabled automatically if a device driver 312ba4e7d97SThomas Hellstrom uses it. 313ba4e7d97SThomas Hellstrom 314e3912d09SKarolina Stolarekconfig DRM_TTM_KUNIT_TEST 315e3912d09SKarolina Stolarek tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS 316e3912d09SKarolina Stolarek default n 3179d3f8a72SChristian König depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST) 318e3912d09SKarolina Stolarek select DRM_TTM 31932d618e9SKarolina Stolarek select DRM_BUDDY 320e3912d09SKarolina Stolarek select DRM_EXPORT_FOR_TESTS if m 321e3912d09SKarolina Stolarek select DRM_KUNIT_TEST_HELPERS 322e3912d09SKarolina Stolarek default KUNIT_ALL_TESTS 323e3912d09SKarolina Stolarek help 324e3912d09SKarolina Stolarek Enables unit tests for TTM, a GPU memory manager subsystem used 325e3912d09SKarolina Stolarek to manage memory buffers. This option is mostly useful for kernel 3269d3f8a72SChristian König developers. It depends on (UML || COMPILE_TEST) since no other driver 3279d3f8a72SChristian König which uses TTM can be loaded while running the tests. 328e3912d09SKarolina Stolarek 329e3912d09SKarolina Stolarek If in doubt, say "N". 330e3912d09SKarolina Stolarek 33109593216SChristian Königconfig DRM_EXEC 33209593216SChristian König tristate 33309593216SChristian König depends on DRM 33409593216SChristian König help 33509593216SChristian König Execution context for command submissions 33609593216SChristian König 337fe7acaa7SDanilo Krummrichconfig DRM_GPUVM 338fe7acaa7SDanilo Krummrich tristate 339fe7acaa7SDanilo Krummrich depends on DRM 340eeb1f825SDanilo Krummrich select DRM_EXEC 341fe7acaa7SDanilo Krummrich help 342fe7acaa7SDanilo Krummrich GPU-VM representation providing helpers to manage a GPUs virtual 343fe7acaa7SDanilo Krummrich address space 344fe7acaa7SDanilo Krummrich 3456387a3c4SArunpravinconfig DRM_BUDDY 3466387a3c4SArunpravin tristate 3476387a3c4SArunpravin depends on DRM 3486387a3c4SArunpravin help 3496387a3c4SArunpravin A page based buddy allocator 3506387a3c4SArunpravin 35185438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER 35285438a8dSThomas Zimmermann tristate 35385438a8dSThomas Zimmermann depends on DRM 35485438a8dSThomas Zimmermann help 35585438a8dSThomas Zimmermann Helpers for VRAM memory management 35685438a8dSThomas Zimmermann 357ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER 358ff540b76SGerd Hoffmann tristate 359ff540b76SGerd Hoffmann depends on DRM 360ff540b76SGerd Hoffmann select DRM_TTM 3618058944fSThomas Zimmermann select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 362ff540b76SGerd Hoffmann help 363ff540b76SGerd Hoffmann Helpers for ttm-based gem objects 364ff540b76SGerd Hoffmann 3654a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER 3664b2b5e14SThomas Zimmermann tristate 367e1c7e324SChristoph Hellwig depends on DRM 36867c40c9bSThomas Zimmermann select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 369b9d47450SSascha Hauer help 3704a83c26aSDanilo Krummrich Choose this if you need the GEM DMA helper functions 371b9d47450SSascha Hauer 3722194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER 3734b2b5e14SThomas Zimmermann tristate 3748b93d1d7SDaniel Vetter depends on DRM && MMU 3758058944fSThomas Zimmermann select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 3762194a63aSNoralf Trønnes help 3772194a63aSNoralf Trønnes Choose this if you need the GEM shmem helper functions 3782194a63aSNoralf Trønnes 379849ee8a2SMaarten Lankhorstconfig DRM_SUBALLOC_HELPER 380849ee8a2SMaarten Lankhorst tristate 381849ee8a2SMaarten Lankhorst depends on DRM 382849ee8a2SMaarten Lankhorst 3831b1f42d8SLucas Stachconfig DRM_SCHED 3841b1f42d8SLucas Stach tristate 3851b1f42d8SLucas Stach depends on DRM 3861b1f42d8SLucas Stach 3876504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig" 3886504d0d9SRob Clark 3898e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig" 3908e22d792SLiviu Dudau 391f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig" 392f71d0187SDave Airlie 393d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig" 394a8fe58ceSMaruthi Bayyavarapu 395f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig" 396f3c93cbdSBen Skeggs 3974520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig" 39899486b8eSJosh Triplett 399dd08ebf6SMatthew Brostsource "drivers/gpu/drm/xe/Kconfig" 400dd08ebf6SMatthew Brost 401ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig" 402ed794057SAnitha Chrisanthus 403502e95c6SZach Reiznerconfig DRM_VGEM 404502e95c6SZach Reizner tristate "Virtual GEM provider" 40545d9c8ddSDaniel Vetter depends on DRM && MMU 40645d9c8ddSDaniel Vetter select DRM_GEM_SHMEM_HELPER 407502e95c6SZach Reizner help 408502e95c6SZach Reizner Choose this option to get a virtual graphics memory manager, 409502e95c6SZach Reizner as used by Mesa's software renderer for enhanced performance. 410502e95c6SZach Reizner If M is selected the module will be called vgem. 411502e95c6SZach Reizner 412ffcc67cdSHarry Wentlandsource "drivers/gpu/drm/vkms/Kconfig" 413502e95c6SZach Reizner 4141c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig" 4155a7b74beSThomas Hellstrom 4162048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig" 4172048e328SMark Yao 4185a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig" 41991c75492SAlan Cox 42091c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig" 42191c75492SAlan Cox 4225320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig" 423312fec14SDave Airlie 424312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig" 425312fec14SDave Airlie 426414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig" 427f9aa76a8SDave Airlie 42896f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig" 42996f60e37SRussell King 4301a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig" 4311a396789SBoris Brezillon 43211696c5eSBiju Dassource "drivers/gpu/drm/renesas/Kconfig" 433d8f4a9edSThierry Reding 4349026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig" 4359026e0d1SMaxime Ripard 4368bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig" 437ca18e142SDave Airlie 43816ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig" 439f64122c1SDave Airlie 440f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig" 441c8afe684SRob Clark 442dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig" 443dc5698e8SDave Airlie 444c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig" 445dee8268fSThierry Reding 446109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig" 447109eee2fSJianwei Wang 448dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig" 449aead40eaSThierry Reding 450b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig" 451b759012cSYannick Fertre 452aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig" 453f2cb3148SBenjamin Gaignard 454a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig" 455a33ee95fSThierry Reding 456f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig" 4574a488a7aSOded Gabbay 4586556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig" 459c8b75bcaSEric Anholt 46090b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig" 46190b86fccSPaul Cercueil 46257692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig" 46357692c94SEric Anholt 464c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig" 465a8c21a54SThe etnaviv authors 466f39db26cSSui Jingfengsource "drivers/gpu/drm/loongson/Kconfig" 467f39db26cSSui Jingfeng 468a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig" 46951dacf20SCarlos Palminha 47023e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig" 471119f5173SCK Hu 472efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig" 473efeeaefeSPaul Kocialkowski 474119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig" 475d92d9c3aSDavid Herrmann 47645d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig" 47745d59d70SMarek Vasut 478bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig" 479bbbe775eSNeil Armstrong 480043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig" 481fa201ac2SNoralf Trønnes 482bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig" 483bed41005STom Cooksey 484179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig" 485179c02feSLinus Walleij 486c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig" 487c575b7eeSOleksandr Andrushchenko 488131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig" 489131abc56SHans de Goede 490a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig" 491a1d2a633SQiang Yu 492f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig" 493f3ba9122SRob Herring 494d72f0490SBoris Brezillonsource "drivers/gpu/drm/panthor/Kconfig" 495d72f0490SBoris Brezillon 4964f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig" 4974f2a8f58SJoel Stanley 4985fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig" 4995fc537bfSLinus Walleij 50032a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig" 50132a1795fSJyri Sarha 502d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig" 503d76271d2SHyun Kwon 50440e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig" 50540e1a70bSNoralf Trønnes 506a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig" 507a61732e8SJavier Martinez Canillas 50843531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig" 50943531eddSKevin Tang 5104babef07SSarah Walkersource "drivers/gpu/drm/imagination/Kconfig" 5114babef07SSarah Walker 51276c56a5aSDeepak Rawatconfig DRM_HYPERV 51376c56a5aSDeepak Rawat tristate "DRM Support for Hyper-V synthetic video device" 51476c56a5aSDeepak Rawat depends on DRM && PCI && MMU && HYPERV 515663269ceSThomas Zimmermann select DRM_CLIENT_SELECTION 51676c56a5aSDeepak Rawat select DRM_KMS_HELPER 51776c56a5aSDeepak Rawat select DRM_GEM_SHMEM_HELPER 51876c56a5aSDeepak Rawat help 51976c56a5aSDeepak Rawat This is a KMS driver for Hyper-V synthetic video device. Choose this 52076c56a5aSDeepak Rawat option if you would like to enable drm driver for Hyper-V virtual 52176c56a5aSDeepak Rawat machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so 52276c56a5aSDeepak Rawat that DRM driver is used by default. 52376c56a5aSDeepak Rawat 52476c56a5aSDeepak Rawat If M is selected the module will be called hyperv_drm. 52576c56a5aSDeepak Rawat 5269b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS 5279b6c80beSRandy Dunlap bool 5289b6c80beSRandy Dunlap 529a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM 530a33d42ddSChris Wilson bool 531a33d42ddSChris Wilson default n 532a1a98689SHans de Goede 533a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN 534a1a98689SHans de Goede bool 535a1a98689SHans de Goede default n 536f89632a9SJani Nikula 537f89632a9SJani Nikulaconfig DRM_WERROR 538f89632a9SJani Nikula bool "Compile the drm subsystem with warnings as errors" 5394b2d588dSGeert Uytterhoeven depends on DRM && EXPERT 5400c76053eSJani Nikula depends on !WERROR 541f89632a9SJani Nikula default n 542f89632a9SJani Nikula help 543f89632a9SJani Nikula A kernel build should not cause any compiler warnings, and this 544f89632a9SJani Nikula enables the '-Werror' flag to enforce that rule in the drm subsystem. 545f89632a9SJani Nikula 546f89632a9SJani Nikula The drm subsystem enables more warnings than the kernel default, so 547f89632a9SJani Nikula this config option is disabled by default. 548f89632a9SJani Nikula 549f89632a9SJani Nikula If in doubt, say N. 55008f44136SMasahiro Yamada 55108f44136SMasahiro Yamadaendif 55208f44136SMasahiro Yamada 55308f44136SMasahiro Yamada# Separate option because drm_panel_orientation_quirks.c is shared with fbdev 55408f44136SMasahiro Yamadaconfig DRM_PANEL_ORIENTATION_QUIRKS 55508f44136SMasahiro Yamada tristate 556