1c0e09200SDave Airlie# 2c0e09200SDave Airlie# Drm device configuration 3c0e09200SDave Airlie# 4c0e09200SDave Airlie# This driver provides support for the 5c0e09200SDave Airlie# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 6c0e09200SDave Airlie# 7c0e09200SDave Airliemenuconfig DRM 8c0e09200SDave Airlie tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" 962a0d98aSBenjamin Gaignard depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA 108d70f395SHans de Goede select DRM_PANEL_ORIENTATION_QUIRKS 1110a85120SThierry Reding select HDMI 12eaf99c74SChris Wilson select FB_CMDLINE 1357a6297eSDave Airlie select I2C 1457a6297eSDave Airlie select I2C_ALGOBIT 153248877eSDave Airlie select DMA_SHARED_BUFFER 1696260142SGustavo Padovan select SYNC_FILE 17c0e09200SDave Airlie help 18c0e09200SDave Airlie Kernel-level support for the Direct Rendering Infrastructure (DRI) 19c0e09200SDave Airlie introduced in XFree86 4.0. If you say Y here, you need to select 20c0e09200SDave Airlie the module that's right for your graphics card from the list below. 21c0e09200SDave Airlie These modules provide support for synchronization, security, and 22c0e09200SDave Airlie DMA transfers. Please see <http://dri.sourceforge.net/> for more 23c0e09200SDave Airlie details. You should also select and configure AGP 24dcdb1674SJordan Crouse (/dev/agpgart) support if it is available for your platform. 25c0e09200SDave Airlie 26068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI 27068a0023SAndrzej Hajda bool 28068a0023SAndrzej Hajda depends on DRM 29068a0023SAndrzej Hajda 30e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV 31e94cb37bSRafael Antognolli bool "DRM DP AUX Interface" 32e94cb37bSRafael Antognolli depends on DRM 33e94cb37bSRafael Antognolli help 34e94cb37bSRafael Antognolli Choose this option to enable a /dev/drm_dp_auxN node that allows to 35e94cb37bSRafael Antognolli read and write values to arbitrary DPCD registers on the DP aux 36e94cb37bSRafael Antognolli channel. 37e94cb37bSRafael Antognolli 385705670dSChris Wilsonconfig DRM_DEBUG_MM 395705670dSChris Wilson bool "Insert extra checks and debug info into the DRM range managers" 405705670dSChris Wilson default n 41cd456f8dSChris Wilson depends on DRM=y 424b514e10SChris Wilson depends on STACKTRACE_SUPPORT 435705670dSChris Wilson select STACKDEPOT 445705670dSChris Wilson help 455705670dSChris Wilson Enable allocation tracking of memory manager and leak detection on 465705670dSChris Wilson shutdown. 475705670dSChris Wilson 485705670dSChris Wilson Recommended for driver developers only. 495705670dSChris Wilson 505705670dSChris Wilson If in doubt, say "N". 515705670dSChris Wilson 5250f0033dSChris Wilsonconfig DRM_DEBUG_MM_SELFTEST 5350f0033dSChris Wilson tristate "kselftests for DRM range manager (struct drm_mm)" 5450f0033dSChris Wilson depends on DRM 5550f0033dSChris Wilson depends on DEBUG_KERNEL 5650f0033dSChris Wilson select PRIME_NUMBERS 5750f0033dSChris Wilson select DRM_LIB_RANDOM 5850f0033dSChris Wilson default n 5950f0033dSChris Wilson help 6050f0033dSChris Wilson This option provides a kernel module that can be used to test 6150f0033dSChris Wilson the DRM range manager (drm_mm) and its API. This option is not 6250f0033dSChris Wilson useful for distributions or general kernels, but only for kernel 6350f0033dSChris Wilson developers working on DRM and associated drivers. 6450f0033dSChris Wilson 6550f0033dSChris Wilson If in doubt, say "N". 6650f0033dSChris Wilson 676fcefd56SDave Airlieconfig DRM_KMS_HELPER 6813a8195bSDave Airlie tristate 6913a8195bSDave Airlie depends on DRM 7092b6f89fSDaniel Vetter help 7192b6f89fSDaniel Vetter CRTC helpers for KMS drivers. 7292b6f89fSDaniel Vetter 7392b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER 7492b6f89fSDaniel Vetter bool 7592b6f89fSDaniel Vetter depends on DRM_KMS_HELPER 7613a8195bSDave Airlie select FB 776a108a14SDavid Rientjes select FRAMEBUFFER_CONSOLE if !EXPERT 78bf5192edSDave Airlie select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 79cbb1a82eSArchit Taneja select FB_SYS_FOPS 80742547b7SArchit Taneja select FB_SYS_FILLRECT 81742547b7SArchit Taneja select FB_SYS_COPYAREA 82742547b7SArchit Taneja select FB_SYS_IMAGEBLIT 83742547b7SArchit Taneja select FB_CFB_FILLRECT 84742547b7SArchit Taneja select FB_CFB_COPYAREA 85742547b7SArchit Taneja select FB_CFB_IMAGEBLIT 86eaa434deSNoralf Trønnes select FB_DEFERRED_IO 8713a8195bSDave Airlie help 8892b6f89fSDaniel Vetter FBDEV helpers for KMS drivers. 8913a8195bSDave Airlie 90a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION 91a03fdcb1SArchit Taneja bool "Enable legacy fbdev support for your modesetting driver" 92a03fdcb1SArchit Taneja depends on DRM 93a03fdcb1SArchit Taneja select DRM_KMS_HELPER 94a03fdcb1SArchit Taneja select DRM_KMS_FB_HELPER 95a03fdcb1SArchit Taneja default y 96a03fdcb1SArchit Taneja help 97a03fdcb1SArchit Taneja Choose this option if you have a need for the legacy fbdev 98a03fdcb1SArchit Taneja support. Note that this support also provides the linux console 99a03fdcb1SArchit Taneja support on top of your modesetting driver. 100a03fdcb1SArchit Taneja 101a03fdcb1SArchit Taneja If in doubt, say "Y". 102a03fdcb1SArchit Taneja 1035f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC 1045f152576SXinliang Liu int "Overallocation of the fbdev buffer" 1055f152576SXinliang Liu depends on DRM_FBDEV_EMULATION 1065f152576SXinliang Liu default 100 1075f152576SXinliang Liu help 1085f152576SXinliang Liu Defines the fbdev buffer overallocation in percent. Default 1095f152576SXinliang Liu is 100. Typical values for double buffering will be 200, 1105f152576SXinliang Liu triple buffering 300. 1115f152576SXinliang Liu 112da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE 113da0df92bSCarsten Emde bool "Allow to specify an EDID data set instead of probing for it" 11453fd40a9SJani Nikula depends on DRM 115da0df92bSCarsten Emde help 116da0df92bSCarsten Emde Say Y here, if you want to use EDID data to be loaded from the 117da0df92bSCarsten Emde /lib/firmware directory or one of the provided built-in 118da0df92bSCarsten Emde data sets. This may be necessary, if the graphics adapter or 119da0df92bSCarsten Emde monitor are unable to provide appropriate EDID data. Since this 120da0df92bSCarsten Emde feature is provided as a workaround for broken hardware, the 121da0df92bSCarsten Emde default case is N. Details and instructions how to build your own 122da0df92bSCarsten Emde EDID data are given in Documentation/EDID/HOWTO.txt. 123da0df92bSCarsten Emde 124ba4e7d97SThomas Hellstromconfig DRM_TTM 125771fe6b9SJerome Glisse tristate 12662a0d98aSBenjamin Gaignard depends on DRM && MMU 127ba4e7d97SThomas Hellstrom help 128ba4e7d97SThomas Hellstrom GPU memory management subsystem for devices with multiple 129ba4e7d97SThomas Hellstrom GPU memory types. Will be enabled automatically if a device driver 130ba4e7d97SThomas Hellstrom uses it. 131ba4e7d97SThomas Hellstrom 132b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER 133b9d47450SSascha Hauer bool 134e1c7e324SChristoph Hellwig depends on DRM 135b9d47450SSascha Hauer help 136b9d47450SSascha Hauer Choose this if you need the GEM CMA helper functions 137b9d47450SSascha Hauer 1382e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER 1392e3b3c42SLars-Peter Clausen bool 140e1c7e324SChristoph Hellwig depends on DRM 1412e3b3c42SLars-Peter Clausen select DRM_GEM_CMA_HELPER 14292b6f89fSDaniel Vetter select DRM_KMS_FB_HELPER 1432e3b3c42SLars-Peter Clausen select FB_SYS_FILLRECT 1442e3b3c42SLars-Peter Clausen select FB_SYS_COPYAREA 1452e3b3c42SLars-Peter Clausen select FB_SYS_IMAGEBLIT 1462e3b3c42SLars-Peter Clausen help 1472e3b3c42SLars-Peter Clausen Choose this if you need the KMS CMA helper functions 1482e3b3c42SLars-Peter Clausen 14999c48e1eSBenjamin Gaignardconfig DRM_VM 15099c48e1eSBenjamin Gaignard bool 1517e53c284SBenjamin Gaignard depends on DRM && MMU 15299c48e1eSBenjamin Gaignard 1536504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig" 1546504d0d9SRob Clark 1558e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig" 1568e22d792SLiviu Dudau 157c0e09200SDave Airlieconfig DRM_RADEON 158c0e09200SDave Airlie tristate "ATI Radeon" 159011cda58SBenjamin Gaignard depends on DRM && PCI && MMU 16070967ab9SBen Hutchings select FW_LOADER 161a0cdc649SDave Airlie select DRM_KMS_HELPER 162a0cdc649SDave Airlie select DRM_TTM 1635d9b7e2dSDave Airlie select POWER_SUPPLY 16421a8122aSAlex Deucher select HWMON 16514adc892SChristian König select BACKLIGHT_CLASS_DEVICE 16633610527SThierry Reding select BACKLIGHT_LCD_SUPPORT 1670aea5e4aSAlex Deucher select INTERVAL_TREE 168c0e09200SDave Airlie help 169c0e09200SDave Airlie Choose this option if you have an ATI Radeon graphics card. There 170c0e09200SDave Airlie are both PCI and AGP versions. You don't need to choose this to 171c0e09200SDave Airlie run the Radeon in plain VGA mode. 172c0e09200SDave Airlie 173c0e09200SDave Airlie If M is selected, the module will be called radeon. 174c0e09200SDave Airlie 175f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig" 176f71d0187SDave Airlie 177d38ceaf9SAlex Deucherconfig DRM_AMDGPU 178d38ceaf9SAlex Deucher tristate "AMD GPU" 179011cda58SBenjamin Gaignard depends on DRM && PCI && MMU 180d38ceaf9SAlex Deucher select FW_LOADER 181d38ceaf9SAlex Deucher select DRM_KMS_HELPER 182d38ceaf9SAlex Deucher select DRM_TTM 183d38ceaf9SAlex Deucher select POWER_SUPPLY 184d38ceaf9SAlex Deucher select HWMON 185d38ceaf9SAlex Deucher select BACKLIGHT_CLASS_DEVICE 186b325a789SThierry Reding select BACKLIGHT_LCD_SUPPORT 187d38ceaf9SAlex Deucher select INTERVAL_TREE 188a2f14820SFelix Kuehling select CHASH 189d38ceaf9SAlex Deucher help 190d38ceaf9SAlex Deucher Choose this option if you have a recent AMD Radeon graphics card. 191d38ceaf9SAlex Deucher 192d38ceaf9SAlex Deucher If M is selected, the module will be called amdgpu. 193d38ceaf9SAlex Deucher 194d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig" 195a8fe58ceSMaruthi Bayyavarapu 1965d86b2c3SFelix Kuehlingsource "drivers/gpu/drm/amd/lib/Kconfig" 1975d86b2c3SFelix Kuehling 198f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig" 199f3c93cbdSBen Skeggs 2004520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig" 20199486b8eSJosh Triplett 202502e95c6SZach Reiznerconfig DRM_VGEM 203502e95c6SZach Reizner tristate "Virtual GEM provider" 204502e95c6SZach Reizner depends on DRM 205502e95c6SZach Reizner help 206502e95c6SZach Reizner Choose this option to get a virtual graphics memory manager, 207502e95c6SZach Reizner as used by Mesa's software renderer for enhanced performance. 208502e95c6SZach Reizner If M is selected the module will be called vgem. 209502e95c6SZach Reizner 210502e95c6SZach Reizner 2111c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig" 2125a7b74beSThomas Hellstrom 2132048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig" 2142048e328SMark Yao 2155a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig" 21691c75492SAlan Cox 21791c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig" 21891c75492SAlan Cox 2195320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig" 220312fec14SDave Airlie 221312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig" 222312fec14SDave Airlie 223414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig" 224f9aa76a8SDave Airlie 225f9aa76a8SDave Airliesource "drivers/gpu/drm/cirrus/Kconfig" 22651c13278SLaurent Pinchart 22796f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig" 22896f60e37SRussell King 2291a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig" 2301a396789SBoris Brezillon 2314bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig" 2324bf8e196SLaurent Pinchart 23351c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig" 234d8f4a9edSThierry Reding 2359026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig" 2369026e0d1SMaxime Ripard 2378bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig" 238ca18e142SDave Airlie 23916ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig" 240f64122c1SDave Airlie 241f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig" 242c8afe684SRob Clark 2430a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig" 2440a6659bdSGerd Hoffmann 245dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig" 246dc5698e8SDave Airlie 247c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig" 248dee8268fSThierry Reding 249109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig" 250109eee2fSJianwei Wang 251dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig" 252aead40eaSThierry Reding 253b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig" 254b759012cSYannick Fertre 255aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig" 256f2cb3148SBenjamin Gaignard 257a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig" 258a33ee95fSThierry Reding 259f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig" 2604a488a7aSOded Gabbay 2614a488a7aSOded Gabbaysource "drivers/gpu/drm/amd/amdkfd/Kconfig" 2626556f7f8SPhilipp Zabel 2636556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig" 264c8b75bcaSEric Anholt 265c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig" 266a8c21a54SThe etnaviv authors 267a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig" 26851dacf20SCarlos Palminha 26951dacf20SCarlos Palminhasource "drivers/gpu/drm/arc/Kconfig" 27023e7b2abSXinliang Liu 27123e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig" 272119f5173SCK Hu 273119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig" 274d92d9c3aSDavid Herrmann 2750a886f59SShawn Guosource "drivers/gpu/drm/zte/Kconfig" 2760a886f59SShawn Guo 27745d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig" 27845d59d70SMarek Vasut 279bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig" 280bbbe775eSNeil Armstrong 281fa201ac2SNoralf Trønnessource "drivers/gpu/drm/tinydrm/Kconfig" 282fa201ac2SNoralf Trønnes 283bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig" 284bed41005STom Cooksey 285179c02feSLinus Walleijsource "drivers/gpu/drm/tve200/Kconfig" 286179c02feSLinus Walleij 287d92d9c3aSDavid Herrmann# Keep legacy drivers last 288d92d9c3aSDavid Herrmann 289d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY 290d92d9c3aSDavid Herrmann bool "Enable legacy drivers (DANGEROUS)" 2917e53c284SBenjamin Gaignard depends on DRM && MMU 29299c48e1eSBenjamin Gaignard select DRM_VM 293d92d9c3aSDavid Herrmann help 294d92d9c3aSDavid Herrmann Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous 295d92d9c3aSDavid Herrmann APIs to user-space, which can be used to circumvent access 296d92d9c3aSDavid Herrmann restrictions and other security measures. For backwards compatibility 297d92d9c3aSDavid Herrmann those drivers are still available, but their use is highly 298d92d9c3aSDavid Herrmann inadvisable and might harm your system. 299d92d9c3aSDavid Herrmann 300d92d9c3aSDavid Herrmann You are recommended to use the safe modeset-only drivers instead, and 301d92d9c3aSDavid Herrmann perform 3D emulation in user-space. 302d92d9c3aSDavid Herrmann 303d92d9c3aSDavid Herrmann Unless you have strong reasons to go rogue, say "N". 304d92d9c3aSDavid Herrmann 305d92d9c3aSDavid Herrmannif DRM_LEGACY 306d92d9c3aSDavid Herrmann 307d92d9c3aSDavid Herrmannconfig DRM_TDFX 308d92d9c3aSDavid Herrmann tristate "3dfx Banshee/Voodoo3+" 309d92d9c3aSDavid Herrmann depends on DRM && PCI 310d92d9c3aSDavid Herrmann help 311d92d9c3aSDavid Herrmann Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), 312d92d9c3aSDavid Herrmann graphics card. If M is selected, the module will be called tdfx. 313d92d9c3aSDavid Herrmann 314d92d9c3aSDavid Herrmannconfig DRM_R128 315d92d9c3aSDavid Herrmann tristate "ATI Rage 128" 316d92d9c3aSDavid Herrmann depends on DRM && PCI 317d92d9c3aSDavid Herrmann select FW_LOADER 318d92d9c3aSDavid Herrmann help 319d92d9c3aSDavid Herrmann Choose this option if you have an ATI Rage 128 graphics card. If M 320d92d9c3aSDavid Herrmann is selected, the module will be called r128. AGP support for 321d92d9c3aSDavid Herrmann this card is strongly suggested (unless you have a PCI version). 322d92d9c3aSDavid Herrmann 323d92d9c3aSDavid Herrmannconfig DRM_I810 324d92d9c3aSDavid Herrmann tristate "Intel I810" 325d92d9c3aSDavid Herrmann # !PREEMPT because of missing ioctl locking 326d92d9c3aSDavid Herrmann depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN) 327d92d9c3aSDavid Herrmann help 328d92d9c3aSDavid Herrmann Choose this option if you have an Intel I810 graphics card. If M is 329d92d9c3aSDavid Herrmann selected, the module will be called i810. AGP support is required 330d92d9c3aSDavid Herrmann for this driver to work. 331d92d9c3aSDavid Herrmann 332d92d9c3aSDavid Herrmannconfig DRM_MGA 333d92d9c3aSDavid Herrmann tristate "Matrox g200/g400" 334d92d9c3aSDavid Herrmann depends on DRM && PCI 335d92d9c3aSDavid Herrmann select FW_LOADER 336d92d9c3aSDavid Herrmann help 337d92d9c3aSDavid Herrmann Choose this option if you have a Matrox G200, G400 or G450 graphics 338d92d9c3aSDavid Herrmann card. If M is selected, the module will be called mga. AGP 339d92d9c3aSDavid Herrmann support is required for this driver to work. 340d92d9c3aSDavid Herrmann 341d92d9c3aSDavid Herrmannconfig DRM_SIS 342d92d9c3aSDavid Herrmann tristate "SiS video cards" 343d92d9c3aSDavid Herrmann depends on DRM && AGP 344d92d9c3aSDavid Herrmann depends on FB_SIS || FB_SIS=n 345d92d9c3aSDavid Herrmann help 346d92d9c3aSDavid Herrmann Choose this option if you have a SiS 630 or compatible video 347d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called sis. AGP 348d92d9c3aSDavid Herrmann support is required for this driver to work. 349d92d9c3aSDavid Herrmann 350d92d9c3aSDavid Herrmannconfig DRM_VIA 351d92d9c3aSDavid Herrmann tristate "Via unichrome video cards" 352d92d9c3aSDavid Herrmann depends on DRM && PCI 353d92d9c3aSDavid Herrmann help 354d92d9c3aSDavid Herrmann Choose this option if you have a Via unichrome or compatible video 355d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called via. 356d92d9c3aSDavid Herrmann 357d92d9c3aSDavid Herrmannconfig DRM_SAVAGE 358d92d9c3aSDavid Herrmann tristate "Savage video cards" 359d92d9c3aSDavid Herrmann depends on DRM && PCI 360d92d9c3aSDavid Herrmann help 361d92d9c3aSDavid Herrmann Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister 362d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called savage. 363d92d9c3aSDavid Herrmann 364d92d9c3aSDavid Herrmannendif # DRM_LEGACY 365a33d42ddSChris Wilson 366*341a0ffcSHans de Goede# Separate option because drm_panel_orientation_quirks.c is shared with fbdev 367*341a0ffcSHans de Goedeconfig DRM_PANEL_ORIENTATION_QUIRKS 368*341a0ffcSHans de Goede tristate 369*341a0ffcSHans de Goede 370a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM 371a33d42ddSChris Wilson bool 372a33d42ddSChris Wilson default n 373