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 106bf9fb17cSJocelyn Falempeconfig DRM_PANIC 107bf9fb17cSJocelyn Falempe bool "Display a user-friendly message when a kernel panic occurs" 1083a9b77ceSJocelyn Falempe depends on DRM 109bf9fb17cSJocelyn Falempe select FONT_SUPPORT 110bf9fb17cSJocelyn Falempe help 111bf9fb17cSJocelyn Falempe Enable a drm panic handler, which will display a user-friendly message 112bf9fb17cSJocelyn Falempe when a kernel panic occurs. It's useful when using a user-space 113bf9fb17cSJocelyn Falempe console instead of fbcon. 114bf9fb17cSJocelyn Falempe It will only work if your graphic driver supports this feature. 115bf9fb17cSJocelyn Falempe To support Hi-DPI Display, you can enable bigger fonts like 116bf9fb17cSJocelyn Falempe FONT_TER16x32 117bf9fb17cSJocelyn Falempe 118bf9fb17cSJocelyn Falempeconfig DRM_PANIC_FOREGROUND_COLOR 119bf9fb17cSJocelyn Falempe hex "Drm panic screen foreground color, in RGB" 120bf9fb17cSJocelyn Falempe depends on DRM_PANIC 121bf9fb17cSJocelyn Falempe default 0xffffff 122bf9fb17cSJocelyn Falempe 123bf9fb17cSJocelyn Falempeconfig DRM_PANIC_BACKGROUND_COLOR 124bf9fb17cSJocelyn Falempe hex "Drm panic screen background color, in RGB" 125bf9fb17cSJocelyn Falempe depends on DRM_PANIC 126bf9fb17cSJocelyn Falempe default 0x000000 127bf9fb17cSJocelyn Falempe 128813ca3aaSJocelyn Falempeconfig DRM_PANIC_DEBUG 129813ca3aaSJocelyn Falempe bool "Add a debug fs entry to trigger drm_panic" 130813ca3aaSJocelyn Falempe depends on DRM_PANIC && DEBUG_FS 131813ca3aaSJocelyn Falempe help 132813ca3aaSJocelyn Falempe Add dri/[device]/drm_panic_plane_x in the kernel debugfs, to force the 133813ca3aaSJocelyn Falempe panic handler to write the panic message to this plane scanout buffer. 134813ca3aaSJocelyn Falempe This is unsafe and should not be enabled on a production build. 135813ca3aaSJocelyn Falempe If in doubt, say "N". 136813ca3aaSJocelyn Falempe 13754034bebSJocelyn Falempeconfig DRM_PANIC_SCREEN 138a3dfb1d1SGeert Uytterhoeven string "Panic screen formatter" 13954034bebSJocelyn Falempe default "user" 14054034bebSJocelyn Falempe depends on DRM_PANIC 14154034bebSJocelyn Falempe help 14254034bebSJocelyn Falempe This option enable to choose what will be displayed when a kernel 14354034bebSJocelyn Falempe panic occurs. You can choose between "user", a short message telling 14454034bebSJocelyn Falempe the user to reboot the system, or "kmsg" which will display the last 14554034bebSJocelyn Falempe lines of kmsg. 14654034bebSJocelyn Falempe This can also be overridden by drm.panic_screen=xxxx kernel parameter 14754034bebSJocelyn Falempe or by writing to /sys/module/drm/parameters/panic_screen sysfs entry 14854034bebSJocelyn Falempe Default is "user" 14954034bebSJocelyn Falempe 150cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE 151cb5164acSJocelyn Falempe bool "Add a panic screen with a QR code" 152cb5164acSJocelyn Falempe depends on DRM_PANIC && RUST 1532ad84af4SMiguel Ojeda select ZLIB_DEFLATE 154cb5164acSJocelyn Falempe help 155cb5164acSJocelyn Falempe This option adds a QR code generator, and a panic screen with a QR 156cb5164acSJocelyn Falempe code. The QR code will contain the last lines of kmsg and other debug 157cb5164acSJocelyn Falempe information. This should be easier for the user to report a kernel 158cb5164acSJocelyn Falempe panic, with all debug information available. 159cb5164acSJocelyn Falempe To use this panic screen, also set DRM_PANIC_SCREEN to "qr_code" 160cb5164acSJocelyn Falempe 161cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_CODE_URL 162cb5164acSJocelyn Falempe string "Base URL of the QR code in the panic screen" 163cb5164acSJocelyn Falempe depends on DRM_PANIC_SCREEN_QR_CODE 164cb5164acSJocelyn Falempe help 165cb5164acSJocelyn Falempe This option sets the base URL to report the kernel panic. If it's set 166cb5164acSJocelyn Falempe the QR code will contain the URL and the kmsg compressed with zlib as 167cb5164acSJocelyn Falempe a URL parameter. If it's empty, the QR code will contain the kmsg as 168cb5164acSJocelyn Falempe uncompressed text only. 169cb5164acSJocelyn Falempe There is a demo code in javascript, to decode and uncompress the kmsg 170cb5164acSJocelyn Falempe data from the URL parameter at https://github.com/kdj0c/panic_report 171cb5164acSJocelyn Falempe 172cb5164acSJocelyn Falempeconfig DRM_PANIC_SCREEN_QR_VERSION 173cb5164acSJocelyn Falempe int "Maximum version (size) of the QR code." 174cb5164acSJocelyn Falempe depends on DRM_PANIC_SCREEN_QR_CODE 175cb5164acSJocelyn Falempe default 40 176cb5164acSJocelyn Falempe help 177cb5164acSJocelyn Falempe This option limits the version (or size) of the QR code. QR code 178cb5164acSJocelyn Falempe version ranges from Version 1 (21x21) to Version 40 (177x177). 179cb5164acSJocelyn Falempe Smaller QR code are easier to read, but will contain less debugging 180cb5164acSJocelyn Falempe data. Default is 40. 181cb5164acSJocelyn Falempe 18212a280c7SLyude Paulconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS 18312a280c7SLyude Paul bool "Enable refcount backtrace history in the DP MST helpers" 184d6d07ca1SGuenter Roeck depends on STACKTRACE_SUPPORT 18512a280c7SLyude Paul select STACKDEPOT 18612a280c7SLyude Paul depends on DRM_KMS_HELPER 18712a280c7SLyude Paul depends on DEBUG_KERNEL 18812a280c7SLyude Paul depends on EXPERT 18912a280c7SLyude Paul help 19012a280c7SLyude Paul Enables debug tracing for topology refs in DRM's DP MST helpers. A 19112a280c7SLyude Paul history of each topology reference/dereference will be printed to the 19212a280c7SLyude Paul kernel log once a port or branch device's topology refcount reaches 0. 19312a280c7SLyude Paul 19412a280c7SLyude Paul This has the potential to use a lot of memory and print some very 19512a280c7SLyude Paul large kernel messages. If in doubt, say "N". 19612a280c7SLyude Paul 197cd06ab2fSJani Nikulaconfig DRM_DEBUG_MODESET_LOCK 198cd06ab2fSJani Nikula bool "Enable backtrace history for lock contention" 199cd06ab2fSJani Nikula depends on STACKTRACE_SUPPORT 200cd06ab2fSJani Nikula depends on DEBUG_KERNEL 201cd06ab2fSJani Nikula depends on EXPERT 202cd06ab2fSJani Nikula select STACKDEPOT 203cd06ab2fSJani Nikula default y if DEBUG_WW_MUTEX_SLOWPATH 204cd06ab2fSJani Nikula help 205cd06ab2fSJani Nikula Enable debug tracing of failures to gracefully handle drm modeset lock 206cd06ab2fSJani Nikula contention. A history of each drm modeset lock path hitting -EDEADLK 207cd06ab2fSJani Nikula will be saved until gracefully handled, and the backtrace will be 208cd06ab2fSJani Nikula printed when attempting to lock a contended lock. 209cd06ab2fSJani Nikula 210cd06ab2fSJani Nikula If in doubt, say "N". 211cd06ab2fSJani Nikula 2121f828b4dSThomas Zimmermannconfig DRM_CLIENT 2131f828b4dSThomas Zimmermann bool 2141f828b4dSThomas Zimmermann depends on DRM 2151f828b4dSThomas Zimmermann help 2161f828b4dSThomas Zimmermann Enables support for DRM clients. DRM drivers that need 2171f828b4dSThomas Zimmermann struct drm_client_dev and its interfaces should select this 2181f828b4dSThomas Zimmermann option. Drivers that support the default clients should 2191f828b4dSThomas Zimmermann select DRM_CLIENT_SELECTION instead. 2201f828b4dSThomas Zimmermann 221dadd28d4SThomas Zimmermannconfig DRM_CLIENT_LIB 222dadd28d4SThomas Zimmermann tristate 223d07fdf92SThomas Zimmermann depends on DRM 224dadd28d4SThomas Zimmermann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 225dadd28d4SThomas Zimmermann select FB_CORE if DRM_FBDEV_EMULATION 226dadd28d4SThomas Zimmermann help 227dadd28d4SThomas Zimmermann This option enables the DRM client library and selects all 228dadd28d4SThomas Zimmermann modules and components according to the enabled clients. 229dadd28d4SThomas Zimmermann 230dadd28d4SThomas Zimmermannconfig DRM_CLIENT_SELECTION 231dadd28d4SThomas Zimmermann tristate 232dadd28d4SThomas Zimmermann depends on DRM 233dadd28d4SThomas Zimmermann select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION 234d07fdf92SThomas Zimmermann help 235d07fdf92SThomas Zimmermann Drivers that support in-kernel DRM clients have to select this 236d07fdf92SThomas Zimmermann option. 237d07fdf92SThomas Zimmermann 238d07fdf92SThomas Zimmermannconfig DRM_CLIENT_SETUP 239d07fdf92SThomas Zimmermann bool 240d07fdf92SThomas Zimmermann depends on DRM_CLIENT_SELECTION 241dadd28d4SThomas Zimmermann help 242dadd28d4SThomas Zimmermann Enables the DRM client selection. DRM drivers that support the 243dadd28d4SThomas Zimmermann default clients should select DRM_CLIENT_SELECTION instead. 244dadd28d4SThomas Zimmermann 245dadd28d4SThomas Zimmermannmenu "Supported DRM clients" 246dadd28d4SThomas Zimmermann depends on DRM_CLIENT_SELECTION 247d07fdf92SThomas Zimmermann 248a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION 249a03fdcb1SArchit Taneja bool "Enable legacy fbdev support for your modesetting driver" 250dadd28d4SThomas Zimmermann depends on DRM_CLIENT_SELECTION 2511f828b4dSThomas Zimmermann select DRM_CLIENT 252dadd28d4SThomas Zimmermann select DRM_CLIENT_SETUP 25391185d55SThomas Zimmermann select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 254bb6c4507SArnd Bergmann default FB 255a03fdcb1SArchit Taneja help 256a03fdcb1SArchit Taneja Choose this option if you have a need for the legacy fbdev 257a03fdcb1SArchit Taneja support. Note that this support also provides the linux console 258a03fdcb1SArchit Taneja support on top of your modesetting driver. 259a03fdcb1SArchit Taneja 260a03fdcb1SArchit Taneja If in doubt, say "Y". 261a03fdcb1SArchit Taneja 2625f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC 2635f152576SXinliang Liu int "Overallocation of the fbdev buffer" 2645f152576SXinliang Liu depends on DRM_FBDEV_EMULATION 2655f152576SXinliang Liu default 100 2665f152576SXinliang Liu help 2675f152576SXinliang Liu Defines the fbdev buffer overallocation in percent. Default 2685f152576SXinliang Liu is 100. Typical values for double buffering will be 200, 2695f152576SXinliang Liu triple buffering 300. 2705f152576SXinliang Liu 2714be9bd10SNeil Armstrongconfig DRM_FBDEV_LEAK_PHYS_SMEM 2724be9bd10SNeil Armstrong bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" 2734be9bd10SNeil Armstrong depends on DRM_FBDEV_EMULATION && EXPERT 2744be9bd10SNeil Armstrong default n 2754be9bd10SNeil Armstrong help 2764be9bd10SNeil Armstrong In order to keep user-space compatibility, we want in certain 2774be9bd10SNeil Armstrong use-cases to keep leaking the fbdev physical address to the 2784be9bd10SNeil Armstrong user-space program handling the fbdev buffer. 2794be9bd10SNeil Armstrong This affects, not only, Amlogic, Allwinner or Rockchip devices 2804be9bd10SNeil Armstrong with ARM Mali GPUs using an userspace Blob. 2814be9bd10SNeil Armstrong This option is not supported by upstream developers and should be 2824be9bd10SNeil Armstrong removed as soon as possible and be considered as a broken and 2834be9bd10SNeil Armstrong legacy behaviour from a modern fbdev device driver. 2844be9bd10SNeil Armstrong 2854be9bd10SNeil Armstrong Please send any bug reports when using this to your proprietary 2864be9bd10SNeil Armstrong software vendor that requires this. 2874be9bd10SNeil Armstrong 2884be9bd10SNeil Armstrong If in doubt, say "N" or spread the word to your closed source 2894be9bd10SNeil Armstrong library vendor. 2904be9bd10SNeil Armstrong 291dadd28d4SThomas Zimmermannendmenu 292dadd28d4SThomas Zimmermann 293da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE 294da0df92bSCarsten Emde bool "Allow to specify an EDID data set instead of probing for it" 29553fd40a9SJani Nikula depends on DRM 296da0df92bSCarsten Emde help 297da0df92bSCarsten Emde Say Y here, if you want to use EDID data to be loaded from the 298da0df92bSCarsten Emde /lib/firmware directory or one of the provided built-in 299da0df92bSCarsten Emde data sets. This may be necessary, if the graphics adapter or 300da0df92bSCarsten Emde monitor are unable to provide appropriate EDID data. Since this 301da0df92bSCarsten Emde feature is provided as a workaround for broken hardware, the 302da0df92bSCarsten Emde default case is N. Details and instructions how to build your own 30372ef5e52SMauro Carvalho Chehab EDID data are given in Documentation/admin-guide/edid.rst. 304da0df92bSCarsten Emde 3051e0f6642SThomas Zimmermannsource "drivers/gpu/drm/display/Kconfig" 3062c6d1fffSHans Verkuil 307ba4e7d97SThomas Hellstromconfig DRM_TTM 308771fe6b9SJerome Glisse tristate 30962a0d98aSBenjamin Gaignard depends on DRM && MMU 310ba4e7d97SThomas Hellstrom help 311ba4e7d97SThomas Hellstrom GPU memory management subsystem for devices with multiple 312ba4e7d97SThomas Hellstrom GPU memory types. Will be enabled automatically if a device driver 313ba4e7d97SThomas Hellstrom uses it. 314ba4e7d97SThomas Hellstrom 315e3912d09SKarolina Stolarekconfig DRM_TTM_KUNIT_TEST 316e3912d09SKarolina Stolarek tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS 317e3912d09SKarolina Stolarek default n 3189d3f8a72SChristian König depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST) 319e3912d09SKarolina Stolarek select DRM_TTM 32032d618e9SKarolina Stolarek select DRM_BUDDY 321e3912d09SKarolina Stolarek select DRM_EXPORT_FOR_TESTS if m 322e3912d09SKarolina Stolarek select DRM_KUNIT_TEST_HELPERS 323e3912d09SKarolina Stolarek default KUNIT_ALL_TESTS 324e3912d09SKarolina Stolarek help 325e3912d09SKarolina Stolarek Enables unit tests for TTM, a GPU memory manager subsystem used 326e3912d09SKarolina Stolarek to manage memory buffers. This option is mostly useful for kernel 3279d3f8a72SChristian König developers. It depends on (UML || COMPILE_TEST) since no other driver 3289d3f8a72SChristian König which uses TTM can be loaded while running the tests. 329e3912d09SKarolina Stolarek 330e3912d09SKarolina Stolarek If in doubt, say "N". 331e3912d09SKarolina Stolarek 33209593216SChristian Königconfig DRM_EXEC 33309593216SChristian König tristate 33409593216SChristian König depends on DRM 33509593216SChristian König help 33609593216SChristian König Execution context for command submissions 33709593216SChristian König 338fe7acaa7SDanilo Krummrichconfig DRM_GPUVM 339fe7acaa7SDanilo Krummrich tristate 340fe7acaa7SDanilo Krummrich depends on DRM 341eeb1f825SDanilo Krummrich select DRM_EXEC 342fe7acaa7SDanilo Krummrich help 343fe7acaa7SDanilo Krummrich GPU-VM representation providing helpers to manage a GPUs virtual 344fe7acaa7SDanilo Krummrich address space 345fe7acaa7SDanilo Krummrich 3466387a3c4SArunpravinconfig DRM_BUDDY 3476387a3c4SArunpravin tristate 3486387a3c4SArunpravin depends on DRM 3496387a3c4SArunpravin help 3506387a3c4SArunpravin A page based buddy allocator 3516387a3c4SArunpravin 35285438a8dSThomas Zimmermannconfig DRM_VRAM_HELPER 35385438a8dSThomas Zimmermann tristate 35485438a8dSThomas Zimmermann depends on DRM 35585438a8dSThomas Zimmermann help 35685438a8dSThomas Zimmermann Helpers for VRAM memory management 35785438a8dSThomas Zimmermann 358ff540b76SGerd Hoffmannconfig DRM_TTM_HELPER 359ff540b76SGerd Hoffmann tristate 360ff540b76SGerd Hoffmann depends on DRM 361ff540b76SGerd Hoffmann select DRM_TTM 362*c40ca9efSArnd Bergmann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 3638ce35bf0SThomas Zimmermann select FB_CORE if DRM_FBDEV_EMULATION 3648058944fSThomas Zimmermann select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 365ff540b76SGerd Hoffmann help 366ff540b76SGerd Hoffmann Helpers for ttm-based gem objects 367ff540b76SGerd Hoffmann 3684a83c26aSDanilo Krummrichconfig DRM_GEM_DMA_HELPER 3694b2b5e14SThomas Zimmermann tristate 370e1c7e324SChristoph Hellwig depends on DRM 371*c40ca9efSArnd Bergmann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 3728ce35bf0SThomas Zimmermann select FB_CORE if DRM_FBDEV_EMULATION 37367c40c9bSThomas Zimmermann select FB_DMAMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 374b9d47450SSascha Hauer help 3754a83c26aSDanilo Krummrich Choose this if you need the GEM DMA helper functions 376b9d47450SSascha Hauer 3772194a63aSNoralf Trønnesconfig DRM_GEM_SHMEM_HELPER 3784b2b5e14SThomas Zimmermann tristate 3798b93d1d7SDaniel Vetter depends on DRM && MMU 380*c40ca9efSArnd Bergmann select DRM_KMS_HELPER if DRM_FBDEV_EMULATION 381efb113fcSArnd Bergmann select FB_CORE if DRM_FBDEV_EMULATION 3828058944fSThomas Zimmermann select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION 3832194a63aSNoralf Trønnes help 3842194a63aSNoralf Trønnes Choose this if you need the GEM shmem helper functions 3852194a63aSNoralf Trønnes 386849ee8a2SMaarten Lankhorstconfig DRM_SUBALLOC_HELPER 387849ee8a2SMaarten Lankhorst tristate 388849ee8a2SMaarten Lankhorst depends on DRM 389849ee8a2SMaarten Lankhorst 3901b1f42d8SLucas Stachconfig DRM_SCHED 3911b1f42d8SLucas Stach tristate 3921b1f42d8SLucas Stach depends on DRM 3931b1f42d8SLucas Stach 3946504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig" 3956504d0d9SRob Clark 3968e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig" 3978e22d792SLiviu Dudau 398f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig" 399f71d0187SDave Airlie 400d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig" 401a8fe58ceSMaruthi Bayyavarapu 402f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig" 403f3c93cbdSBen Skeggs 4044520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig" 40599486b8eSJosh Triplett 406dd08ebf6SMatthew Brostsource "drivers/gpu/drm/xe/Kconfig" 407dd08ebf6SMatthew Brost 408ed794057SAnitha Chrisanthussource "drivers/gpu/drm/kmb/Kconfig" 409ed794057SAnitha Chrisanthus 410502e95c6SZach Reiznerconfig DRM_VGEM 411502e95c6SZach Reizner tristate "Virtual GEM provider" 41245d9c8ddSDaniel Vetter depends on DRM && MMU 41345d9c8ddSDaniel Vetter select DRM_GEM_SHMEM_HELPER 414502e95c6SZach Reizner help 415502e95c6SZach Reizner Choose this option to get a virtual graphics memory manager, 416502e95c6SZach Reizner as used by Mesa's software renderer for enhanced performance. 417502e95c6SZach Reizner If M is selected the module will be called vgem. 418502e95c6SZach Reizner 419ffcc67cdSHarry Wentlandsource "drivers/gpu/drm/vkms/Kconfig" 420502e95c6SZach Reizner 4211c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig" 4225a7b74beSThomas Hellstrom 4232048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig" 4242048e328SMark Yao 4255a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig" 42691c75492SAlan Cox 42791c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig" 42891c75492SAlan Cox 4295320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig" 430312fec14SDave Airlie 431312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig" 432312fec14SDave Airlie 433414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig" 434f9aa76a8SDave Airlie 43596f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig" 43696f60e37SRussell King 4371a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig" 4381a396789SBoris Brezillon 43911696c5eSBiju Dassource "drivers/gpu/drm/renesas/Kconfig" 440d8f4a9edSThierry Reding 4419026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig" 4429026e0d1SMaxime Ripard 4438bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig" 444ca18e142SDave Airlie 44516ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig" 446f64122c1SDave Airlie 447f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig" 448c8afe684SRob Clark 449dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig" 450dc5698e8SDave Airlie 451c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig" 452dee8268fSThierry Reding 453109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig" 454109eee2fSJianwei Wang 455dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig" 456aead40eaSThierry Reding 457b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig" 458b759012cSYannick Fertre 459aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig" 460f2cb3148SBenjamin Gaignard 461a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig" 462a33ee95fSThierry Reding 463f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig" 4644a488a7aSOded Gabbay 4656556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig" 466c8b75bcaSEric Anholt 46790b86fccSPaul Cercueilsource "drivers/gpu/drm/ingenic/Kconfig" 46890b86fccSPaul Cercueil 46957692c94SEric Anholtsource "drivers/gpu/drm/v3d/Kconfig" 47057692c94SEric Anholt 471c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig" 472a8c21a54SThe etnaviv authors 473f39db26cSSui Jingfengsource "drivers/gpu/drm/loongson/Kconfig" 474f39db26cSSui Jingfeng 475a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig" 47651dacf20SCarlos Palminha 47723e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig" 478119f5173SCK Hu 479efeeaefeSPaul Kocialkowskisource "drivers/gpu/drm/logicvc/Kconfig" 480efeeaefeSPaul Kocialkowski 481119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig" 482d92d9c3aSDavid Herrmann 48345d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig" 48445d59d70SMarek Vasut 485bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig" 486bbbe775eSNeil Armstrong 487043386a0SNoralf Trønnessource "drivers/gpu/drm/tiny/Kconfig" 488fa201ac2SNoralf Trønnes 489bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig" 490bed41005STom Cooksey 491179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig" 492179c02feSLinus Walleij 493c575b7eeSOleksandr Andrushchenkosource "drivers/gpu/drm/xen/Kconfig" 494c575b7eeSOleksandr Andrushchenko 495131abc56SHans de Goedesource "drivers/gpu/drm/vboxvideo/Kconfig" 496131abc56SHans de Goede 497a1d2a633SQiang Yusource "drivers/gpu/drm/lima/Kconfig" 498a1d2a633SQiang Yu 499f3ba9122SRob Herringsource "drivers/gpu/drm/panfrost/Kconfig" 500f3ba9122SRob Herring 501d72f0490SBoris Brezillonsource "drivers/gpu/drm/panthor/Kconfig" 502d72f0490SBoris Brezillon 5034f2a8f58SJoel Stanleysource "drivers/gpu/drm/aspeed/Kconfig" 5044f2a8f58SJoel Stanley 5055fc537bfSLinus Walleijsource "drivers/gpu/drm/mcde/Kconfig" 5065fc537bfSLinus Walleij 50732a1795fSJyri Sarhasource "drivers/gpu/drm/tidss/Kconfig" 50832a1795fSJyri Sarha 509d76271d2SHyun Kwonsource "drivers/gpu/drm/xlnx/Kconfig" 510d76271d2SHyun Kwon 51140e1a70bSNoralf Trønnessource "drivers/gpu/drm/gud/Kconfig" 51240e1a70bSNoralf Trønnes 513a61732e8SJavier Martinez Canillassource "drivers/gpu/drm/solomon/Kconfig" 514a61732e8SJavier Martinez Canillas 51543531eddSKevin Tangsource "drivers/gpu/drm/sprd/Kconfig" 51643531eddSKevin Tang 5174babef07SSarah Walkersource "drivers/gpu/drm/imagination/Kconfig" 5184babef07SSarah Walker 51976c56a5aSDeepak Rawatconfig DRM_HYPERV 52076c56a5aSDeepak Rawat tristate "DRM Support for Hyper-V synthetic video device" 52176c56a5aSDeepak Rawat depends on DRM && PCI && MMU && HYPERV 522663269ceSThomas Zimmermann select DRM_CLIENT_SELECTION 52376c56a5aSDeepak Rawat select DRM_KMS_HELPER 52476c56a5aSDeepak Rawat select DRM_GEM_SHMEM_HELPER 52576c56a5aSDeepak Rawat help 52676c56a5aSDeepak Rawat This is a KMS driver for Hyper-V synthetic video device. Choose this 52776c56a5aSDeepak Rawat option if you would like to enable drm driver for Hyper-V virtual 52876c56a5aSDeepak Rawat machine. Unselect Hyper-V framebuffer driver (CONFIG_FB_HYPERV) so 52976c56a5aSDeepak Rawat that DRM driver is used by default. 53076c56a5aSDeepak Rawat 53176c56a5aSDeepak Rawat If M is selected the module will be called hyperv_drm. 53276c56a5aSDeepak Rawat 5339b6c80beSRandy Dunlapconfig DRM_EXPORT_FOR_TESTS 5349b6c80beSRandy Dunlap bool 5359b6c80beSRandy Dunlap 536a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM 537a33d42ddSChris Wilson bool 538a33d42ddSChris Wilson default n 539a1a98689SHans de Goede 540a1a98689SHans de Goedeconfig DRM_PRIVACY_SCREEN 541a1a98689SHans de Goede bool 542a1a98689SHans de Goede default n 543f89632a9SJani Nikula 544f89632a9SJani Nikulaconfig DRM_WERROR 545f89632a9SJani Nikula bool "Compile the drm subsystem with warnings as errors" 5464b2d588dSGeert Uytterhoeven depends on DRM && EXPERT 5470c76053eSJani Nikula depends on !WERROR 548f89632a9SJani Nikula default n 549f89632a9SJani Nikula help 550f89632a9SJani Nikula A kernel build should not cause any compiler warnings, and this 551f89632a9SJani Nikula enables the '-Werror' flag to enforce that rule in the drm subsystem. 552f89632a9SJani Nikula 553f89632a9SJani Nikula The drm subsystem enables more warnings than the kernel default, so 554f89632a9SJani Nikula this config option is disabled by default. 555f89632a9SJani Nikula 556f89632a9SJani Nikula If in doubt, say N. 55708f44136SMasahiro Yamada 55808f44136SMasahiro Yamadaendif 55908f44136SMasahiro Yamada 56008f44136SMasahiro Yamada# Separate option because drm_panel_orientation_quirks.c is shared with fbdev 56108f44136SMasahiro Yamadaconfig DRM_PANEL_ORIENTATION_QUIRKS 56208f44136SMasahiro Yamada tristate 563