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 1010a85120SThierry Reding select HDMI 11eaf99c74SChris Wilson select FB_CMDLINE 1257a6297eSDave Airlie select I2C 1357a6297eSDave Airlie select I2C_ALGOBIT 143248877eSDave Airlie select DMA_SHARED_BUFFER 1596260142SGustavo Padovan select SYNC_FILE 16c0e09200SDave Airlie help 17c0e09200SDave Airlie Kernel-level support for the Direct Rendering Infrastructure (DRI) 18c0e09200SDave Airlie introduced in XFree86 4.0. If you say Y here, you need to select 19c0e09200SDave Airlie the module that's right for your graphics card from the list below. 20c0e09200SDave Airlie These modules provide support for synchronization, security, and 21c0e09200SDave Airlie DMA transfers. Please see <http://dri.sourceforge.net/> for more 22c0e09200SDave Airlie details. You should also select and configure AGP 23dcdb1674SJordan Crouse (/dev/agpgart) support if it is available for your platform. 24c0e09200SDave Airlie 25068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI 26068a0023SAndrzej Hajda bool 27068a0023SAndrzej Hajda depends on DRM 28068a0023SAndrzej Hajda 29e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV 30e94cb37bSRafael Antognolli bool "DRM DP AUX Interface" 31e94cb37bSRafael Antognolli depends on DRM 32e94cb37bSRafael Antognolli help 33e94cb37bSRafael Antognolli Choose this option to enable a /dev/drm_dp_auxN node that allows to 34e94cb37bSRafael Antognolli read and write values to arbitrary DPCD registers on the DP aux 35e94cb37bSRafael Antognolli channel. 36e94cb37bSRafael Antognolli 375705670dSChris Wilsonconfig DRM_DEBUG_MM 385705670dSChris Wilson bool "Insert extra checks and debug info into the DRM range managers" 395705670dSChris Wilson default n 40cd456f8dSChris Wilson depends on DRM=y 414b514e10SChris Wilson depends on STACKTRACE_SUPPORT 425705670dSChris Wilson select STACKDEPOT 435705670dSChris Wilson help 445705670dSChris Wilson Enable allocation tracking of memory manager and leak detection on 455705670dSChris Wilson shutdown. 465705670dSChris Wilson 475705670dSChris Wilson Recommended for driver developers only. 485705670dSChris Wilson 495705670dSChris Wilson If in doubt, say "N". 505705670dSChris Wilson 5150f0033dSChris Wilsonconfig DRM_DEBUG_MM_SELFTEST 5250f0033dSChris Wilson tristate "kselftests for DRM range manager (struct drm_mm)" 5350f0033dSChris Wilson depends on DRM 5450f0033dSChris Wilson depends on DEBUG_KERNEL 5550f0033dSChris Wilson select PRIME_NUMBERS 5650f0033dSChris Wilson select DRM_LIB_RANDOM 5750f0033dSChris Wilson default n 5850f0033dSChris Wilson help 5950f0033dSChris Wilson This option provides a kernel module that can be used to test 6050f0033dSChris Wilson the DRM range manager (drm_mm) and its API. This option is not 6150f0033dSChris Wilson useful for distributions or general kernels, but only for kernel 6250f0033dSChris Wilson developers working on DRM and associated drivers. 6350f0033dSChris Wilson 6450f0033dSChris Wilson If in doubt, say "N". 6550f0033dSChris Wilson 666fcefd56SDave Airlieconfig DRM_KMS_HELPER 6713a8195bSDave Airlie tristate 6813a8195bSDave Airlie depends on DRM 6992b6f89fSDaniel Vetter help 7092b6f89fSDaniel Vetter CRTC helpers for KMS drivers. 7192b6f89fSDaniel Vetter 7292b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER 7392b6f89fSDaniel Vetter bool 7492b6f89fSDaniel Vetter depends on DRM_KMS_HELPER 7513a8195bSDave Airlie select FB 766a108a14SDavid Rientjes select FRAMEBUFFER_CONSOLE if !EXPERT 77bf5192edSDave Airlie select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 78cbb1a82eSArchit Taneja select FB_SYS_FOPS 79742547b7SArchit Taneja select FB_SYS_FILLRECT 80742547b7SArchit Taneja select FB_SYS_COPYAREA 81742547b7SArchit Taneja select FB_SYS_IMAGEBLIT 82742547b7SArchit Taneja select FB_CFB_FILLRECT 83742547b7SArchit Taneja select FB_CFB_COPYAREA 84742547b7SArchit Taneja select FB_CFB_IMAGEBLIT 85eaa434deSNoralf Trønnes select FB_DEFERRED_IO 8613a8195bSDave Airlie help 8792b6f89fSDaniel Vetter FBDEV helpers for KMS drivers. 8813a8195bSDave Airlie 89a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION 90a03fdcb1SArchit Taneja bool "Enable legacy fbdev support for your modesetting driver" 91a03fdcb1SArchit Taneja depends on DRM 92a03fdcb1SArchit Taneja select DRM_KMS_HELPER 93a03fdcb1SArchit Taneja select DRM_KMS_FB_HELPER 94a03fdcb1SArchit Taneja default y 95a03fdcb1SArchit Taneja help 96a03fdcb1SArchit Taneja Choose this option if you have a need for the legacy fbdev 97a03fdcb1SArchit Taneja support. Note that this support also provides the linux console 98a03fdcb1SArchit Taneja support on top of your modesetting driver. 99a03fdcb1SArchit Taneja 100a03fdcb1SArchit Taneja If in doubt, say "Y". 101a03fdcb1SArchit Taneja 1025f152576SXinliang Liuconfig DRM_FBDEV_OVERALLOC 1035f152576SXinliang Liu int "Overallocation of the fbdev buffer" 1045f152576SXinliang Liu depends on DRM_FBDEV_EMULATION 1055f152576SXinliang Liu default 100 1065f152576SXinliang Liu help 1075f152576SXinliang Liu Defines the fbdev buffer overallocation in percent. Default 1085f152576SXinliang Liu is 100. Typical values for double buffering will be 200, 1095f152576SXinliang Liu triple buffering 300. 1105f152576SXinliang Liu 111da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE 112da0df92bSCarsten Emde bool "Allow to specify an EDID data set instead of probing for it" 113da0df92bSCarsten Emde depends on DRM_KMS_HELPER 114da0df92bSCarsten Emde help 115da0df92bSCarsten Emde Say Y here, if you want to use EDID data to be loaded from the 116da0df92bSCarsten Emde /lib/firmware directory or one of the provided built-in 117da0df92bSCarsten Emde data sets. This may be necessary, if the graphics adapter or 118da0df92bSCarsten Emde monitor are unable to provide appropriate EDID data. Since this 119da0df92bSCarsten Emde feature is provided as a workaround for broken hardware, the 120da0df92bSCarsten Emde default case is N. Details and instructions how to build your own 121da0df92bSCarsten Emde EDID data are given in Documentation/EDID/HOWTO.txt. 122da0df92bSCarsten Emde 123ba4e7d97SThomas Hellstromconfig DRM_TTM 124771fe6b9SJerome Glisse tristate 12562a0d98aSBenjamin Gaignard depends on DRM && MMU 126ba4e7d97SThomas Hellstrom help 127ba4e7d97SThomas Hellstrom GPU memory management subsystem for devices with multiple 128ba4e7d97SThomas Hellstrom GPU memory types. Will be enabled automatically if a device driver 129ba4e7d97SThomas Hellstrom uses it. 130ba4e7d97SThomas Hellstrom 131b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER 132b9d47450SSascha Hauer bool 133e1c7e324SChristoph Hellwig depends on DRM 134b9d47450SSascha Hauer help 135b9d47450SSascha Hauer Choose this if you need the GEM CMA helper functions 136b9d47450SSascha Hauer 1372e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER 1382e3b3c42SLars-Peter Clausen bool 139e1c7e324SChristoph Hellwig depends on DRM 1402e3b3c42SLars-Peter Clausen select DRM_GEM_CMA_HELPER 14192b6f89fSDaniel Vetter select DRM_KMS_FB_HELPER 1422e3b3c42SLars-Peter Clausen select FB_SYS_FILLRECT 1432e3b3c42SLars-Peter Clausen select FB_SYS_COPYAREA 1442e3b3c42SLars-Peter Clausen select FB_SYS_IMAGEBLIT 1452e3b3c42SLars-Peter Clausen help 1462e3b3c42SLars-Peter Clausen Choose this if you need the KMS CMA helper functions 1472e3b3c42SLars-Peter Clausen 14899c48e1eSBenjamin Gaignardconfig DRM_VM 14999c48e1eSBenjamin Gaignard bool 1507e53c284SBenjamin Gaignard depends on DRM && MMU 15199c48e1eSBenjamin Gaignard 1526504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig" 1536504d0d9SRob Clark 1548e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig" 1558e22d792SLiviu Dudau 156c0e09200SDave Airlieconfig DRM_RADEON 157c0e09200SDave Airlie tristate "ATI Radeon" 158011cda58SBenjamin Gaignard depends on DRM && PCI && MMU 15970967ab9SBen Hutchings select FW_LOADER 160a0cdc649SDave Airlie select DRM_KMS_HELPER 161a0cdc649SDave Airlie select DRM_TTM 1625d9b7e2dSDave Airlie select POWER_SUPPLY 16321a8122aSAlex Deucher select HWMON 16414adc892SChristian König select BACKLIGHT_CLASS_DEVICE 16533610527SThierry Reding select BACKLIGHT_LCD_SUPPORT 1660aea5e4aSAlex Deucher select INTERVAL_TREE 167c0e09200SDave Airlie help 168c0e09200SDave Airlie Choose this option if you have an ATI Radeon graphics card. There 169c0e09200SDave Airlie are both PCI and AGP versions. You don't need to choose this to 170c0e09200SDave Airlie run the Radeon in plain VGA mode. 171c0e09200SDave Airlie 172c0e09200SDave Airlie If M is selected, the module will be called radeon. 173c0e09200SDave Airlie 174f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig" 175f71d0187SDave Airlie 176d38ceaf9SAlex Deucherconfig DRM_AMDGPU 177d38ceaf9SAlex Deucher tristate "AMD GPU" 178011cda58SBenjamin Gaignard depends on DRM && PCI && MMU 179d38ceaf9SAlex Deucher select FW_LOADER 180d38ceaf9SAlex Deucher select DRM_KMS_HELPER 181d38ceaf9SAlex Deucher select DRM_TTM 182d38ceaf9SAlex Deucher select POWER_SUPPLY 183d38ceaf9SAlex Deucher select HWMON 184d38ceaf9SAlex Deucher select BACKLIGHT_CLASS_DEVICE 185b325a789SThierry Reding select BACKLIGHT_LCD_SUPPORT 186d38ceaf9SAlex Deucher select INTERVAL_TREE 187d38ceaf9SAlex Deucher help 188d38ceaf9SAlex Deucher Choose this option if you have a recent AMD Radeon graphics card. 189d38ceaf9SAlex Deucher 190d38ceaf9SAlex Deucher If M is selected, the module will be called amdgpu. 191d38ceaf9SAlex Deucher 192d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig" 193a8fe58ceSMaruthi Bayyavarapu 194f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig" 195f3c93cbdSBen Skeggs 1964520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig" 19799486b8eSJosh Triplett 198502e95c6SZach Reiznerconfig DRM_VGEM 199502e95c6SZach Reizner tristate "Virtual GEM provider" 200502e95c6SZach Reizner depends on DRM 201502e95c6SZach Reizner help 202502e95c6SZach Reizner Choose this option to get a virtual graphics memory manager, 203502e95c6SZach Reizner as used by Mesa's software renderer for enhanced performance. 204502e95c6SZach Reizner If M is selected the module will be called vgem. 205502e95c6SZach Reizner 206502e95c6SZach Reizner 2071c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig" 2085a7b74beSThomas Hellstrom 2092048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig" 2102048e328SMark Yao 2115a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig" 21291c75492SAlan Cox 21391c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig" 21491c75492SAlan Cox 2155320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig" 216312fec14SDave Airlie 217312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig" 218312fec14SDave Airlie 219414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig" 220f9aa76a8SDave Airlie 221f9aa76a8SDave Airliesource "drivers/gpu/drm/cirrus/Kconfig" 22251c13278SLaurent Pinchart 22396f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig" 22496f60e37SRussell King 2251a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig" 2261a396789SBoris Brezillon 2274bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig" 2284bf8e196SLaurent Pinchart 22951c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig" 230d8f4a9edSThierry Reding 2319026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig" 2329026e0d1SMaxime Ripard 2338bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig" 234ca18e142SDave Airlie 23516ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig" 236f64122c1SDave Airlie 237f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig" 238c8afe684SRob Clark 2390a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig" 2400a6659bdSGerd Hoffmann 241dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig" 242dc5698e8SDave Airlie 243c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig" 244dee8268fSThierry Reding 245109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig" 246109eee2fSJianwei Wang 247dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig" 248aead40eaSThierry Reding 249b759012cSYannick Fertresource "drivers/gpu/drm/stm/Kconfig" 250b759012cSYannick Fertre 251aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig" 252f2cb3148SBenjamin Gaignard 253a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig" 254a33ee95fSThierry Reding 255f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig" 2564a488a7aSOded Gabbay 2574a488a7aSOded Gabbaysource "drivers/gpu/drm/amd/amdkfd/Kconfig" 2586556f7f8SPhilipp Zabel 2596556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig" 260c8b75bcaSEric Anholt 261c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig" 262a8c21a54SThe etnaviv authors 263a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig" 26451dacf20SCarlos Palminha 26551dacf20SCarlos Palminhasource "drivers/gpu/drm/arc/Kconfig" 26623e7b2abSXinliang Liu 26723e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig" 268119f5173SCK Hu 269119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig" 270d92d9c3aSDavid Herrmann 2710a886f59SShawn Guosource "drivers/gpu/drm/zte/Kconfig" 2720a886f59SShawn Guo 27345d59d70SMarek Vasutsource "drivers/gpu/drm/mxsfb/Kconfig" 27445d59d70SMarek Vasut 275bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig" 276bbbe775eSNeil Armstrong 277fa201ac2SNoralf Trønnessource "drivers/gpu/drm/tinydrm/Kconfig" 278fa201ac2SNoralf Trønnes 279*bed41005STom Cookseysource "drivers/gpu/drm/pl111/Kconfig" 280*bed41005STom Cooksey 281d92d9c3aSDavid Herrmann# Keep legacy drivers last 282d92d9c3aSDavid Herrmann 283d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY 284d92d9c3aSDavid Herrmann bool "Enable legacy drivers (DANGEROUS)" 2857e53c284SBenjamin Gaignard depends on DRM && MMU 28699c48e1eSBenjamin Gaignard select DRM_VM 287d92d9c3aSDavid Herrmann help 288d92d9c3aSDavid Herrmann Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous 289d92d9c3aSDavid Herrmann APIs to user-space, which can be used to circumvent access 290d92d9c3aSDavid Herrmann restrictions and other security measures. For backwards compatibility 291d92d9c3aSDavid Herrmann those drivers are still available, but their use is highly 292d92d9c3aSDavid Herrmann inadvisable and might harm your system. 293d92d9c3aSDavid Herrmann 294d92d9c3aSDavid Herrmann You are recommended to use the safe modeset-only drivers instead, and 295d92d9c3aSDavid Herrmann perform 3D emulation in user-space. 296d92d9c3aSDavid Herrmann 297d92d9c3aSDavid Herrmann Unless you have strong reasons to go rogue, say "N". 298d92d9c3aSDavid Herrmann 299d92d9c3aSDavid Herrmannif DRM_LEGACY 300d92d9c3aSDavid Herrmann 301d92d9c3aSDavid Herrmannconfig DRM_TDFX 302d92d9c3aSDavid Herrmann tristate "3dfx Banshee/Voodoo3+" 303d92d9c3aSDavid Herrmann depends on DRM && PCI 304d92d9c3aSDavid Herrmann help 305d92d9c3aSDavid Herrmann Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), 306d92d9c3aSDavid Herrmann graphics card. If M is selected, the module will be called tdfx. 307d92d9c3aSDavid Herrmann 308d92d9c3aSDavid Herrmannconfig DRM_R128 309d92d9c3aSDavid Herrmann tristate "ATI Rage 128" 310d92d9c3aSDavid Herrmann depends on DRM && PCI 311d92d9c3aSDavid Herrmann select FW_LOADER 312d92d9c3aSDavid Herrmann help 313d92d9c3aSDavid Herrmann Choose this option if you have an ATI Rage 128 graphics card. If M 314d92d9c3aSDavid Herrmann is selected, the module will be called r128. AGP support for 315d92d9c3aSDavid Herrmann this card is strongly suggested (unless you have a PCI version). 316d92d9c3aSDavid Herrmann 317d92d9c3aSDavid Herrmannconfig DRM_I810 318d92d9c3aSDavid Herrmann tristate "Intel I810" 319d92d9c3aSDavid Herrmann # !PREEMPT because of missing ioctl locking 320d92d9c3aSDavid Herrmann depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN) 321d92d9c3aSDavid Herrmann help 322d92d9c3aSDavid Herrmann Choose this option if you have an Intel I810 graphics card. If M is 323d92d9c3aSDavid Herrmann selected, the module will be called i810. AGP support is required 324d92d9c3aSDavid Herrmann for this driver to work. 325d92d9c3aSDavid Herrmann 326d92d9c3aSDavid Herrmannconfig DRM_MGA 327d92d9c3aSDavid Herrmann tristate "Matrox g200/g400" 328d92d9c3aSDavid Herrmann depends on DRM && PCI 329d92d9c3aSDavid Herrmann select FW_LOADER 330d92d9c3aSDavid Herrmann help 331d92d9c3aSDavid Herrmann Choose this option if you have a Matrox G200, G400 or G450 graphics 332d92d9c3aSDavid Herrmann card. If M is selected, the module will be called mga. AGP 333d92d9c3aSDavid Herrmann support is required for this driver to work. 334d92d9c3aSDavid Herrmann 335d92d9c3aSDavid Herrmannconfig DRM_SIS 336d92d9c3aSDavid Herrmann tristate "SiS video cards" 337d92d9c3aSDavid Herrmann depends on DRM && AGP 338d92d9c3aSDavid Herrmann depends on FB_SIS || FB_SIS=n 339d92d9c3aSDavid Herrmann help 340d92d9c3aSDavid Herrmann Choose this option if you have a SiS 630 or compatible video 341d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called sis. AGP 342d92d9c3aSDavid Herrmann support is required for this driver to work. 343d92d9c3aSDavid Herrmann 344d92d9c3aSDavid Herrmannconfig DRM_VIA 345d92d9c3aSDavid Herrmann tristate "Via unichrome video cards" 346d92d9c3aSDavid Herrmann depends on DRM && PCI 347d92d9c3aSDavid Herrmann help 348d92d9c3aSDavid Herrmann Choose this option if you have a Via unichrome or compatible video 349d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called via. 350d92d9c3aSDavid Herrmann 351d92d9c3aSDavid Herrmannconfig DRM_SAVAGE 352d92d9c3aSDavid Herrmann tristate "Savage video cards" 353d92d9c3aSDavid Herrmann depends on DRM && PCI 354d92d9c3aSDavid Herrmann help 355d92d9c3aSDavid Herrmann Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister 356d92d9c3aSDavid Herrmann chipset. If M is selected the module will be called savage. 357d92d9c3aSDavid Herrmann 358d92d9c3aSDavid Herrmannendif # DRM_LEGACY 359a33d42ddSChris Wilson 360a33d42ddSChris Wilsonconfig DRM_LIB_RANDOM 361a33d42ddSChris Wilson bool 362a33d42ddSChris Wilson default n 363