^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on DRM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) depends on X86 && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select INTEL_GTT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select INTERVAL_TREE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) # we need shmfs for the swappable backing store, and in particular
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) # the shmem_readpage() which depends upon tmpfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) select SHMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) select TMPFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) select DRM_KMS_HELPER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) select DRM_PANEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) select DRM_MIPI_DSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) select RELAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) select IRQ_WORK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) # i915 depends on ACPI_VIDEO when ACPI is enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) # but for select to work, need to select ACPI_VIDEO's dependencies, ick
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select BACKLIGHT_CLASS_DEVICE if ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) select INPUT if ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) select ACPI_VIDEO if ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) select ACPI_BUTTON if ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) select SYNC_FILE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select IOSF_MBI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) select SND_HDA_I915 if SND_HDA_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select CEC_CORE if CEC_NOTIFIER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select VMAP_PFN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Choose this option if you have a system that has "Intel Graphics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Media Accelerator" or "HD Graphics" integrated graphics,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Core i5, Core i7 as well as Atom CPUs with integrated graphics.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) This driver is used by the Intel driver in X.org 6.8 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) XFree86 4.4 and above. It replaces the older i830 module that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) supported a subset of the hardware in older X.org releases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Note that the older i810/i815 chipsets require the use of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) i810 driver instead, and the Atom z5xx series has an entirely
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) different implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) If "M" is selected, the module will be called i915.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) config DRM_I915_FORCE_PROBE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) string "Force probe driver for selected new Intel hardware"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) This is the default value for the i915.force_probe module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) parameter. Using the module parameter overrides this option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Force probe the driver for new Intel graphics devices that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) recognized but not properly supported by this kernel version. It is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) recommended to upgrade to a kernel version with proper support as soon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) as it is available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Use "" to disable force probe. If in doubt, use this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) devices. For example, "4500" or "4500,4571".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) Use "*" to force probe the driver for all known devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) config DRM_I915_CAPTURE_ERROR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) bool "Enable capturing GPU state following a hang"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) This option enables capturing the GPU state when a hang is detected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) This information is vital for triaging hangs and assists in debugging.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) Please report any hang for triaging according to:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) If in doubt, say "Y".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) config DRM_I915_COMPRESS_ERROR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) bool "Compress GPU error state"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) depends on DRM_I915_CAPTURE_ERROR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) select ZLIB_DEFLATE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) This option selects ZLIB_DEFLATE if it isn't already
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) selected and causes any error state captured upon a GPU hang
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) to be compressed using zlib.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) If in doubt, say "Y".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) config DRM_I915_USERPTR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) bool "Always enable userptr support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) select MMU_NOTIFIER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) This option selects CONFIG_MMU_NOTIFIER if it isn't already
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) selected to enabled full userptr support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) If in doubt, say "Y".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) config DRM_I915_GVT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) bool "Enable Intel GVT-g graphics virtualization host support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) depends on X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on 64BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Choose this option if you want to enable Intel GVT-g graphics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) virtualization technology host support with integrated graphics.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) With GVT-g, it's possible to have one integrated graphics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) device shared by multiple VMs under different hypervisors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) Note that at least one hypervisor like Xen or KVM is required for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) this driver to work, and it only supports newer device from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Broadwell+. For further information and setup guide, you can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) visit: http://01.org/igvt-g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) Now it's just a stub to support the modifications of i915 for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) GVT device model. It requires at least one MPT modules for Xen/KVM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) and other components of GVT device model to work. Use it under
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) you own risk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) If in doubt, say "N".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) config DRM_I915_GVT_KVMGT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) tristate "Enable KVM/VFIO support for Intel GVT-g"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) depends on DRM_I915_GVT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) depends on KVM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) depends on VFIO_MDEV && VFIO_MDEV_DEVICE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) Choose this option if you want to enable KVMGT support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) Intel GVT-g.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) menu "drm/i915 Debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) depends on EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) source "drivers/gpu/drm/i915/Kconfig.debug"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) endmenu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) menu "drm/i915 Profile Guided Optimisation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) visible if EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) source "drivers/gpu/drm/i915/Kconfig.profile"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) endmenu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) menu "drm/i915 Unstable Evolution"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) visible if EXPERT && STAGING && BROKEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) depends on DRM_I915
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) source "drivers/gpu/drm/i915/Kconfig.unstable"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) endmenu