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