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