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