| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # Drm device configuration |
| # |
| # This driver provides support for the |
| # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. |
| # |
| menuconfig DRM |
| <------>tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" |
| <------>depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA |
| <------>select DRM_PANEL_ORIENTATION_QUIRKS |
| <------>select HDMI if !ROCKCHIP_MINI_KERNEL |
| <------>select FB_CMDLINE |
| <------>select I2C |
| <------>select I2C_ALGOBIT if !ROCKCHIP_MINI_KERNEL |
| <------>select DMA_SHARED_BUFFER |
| <------>select SYNC_FILE |
| # gallium uses SYS_kcmp for os_same_file_description() to de-duplicate |
| # device and dmabuf fd. Let's make sure that is available for our userspace. |
| <------>select KCMP |
| <------>help |
| <------> Kernel-level support for the Direct Rendering Infrastructure (DRI) |
| <------> introduced in XFree86 4.0. If you say Y here, you need to select |
| <------> the module that's right for your graphics card from the list below. |
| <------> These modules provide support for synchronization, security, and |
| <------> DMA transfers. Please see <http://dri.sourceforge.net/> for more |
| <------> details. You should also select and configure AGP |
| <------> (/dev/agpgart) support if it is available for your platform. |
| |
| config DRM_MIPI_DBI |
| <------>tristate |
| <------>depends on DRM |
| |
| config DRM_EDID |
| <------>bool "EDID function for DRM" |
| <------>depends on DRM |
| <------>select HDMI |
| <------>default y if !ROCKCHIP_MINI_KERNEL |
| <------>help |
| <------> DRM EDID read and parse function. |
| |
| config DRM_IGNORE_IOTCL_PERMIT |
| <------>bool "Ignore drm ioctl permission" |
| <------>depends on DRM && ANDROID && NO_GKI |
| |
| config DRM_MIPI_DSI |
| <------>bool |
| <------>depends on DRM |
| |
| config DRM_DP |
| <------>bool "DRM DisplayPort support" |
| <------>depends on DRM |
| <------>depends on DRM_KMS_HELPER |
| <------>default y if DRM_ANALOGIX_DP |
| <------>default y if !ROCKCHIP_MINI_KERNEL |
| <------>help |
| <------> Choose this option to support DP interface. |
| |
| config DRM_DP_AUX_CHARDEV |
| <------>bool "DRM DP AUX Interface" |
| <------>depends on DRM |
| <------>help |
| <------> Choose this option to enable a /dev/drm_dp_auxN node that allows to |
| <------> read and write values to arbitrary DPCD registers on the DP aux |
| <------> channel. |
| |
| config DRM_DEBUG_MM |
| <------>bool "Insert extra checks and debug info into the DRM range managers" |
| <------>default n |
| <------>depends on DRM=y |
| <------>depends on STACKTRACE_SUPPORT |
| <------>select STACKDEPOT |
| <------>help |
| <------> Enable allocation tracking of memory manager and leak detection on |
| <------> shutdown. |
| |
| <------> Recommended for driver developers only. |
| |
| <------> If in doubt, say "N". |
| |
| config DRM_DEBUG_SELFTEST |
| <------>tristate "kselftests for DRM" |
| <------>depends on DRM |
| <------>depends on DEBUG_KERNEL |
| <------>select PRIME_NUMBERS |
| <------>select DRM_LIB_RANDOM |
| <------>select DRM_KMS_HELPER |
| <------>select DRM_EXPORT_FOR_TESTS if m |
| <------>default n |
| <------>help |
| <------> This option provides kernel modules that can be used to run |
| <------> various selftests on parts of the DRM api. This option is not |
| <------> useful for distributions or general kernels, but only for kernel |
| <------> developers working on DRM and associated drivers. |
| |
| <------> If in doubt, say "N". |
| |
| config DRM_KMS_HELPER |
| <------>tristate |
| <------>depends on DRM |
| <------>help |
| <------> CRTC helpers for KMS drivers. |
| |
| config DRM_KMS_FB_HELPER |
| <------>bool |
| <------>depends on DRM_KMS_HELPER |
| <------>select FB |
| <------>select FRAMEBUFFER_CONSOLE if !EXPERT |
| <------>select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE |
| <------>select FB_SYS_FOPS |
| <------>select FB_SYS_FILLRECT |
| <------>select FB_SYS_COPYAREA |
| <------>select FB_SYS_IMAGEBLIT |
| <------>select FB_CFB_FILLRECT |
| <------>select FB_CFB_COPYAREA |
| <------>select FB_CFB_IMAGEBLIT |
| <------>select FB_DEFERRED_IO |
| <------>help |
| <------> FBDEV helpers for KMS drivers. |
| |
| config DRM_DEBUG_DP_MST_TOPOLOGY_REFS |
| bool "Enable refcount backtrace history in the DP MST helpers" |
| <------>depends on STACKTRACE_SUPPORT |
| select STACKDEPOT |
| depends on DRM_KMS_HELPER |
| depends on DEBUG_KERNEL |
| depends on EXPERT |
| help |
| Enables debug tracing for topology refs in DRM's DP MST helpers. A |
| history of each topology reference/dereference will be printed to the |
| kernel log once a port or branch device's topology refcount reaches 0. |
| |
| This has the potential to use a lot of memory and print some very |
| large kernel messages. If in doubt, say "N". |
| |
| config DRM_FBDEV_EMULATION |
| <------>bool "Enable legacy fbdev support for your modesetting driver" |
| <------>depends on DRM |
| <------>select DRM_KMS_HELPER |
| <------>select DRM_KMS_FB_HELPER |
| <------>default y |
| <------>help |
| <------> Choose this option if you have a need for the legacy fbdev |
| <------> support. Note that this support also provides the linux console |
| <------> support on top of your modesetting driver. |
| |
| <------> If in doubt, say "Y". |
| |
| config DRM_FBDEV_OVERALLOC |
| <------>int "Overallocation of the fbdev buffer" |
| <------>depends on DRM_FBDEV_EMULATION |
| <------>default 100 |
| <------>help |
| <------> Defines the fbdev buffer overallocation in percent. Default |
| <------> is 100. Typical values for double buffering will be 200, |
| <------> triple buffering 300. |
| |
| config DRM_FBDEV_LEAK_PHYS_SMEM |
| <------>bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" |
| <------>depends on DRM_FBDEV_EMULATION && EXPERT |
| <------>default n |
| <------>help |
| <------> In order to keep user-space compatibility, we want in certain |
| <------> use-cases to keep leaking the fbdev physical address to the |
| <------> user-space program handling the fbdev buffer. |
| <------> This affects, not only, Amlogic, Allwinner or Rockchip devices |
| <------> with ARM Mali GPUs using an userspace Blob. |
| <------> This option is not supported by upstream developers and should be |
| <------> removed as soon as possible and be considered as a broken and |
| <------> legacy behaviour from a modern fbdev device driver. |
| |
| <------> Please send any bug reports when using this to your proprietary |
| <------> software vendor that requires this. |
| |
| <------> If in doubt, say "N" or spread the word to your closed source |
| <------> library vendor. |
| |
| config DRM_LOAD_EDID_FIRMWARE |
| <------>bool "Allow to specify an EDID data set instead of probing for it" |
| <------>depends on DRM |
| <------>help |
| <------> Say Y here, if you want to use EDID data to be loaded from the |
| <------> /lib/firmware directory or one of the provided built-in |
| <------> data sets. This may be necessary, if the graphics adapter or |
| <------> monitor are unable to provide appropriate EDID data. Since this |
| <------> feature is provided as a workaround for broken hardware, the |
| <------> default case is N. Details and instructions how to build your own |
| <------> EDID data are given in Documentation/admin-guide/edid.rst. |
| |
| config DRM_DP_CEC |
| <------>bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support" |
| <------>depends on DRM |
| <------>select CEC_CORE |
| <------>help |
| <------> Choose this option if you want to enable HDMI CEC support for |
| <------> DisplayPort/USB-C to HDMI adapters. |
| |
| <------> Note: not all adapters support this feature, and even for those |
| <------> that do support this they often do not hook up the CEC pin. |
| |
| config DRM_TTM |
| <------>tristate |
| <------>depends on DRM && MMU |
| <------>help |
| <------> GPU memory management subsystem for devices with multiple |
| <------> GPU memory types. Will be enabled automatically if a device driver |
| <------> uses it. |
| |
| config DRM_TTM_DMA_PAGE_POOL |
| <------>bool |
| <------>depends on DRM_TTM && (SWIOTLB || INTEL_IOMMU) |
| <------>default y |
| <------>help |
| <------> Choose this if you need the TTM dma page pool |
| |
| config DRM_VRAM_HELPER |
| <------>tristate |
| <------>depends on DRM |
| <------>help |
| <------> Helpers for VRAM memory management |
| |
| config DRM_TTM_HELPER |
| <------>tristate |
| <------>depends on DRM |
| <------>select DRM_TTM |
| <------>help |
| <------> Helpers for ttm-based gem objects |
| |
| config DRM_GEM_CMA_HELPER |
| <------>bool |
| <------>depends on DRM |
| <------>help |
| <------> Choose this if you need the GEM CMA helper functions |
| |
| config DRM_KMS_CMA_HELPER |
| <------>bool |
| <------>depends on DRM |
| <------>select DRM_GEM_CMA_HELPER |
| <------>help |
| <------> Choose this if you need the KMS CMA helper functions |
| |
| config DRM_GEM_SHMEM_HELPER |
| <------>bool |
| <------>depends on DRM |
| <------>help |
| <------> Choose this if you need the GEM shmem helper functions |
| |
| config DRM_VM |
| <------>bool |
| <------>depends on DRM && MMU |
| |
| config DRM_SCHED |
| <------>tristate |
| <------>depends on DRM |
| |
| source "drivers/gpu/drm/i2c/Kconfig" |
| |
| source "drivers/gpu/drm/arm/Kconfig" |
| |
| config DRM_RADEON |
| <------>tristate "ATI Radeon" |
| <------>depends on DRM && PCI && MMU |
| <------>depends on AGP || !AGP |
| <------>select FW_LOADER |
| select DRM_KMS_HELPER |
| select DRM_TTM |
| <------>select POWER_SUPPLY |
| <------>select HWMON |
| <------>select BACKLIGHT_CLASS_DEVICE |
| <------>select INTERVAL_TREE |
| <------>help |
| <------> Choose this option if you have an ATI Radeon graphics card. There |
| <------> are both PCI and AGP versions. You don't need to choose this to |
| <------> run the Radeon in plain VGA mode. |
| |
| <------> If M is selected, the module will be called radeon. |
| |
| source "drivers/gpu/drm/radeon/Kconfig" |
| |
| config DRM_AMDGPU |
| <------>tristate "AMD GPU" |
| <------>depends on DRM && PCI && MMU |
| <------>select FW_LOADER |
| <------>select DRM_KMS_HELPER |
| <------>select DRM_SCHED |
| <------>select DRM_TTM |
| <------>select POWER_SUPPLY |
| <------>select HWMON |
| <------>select BACKLIGHT_CLASS_DEVICE |
| <------>select INTERVAL_TREE |
| <------>select CHASH |
| <------>help |
| <------> Choose this option if you have a recent AMD Radeon graphics card. |
| |
| <------> If M is selected, the module will be called amdgpu. |
| |
| source "drivers/gpu/drm/amd/amdgpu/Kconfig" |
| |
| source "drivers/gpu/drm/nouveau/Kconfig" |
| |
| source "drivers/gpu/drm/i915/Kconfig" |
| |
| config DRM_VGEM |
| <------>tristate "Virtual GEM provider" |
| <------>depends on DRM |
| <------>help |
| <------> Choose this option to get a virtual graphics memory manager, |
| <------> as used by Mesa's software renderer for enhanced performance. |
| <------> If M is selected the module will be called vgem. |
| |
| config DRM_VKMS |
| <------>tristate "Virtual KMS (EXPERIMENTAL)" |
| <------>depends on DRM |
| <------>select DRM_KMS_HELPER |
| <------>select CRC32 |
| <------>default n |
| <------>help |
| <------> Virtual Kernel Mode-Setting (VKMS) is used for testing or for |
| <------> running GPU in a headless machines. Choose this option to get |
| <------> a VKMS. |
| |
| <------> If M is selected the module will be called vkms. |
| |
| source "drivers/gpu/drm/exynos/Kconfig" |
| |
| source "drivers/gpu/drm/rockchip/Kconfig" |
| |
| source "drivers/gpu/drm/vmwgfx/Kconfig" |
| |
| source "drivers/gpu/drm/gma500/Kconfig" |
| |
| source "drivers/gpu/drm/udl/Kconfig" |
| |
| source "drivers/gpu/drm/ast/Kconfig" |
| |
| source "drivers/gpu/drm/mgag200/Kconfig" |
| |
| source "drivers/gpu/drm/armada/Kconfig" |
| |
| source "drivers/gpu/drm/atmel-hlcdc/Kconfig" |
| |
| source "drivers/gpu/drm/rcar-du/Kconfig" |
| |
| source "drivers/gpu/drm/shmobile/Kconfig" |
| |
| source "drivers/gpu/drm/sun4i/Kconfig" |
| |
| source "drivers/gpu/drm/omapdrm/Kconfig" |
| |
| source "drivers/gpu/drm/tilcdc/Kconfig" |
| |
| source "drivers/gpu/drm/qxl/Kconfig" |
| |
| source "drivers/gpu/drm/bochs/Kconfig" |
| |
| source "drivers/gpu/drm/virtio/Kconfig" |
| |
| source "drivers/gpu/drm/msm/Kconfig" |
| |
| source "drivers/gpu/drm/fsl-dcu/Kconfig" |
| |
| source "drivers/gpu/drm/tegra/Kconfig" |
| |
| source "drivers/gpu/drm/stm/Kconfig" |
| |
| source "drivers/gpu/drm/panel/Kconfig" |
| |
| source "drivers/gpu/drm/bridge/Kconfig" |
| |
| source "drivers/gpu/drm/sti/Kconfig" |
| |
| source "drivers/gpu/drm/imx/Kconfig" |
| |
| source "drivers/gpu/drm/ingenic/Kconfig" |
| |
| source "drivers/gpu/drm/v3d/Kconfig" |
| |
| source "drivers/gpu/drm/vc4/Kconfig" |
| |
| source "drivers/gpu/drm/etnaviv/Kconfig" |
| |
| source "drivers/gpu/drm/arc/Kconfig" |
| |
| source "drivers/gpu/drm/hisilicon/Kconfig" |
| |
| source "drivers/gpu/drm/mediatek/Kconfig" |
| |
| source "drivers/gpu/drm/zte/Kconfig" |
| |
| source "drivers/gpu/drm/mxsfb/Kconfig" |
| |
| source "drivers/gpu/drm/meson/Kconfig" |
| |
| source "drivers/gpu/drm/tiny/Kconfig" |
| |
| source "drivers/gpu/drm/pl111/Kconfig" |
| |
| source "drivers/gpu/drm/tve200/Kconfig" |
| |
| source "drivers/gpu/drm/xen/Kconfig" |
| |
| source "drivers/gpu/drm/vboxvideo/Kconfig" |
| |
| source "drivers/gpu/drm/lima/Kconfig" |
| |
| source "drivers/gpu/drm/panfrost/Kconfig" |
| |
| source "drivers/gpu/drm/aspeed/Kconfig" |
| |
| source "drivers/gpu/drm/mcde/Kconfig" |
| |
| source "drivers/gpu/drm/tidss/Kconfig" |
| |
| source "drivers/gpu/drm/xlnx/Kconfig" |
| |
| # Keep legacy drivers last |
| |
| menuconfig DRM_LEGACY |
| <------>bool "Enable legacy drivers (DANGEROUS)" |
| <------>depends on DRM && MMU |
| <------>select DRM_VM |
| <------>help |
| <------> Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous |
| <------> APIs to user-space, which can be used to circumvent access |
| <------> restrictions and other security measures. For backwards compatibility |
| <------> those drivers are still available, but their use is highly |
| <------> inadvisable and might harm your system. |
| |
| <------> You are recommended to use the safe modeset-only drivers instead, and |
| <------> perform 3D emulation in user-space. |
| |
| <------> Unless you have strong reasons to go rogue, say "N". |
| |
| if DRM_LEGACY |
| |
| config DRM_TDFX |
| <------>tristate "3dfx Banshee/Voodoo3+" |
| <------>depends on DRM && PCI |
| <------>help |
| <------> Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), |
| <------> graphics card. If M is selected, the module will be called tdfx. |
| |
| config DRM_R128 |
| <------>tristate "ATI Rage 128" |
| <------>depends on DRM && PCI |
| <------>select FW_LOADER |
| <------>help |
| <------> Choose this option if you have an ATI Rage 128 graphics card. If M |
| <------> is selected, the module will be called r128. AGP support for |
| <------> this card is strongly suggested (unless you have a PCI version). |
| |
| config DRM_I810 |
| <------>tristate "Intel I810" |
| <------># !PREEMPTION because of missing ioctl locking |
| <------>depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN) |
| <------>help |
| <------> Choose this option if you have an Intel I810 graphics card. If M is |
| <------> selected, the module will be called i810. AGP support is required |
| <------> for this driver to work. |
| |
| config DRM_MGA |
| <------>tristate "Matrox g200/g400" |
| <------>depends on DRM && PCI |
| <------>select FW_LOADER |
| <------>help |
| <------> Choose this option if you have a Matrox G200, G400 or G450 graphics |
| <------> card. If M is selected, the module will be called mga. AGP |
| <------> support is required for this driver to work. |
| |
| config DRM_SIS |
| <------>tristate "SiS video cards" |
| <------>depends on DRM && AGP |
| <------>depends on FB_SIS || FB_SIS=n |
| <------>help |
| <------> Choose this option if you have a SiS 630 or compatible video |
| <------> chipset. If M is selected the module will be called sis. AGP |
| <------> support is required for this driver to work. |
| |
| config DRM_VIA |
| <------>tristate "Via unichrome video cards" |
| <------>depends on DRM && PCI |
| <------>help |
| <------> Choose this option if you have a Via unichrome or compatible video |
| <------> chipset. If M is selected the module will be called via. |
| |
| config DRM_SAVAGE |
| <------>tristate "Savage video cards" |
| <------>depends on DRM && PCI |
| <------>help |
| <------> Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister |
| <------> chipset. If M is selected the module will be called savage. |
| |
| endif # DRM_LEGACY |
| |
| config DRM_EXPORT_FOR_TESTS |
| <------>bool |
| |
| # Separate option because drm_panel_orientation_quirks.c is shared with fbdev |
| config DRM_PANEL_ORIENTATION_QUIRKS |
| <------>tristate |
| |
| config DRM_LIB_RANDOM |
| <------>bool |
| <------>default n |
| |