1# 2# Drm device configuration 3# 4# This driver provides support for the 5# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 6# 7menuconfig DRM 8 tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" 9 depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA 10 select HDMI 11 select FB_CMDLINE 12 select I2C 13 select I2C_ALGOBIT 14 select DMA_SHARED_BUFFER 15 select SYNC_FILE 16 help 17 Kernel-level support for the Direct Rendering Infrastructure (DRI) 18 introduced in XFree86 4.0. If you say Y here, you need to select 19 the module that's right for your graphics card from the list below. 20 These modules provide support for synchronization, security, and 21 DMA transfers. Please see <http://dri.sourceforge.net/> for more 22 details. You should also select and configure AGP 23 (/dev/agpgart) support if it is available for your platform. 24 25config DRM_MIPI_DSI 26 bool 27 depends on DRM 28 29config DRM_DP_AUX_CHARDEV 30 bool "DRM DP AUX Interface" 31 depends on DRM 32 help 33 Choose this option to enable a /dev/drm_dp_auxN node that allows to 34 read and write values to arbitrary DPCD registers on the DP aux 35 channel. 36 37config DRM_DEBUG_MM 38 bool "Insert extra checks and debug info into the DRM range managers" 39 default n 40 depends on DRM=y 41 depends on STACKTRACE_SUPPORT 42 select STACKDEPOT 43 help 44 Enable allocation tracking of memory manager and leak detection on 45 shutdown. 46 47 Recommended for driver developers only. 48 49 If in doubt, say "N". 50 51config DRM_DEBUG_MM_SELFTEST 52 tristate "kselftests for DRM range manager (struct drm_mm)" 53 depends on DRM 54 depends on DEBUG_KERNEL 55 select PRIME_NUMBERS 56 select DRM_LIB_RANDOM 57 default n 58 help 59 This option provides a kernel module that can be used to test 60 the DRM range manager (drm_mm) and its API. This option is not 61 useful for distributions or general kernels, but only for kernel 62 developers working on DRM and associated drivers. 63 64 If in doubt, say "N". 65 66config DRM_KMS_HELPER 67 tristate 68 depends on DRM 69 help 70 CRTC helpers for KMS drivers. 71 72config DRM_KMS_FB_HELPER 73 bool 74 depends on DRM_KMS_HELPER 75 select FB 76 select FRAMEBUFFER_CONSOLE if !EXPERT 77 select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE 78 select FB_SYS_FOPS 79 select FB_SYS_FILLRECT 80 select FB_SYS_COPYAREA 81 select FB_SYS_IMAGEBLIT 82 select FB_CFB_FILLRECT 83 select FB_CFB_COPYAREA 84 select FB_CFB_IMAGEBLIT 85 select FB_DEFERRED_IO 86 help 87 FBDEV helpers for KMS drivers. 88 89config DRM_FBDEV_EMULATION 90 bool "Enable legacy fbdev support for your modesetting driver" 91 depends on DRM 92 select DRM_KMS_HELPER 93 select DRM_KMS_FB_HELPER 94 default y 95 help 96 Choose this option if you have a need for the legacy fbdev 97 support. Note that this support also provides the linux console 98 support on top of your modesetting driver. 99 100 If in doubt, say "Y". 101 102config DRM_FBDEV_OVERALLOC 103 int "Overallocation of the fbdev buffer" 104 depends on DRM_FBDEV_EMULATION 105 default 100 106 help 107 Defines the fbdev buffer overallocation in percent. Default 108 is 100. Typical values for double buffering will be 200, 109 triple buffering 300. 110 111config DRM_LOAD_EDID_FIRMWARE 112 bool "Allow to specify an EDID data set instead of probing for it" 113 depends on DRM 114 help 115 Say Y here, if you want to use EDID data to be loaded from the 116 /lib/firmware directory or one of the provided built-in 117 data sets. This may be necessary, if the graphics adapter or 118 monitor are unable to provide appropriate EDID data. Since this 119 feature is provided as a workaround for broken hardware, the 120 default case is N. Details and instructions how to build your own 121 EDID data are given in Documentation/EDID/HOWTO.txt. 122 123config DRM_TTM 124 tristate 125 depends on DRM && MMU 126 help 127 GPU memory management subsystem for devices with multiple 128 GPU memory types. Will be enabled automatically if a device driver 129 uses it. 130 131config DRM_GEM_CMA_HELPER 132 bool 133 depends on DRM 134 help 135 Choose this if you need the GEM CMA helper functions 136 137config DRM_KMS_CMA_HELPER 138 bool 139 depends on DRM 140 select DRM_GEM_CMA_HELPER 141 select DRM_KMS_FB_HELPER 142 select FB_SYS_FILLRECT 143 select FB_SYS_COPYAREA 144 select FB_SYS_IMAGEBLIT 145 help 146 Choose this if you need the KMS CMA helper functions 147 148config DRM_VM 149 bool 150 depends on DRM && MMU 151 152config DRM_SCHED 153 tristate 154 depends on DRM 155 156source "drivers/gpu/drm/i2c/Kconfig" 157 158source "drivers/gpu/drm/arm/Kconfig" 159 160config DRM_RADEON 161 tristate "ATI Radeon" 162 depends on DRM && PCI && MMU 163 select FW_LOADER 164 select DRM_KMS_HELPER 165 select DRM_TTM 166 select POWER_SUPPLY 167 select HWMON 168 select BACKLIGHT_CLASS_DEVICE 169 select BACKLIGHT_LCD_SUPPORT 170 select INTERVAL_TREE 171 help 172 Choose this option if you have an ATI Radeon graphics card. There 173 are both PCI and AGP versions. You don't need to choose this to 174 run the Radeon in plain VGA mode. 175 176 If M is selected, the module will be called radeon. 177 178source "drivers/gpu/drm/radeon/Kconfig" 179 180config DRM_AMDGPU 181 tristate "AMD GPU" 182 depends on DRM && PCI && MMU 183 select FW_LOADER 184 select DRM_KMS_HELPER 185 select DRM_SCHED 186 select DRM_TTM 187 select POWER_SUPPLY 188 select HWMON 189 select BACKLIGHT_CLASS_DEVICE 190 select BACKLIGHT_LCD_SUPPORT 191 select INTERVAL_TREE 192 select CHASH 193 help 194 Choose this option if you have a recent AMD Radeon graphics card. 195 196 If M is selected, the module will be called amdgpu. 197 198source "drivers/gpu/drm/amd/amdgpu/Kconfig" 199 200source "drivers/gpu/drm/amd/lib/Kconfig" 201 202source "drivers/gpu/drm/nouveau/Kconfig" 203 204source "drivers/gpu/drm/i915/Kconfig" 205 206config DRM_VGEM 207 tristate "Virtual GEM provider" 208 depends on DRM 209 help 210 Choose this option to get a virtual graphics memory manager, 211 as used by Mesa's software renderer for enhanced performance. 212 If M is selected the module will be called vgem. 213 214 215source "drivers/gpu/drm/exynos/Kconfig" 216 217source "drivers/gpu/drm/rockchip/Kconfig" 218 219source "drivers/gpu/drm/vmwgfx/Kconfig" 220 221source "drivers/gpu/drm/gma500/Kconfig" 222 223source "drivers/gpu/drm/udl/Kconfig" 224 225source "drivers/gpu/drm/ast/Kconfig" 226 227source "drivers/gpu/drm/mgag200/Kconfig" 228 229source "drivers/gpu/drm/cirrus/Kconfig" 230 231source "drivers/gpu/drm/armada/Kconfig" 232 233source "drivers/gpu/drm/atmel-hlcdc/Kconfig" 234 235source "drivers/gpu/drm/rcar-du/Kconfig" 236 237source "drivers/gpu/drm/shmobile/Kconfig" 238 239source "drivers/gpu/drm/sun4i/Kconfig" 240 241source "drivers/gpu/drm/omapdrm/Kconfig" 242 243source "drivers/gpu/drm/tilcdc/Kconfig" 244 245source "drivers/gpu/drm/qxl/Kconfig" 246 247source "drivers/gpu/drm/bochs/Kconfig" 248 249source "drivers/gpu/drm/virtio/Kconfig" 250 251source "drivers/gpu/drm/msm/Kconfig" 252 253source "drivers/gpu/drm/fsl-dcu/Kconfig" 254 255source "drivers/gpu/drm/tegra/Kconfig" 256 257source "drivers/gpu/drm/stm/Kconfig" 258 259source "drivers/gpu/drm/panel/Kconfig" 260 261source "drivers/gpu/drm/bridge/Kconfig" 262 263source "drivers/gpu/drm/sti/Kconfig" 264 265source "drivers/gpu/drm/amd/amdkfd/Kconfig" 266 267source "drivers/gpu/drm/imx/Kconfig" 268 269source "drivers/gpu/drm/vc4/Kconfig" 270 271source "drivers/gpu/drm/etnaviv/Kconfig" 272 273source "drivers/gpu/drm/arc/Kconfig" 274 275source "drivers/gpu/drm/hisilicon/Kconfig" 276 277source "drivers/gpu/drm/mediatek/Kconfig" 278 279source "drivers/gpu/drm/zte/Kconfig" 280 281source "drivers/gpu/drm/mxsfb/Kconfig" 282 283source "drivers/gpu/drm/meson/Kconfig" 284 285source "drivers/gpu/drm/tinydrm/Kconfig" 286 287source "drivers/gpu/drm/pl111/Kconfig" 288 289source "drivers/gpu/drm/tve200/Kconfig" 290 291# Keep legacy drivers last 292 293menuconfig DRM_LEGACY 294 bool "Enable legacy drivers (DANGEROUS)" 295 depends on DRM && MMU 296 select DRM_VM 297 help 298 Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous 299 APIs to user-space, which can be used to circumvent access 300 restrictions and other security measures. For backwards compatibility 301 those drivers are still available, but their use is highly 302 inadvisable and might harm your system. 303 304 You are recommended to use the safe modeset-only drivers instead, and 305 perform 3D emulation in user-space. 306 307 Unless you have strong reasons to go rogue, say "N". 308 309if DRM_LEGACY 310 311config DRM_TDFX 312 tristate "3dfx Banshee/Voodoo3+" 313 depends on DRM && PCI 314 help 315 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), 316 graphics card. If M is selected, the module will be called tdfx. 317 318config DRM_R128 319 tristate "ATI Rage 128" 320 depends on DRM && PCI 321 select FW_LOADER 322 help 323 Choose this option if you have an ATI Rage 128 graphics card. If M 324 is selected, the module will be called r128. AGP support for 325 this card is strongly suggested (unless you have a PCI version). 326 327config DRM_I810 328 tristate "Intel I810" 329 # !PREEMPT because of missing ioctl locking 330 depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN) 331 help 332 Choose this option if you have an Intel I810 graphics card. If M is 333 selected, the module will be called i810. AGP support is required 334 for this driver to work. 335 336config DRM_MGA 337 tristate "Matrox g200/g400" 338 depends on DRM && PCI 339 select FW_LOADER 340 help 341 Choose this option if you have a Matrox G200, G400 or G450 graphics 342 card. If M is selected, the module will be called mga. AGP 343 support is required for this driver to work. 344 345config DRM_SIS 346 tristate "SiS video cards" 347 depends on DRM && AGP 348 depends on FB_SIS || FB_SIS=n 349 help 350 Choose this option if you have a SiS 630 or compatible video 351 chipset. If M is selected the module will be called sis. AGP 352 support is required for this driver to work. 353 354config DRM_VIA 355 tristate "Via unichrome video cards" 356 depends on DRM && PCI 357 help 358 Choose this option if you have a Via unichrome or compatible video 359 chipset. If M is selected the module will be called via. 360 361config DRM_SAVAGE 362 tristate "Savage video cards" 363 depends on DRM && PCI 364 help 365 Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister 366 chipset. If M is selected the module will be called savage. 367 368endif # DRM_LEGACY 369 370config DRM_LIB_RANDOM 371 bool 372 default n 373