0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config DRM_I915
0003 tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
0004 depends on DRM
0005 depends on X86 && PCI
0006 depends on !PREEMPT_RT
0007 select INTEL_GTT if X86
0008 select INTERVAL_TREE
0009 # we need shmfs for the swappable backing store, and in particular
0010 # the shmem_readpage() which depends upon tmpfs
0011 select SHMEM
0012 select TMPFS
0013 select DRM_DISPLAY_DP_HELPER
0014 select DRM_DISPLAY_HDCP_HELPER
0015 select DRM_DISPLAY_HDMI_HELPER
0016 select DRM_DISPLAY_HELPER
0017 select DRM_KMS_HELPER
0018 select DRM_PANEL
0019 select DRM_MIPI_DSI
0020 select RELAY
0021 select IRQ_WORK
0022 # i915 depends on ACPI_VIDEO when ACPI is enabled
0023 # but for select to work, need to select ACPI_VIDEO's dependencies, ick
0024 select BACKLIGHT_CLASS_DEVICE if ACPI
0025 select INPUT if ACPI
0026 select ACPI_VIDEO if ACPI
0027 select ACPI_BUTTON if ACPI
0028 select SYNC_FILE
0029 select IOSF_MBI if X86
0030 select CRC32
0031 select SND_HDA_I915 if SND_HDA_CORE
0032 select CEC_CORE if CEC_NOTIFIER
0033 select VMAP_PFN
0034 select DRM_TTM
0035 select DRM_BUDDY
0036 select AUXILIARY_BUS
0037 help
0038 Choose this option if you have a system that has "Intel Graphics
0039 Media Accelerator" or "HD Graphics" integrated graphics,
0040 including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G,
0041 G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3,
0042 Core i5, Core i7 as well as Atom CPUs with integrated graphics.
0043
0044 This driver is used by the Intel driver in X.org 6.8 and
0045 XFree86 4.4 and above. It replaces the older i830 module that
0046 supported a subset of the hardware in older X.org releases.
0047
0048 Note that the older i810/i815 chipsets require the use of the
0049 i810 driver instead, and the Atom z5xx series has an entirely
0050 different implementation.
0051
0052 If "M" is selected, the module will be called i915.
0053
0054 config DRM_I915_FORCE_PROBE
0055 string "Force probe driver for selected new Intel hardware"
0056 depends on DRM_I915
0057 help
0058 This is the default value for the i915.force_probe module
0059 parameter. Using the module parameter overrides this option.
0060
0061 Force probe the driver for new Intel graphics devices that are
0062 recognized but not properly supported by this kernel version. It is
0063 recommended to upgrade to a kernel version with proper support as soon
0064 as it is available.
0065
0066 Use "" to disable force probe. If in doubt, use this.
0067
0068 Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
0069 devices. For example, "4500" or "4500,4571".
0070
0071 Use "*" to force probe the driver for all known devices.
0072
0073 config DRM_I915_CAPTURE_ERROR
0074 bool "Enable capturing GPU state following a hang"
0075 depends on DRM_I915
0076 default y
0077 help
0078 This option enables capturing the GPU state when a hang is detected.
0079 This information is vital for triaging hangs and assists in debugging.
0080 Please report any hang for triaging according to:
0081 https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs
0082
0083 If in doubt, say "Y".
0084
0085 config DRM_I915_COMPRESS_ERROR
0086 bool "Compress GPU error state"
0087 depends on DRM_I915_CAPTURE_ERROR
0088 select ZLIB_DEFLATE
0089 default y
0090 help
0091 This option selects ZLIB_DEFLATE if it isn't already
0092 selected and causes any error state captured upon a GPU hang
0093 to be compressed using zlib.
0094
0095 If in doubt, say "Y".
0096
0097 config DRM_I915_USERPTR
0098 bool "Always enable userptr support"
0099 depends on DRM_I915
0100 select MMU_NOTIFIER
0101 default y
0102 help
0103 This option selects CONFIG_MMU_NOTIFIER if it isn't already
0104 selected to enabled full userptr support.
0105
0106 If in doubt, say "Y".
0107
0108 config DRM_I915_GVT
0109 bool
0110
0111 config DRM_I915_GVT_KVMGT
0112 tristate "Enable KVM host support Intel GVT-g graphics virtualization"
0113 depends on DRM_I915
0114 depends on X86
0115 depends on 64BIT
0116 depends on KVM
0117 depends on VFIO_MDEV
0118 select DRM_I915_GVT
0119 select KVM_EXTERNAL_WRITE_TRACKING
0120
0121 help
0122 Choose this option if you want to enable Intel GVT-g graphics
0123 virtualization technology host support with integrated graphics.
0124 With GVT-g, it's possible to have one integrated graphics
0125 device shared by multiple VMs under KVM.
0126
0127 Note that this driver only supports newer device from Broadwell on.
0128 For further information and setup guide, you can visit:
0129 http://01.org/igvt-g.
0130
0131 If in doubt, say "N".
0132
0133 config DRM_I915_PXP
0134 bool "Enable Intel PXP support"
0135 depends on DRM_I915
0136 depends on INTEL_MEI && INTEL_MEI_PXP
0137 default n
0138 help
0139 PXP (Protected Xe Path) is an i915 component, available on graphics
0140 version 12 and newer GPUs, that helps to establish the hardware
0141 protected session and manage the status of the alive software session,
0142 as well as its life cycle.
0143
0144 menu "drm/i915 Debugging"
0145 depends on DRM_I915
0146 depends on EXPERT
0147 source "drivers/gpu/drm/i915/Kconfig.debug"
0148 endmenu
0149
0150 menu "drm/i915 Profile Guided Optimisation"
0151 visible if EXPERT
0152 depends on DRM_I915
0153 source "drivers/gpu/drm/i915/Kconfig.profile"
0154 endmenu
0155
0156 menu "drm/i915 Unstable Evolution"
0157 visible if EXPERT && STAGING && BROKEN
0158 depends on DRM_I915
0159 source "drivers/gpu/drm/i915/Kconfig.unstable"
0160 endmenu