11.3Sriastrad# SPDX-License-Identifier: GPL-2.0-only
21.1Sriastradconfig DRM_I915
31.1Sriastrad	tristate "Intel 8xx/9xx/G3x/G4x/HD Graphics"
41.1Sriastrad	depends on DRM
51.1Sriastrad	depends on X86 && PCI
61.1Sriastrad	select INTEL_GTT
71.2Sriastrad	select INTERVAL_TREE
81.1Sriastrad	# we need shmfs for the swappable backing store, and in particular
91.1Sriastrad	# the shmem_readpage() which depends upon tmpfs
101.1Sriastrad	select SHMEM
111.1Sriastrad	select TMPFS
121.1Sriastrad	select DRM_KMS_HELPER
131.2Sriastrad	select DRM_PANEL
141.2Sriastrad	select DRM_MIPI_DSI
151.3Sriastrad	select RELAY
161.3Sriastrad	select IRQ_WORK
171.1Sriastrad	# i915 depends on ACPI_VIDEO when ACPI is enabled
181.1Sriastrad	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
191.1Sriastrad	select BACKLIGHT_CLASS_DEVICE if ACPI
201.1Sriastrad	select INPUT if ACPI
211.1Sriastrad	select ACPI_VIDEO if ACPI
221.1Sriastrad	select ACPI_BUTTON if ACPI
231.3Sriastrad	select SYNC_FILE
241.3Sriastrad	select IOSF_MBI
251.3Sriastrad	select CRC32
261.3Sriastrad	select SND_HDA_I915 if SND_HDA_CORE
271.3Sriastrad	select CEC_CORE if CEC_NOTIFIER
281.1Sriastrad	help
291.1Sriastrad	  Choose this option if you have a system that has "Intel Graphics
301.1Sriastrad	  Media Accelerator" or "HD Graphics" integrated graphics,
311.1Sriastrad	  including 830M, 845G, 852GM, 855GM, 865G, 915G, 945G, 965G,
321.1Sriastrad	  G35, G41, G43, G45 chipsets and Celeron, Pentium, Core i3,
331.1Sriastrad	  Core i5, Core i7 as well as Atom CPUs with integrated graphics.
341.3Sriastrad
351.3Sriastrad	  This driver is used by the Intel driver in X.org 6.8 and
361.3Sriastrad	  XFree86 4.4 and above. It replaces the older i830 module that
371.3Sriastrad	  supported a subset of the hardware in older X.org releases.
381.1Sriastrad
391.1Sriastrad	  Note that the older i810/i815 chipsets require the use of the
401.1Sriastrad	  i810 driver instead, and the Atom z5xx series has an entirely
411.1Sriastrad	  different implementation.
421.1Sriastrad
431.3Sriastrad	  If "M" is selected, the module will be called i915.
441.3Sriastrad
451.3Sriastradconfig DRM_I915_ALPHA_SUPPORT
461.3Sriastrad	bool "Enable alpha quality support for new Intel hardware by default"
471.3Sriastrad	depends on DRM_I915
481.3Sriastrad	help
491.3Sriastrad	  This option is deprecated. Use DRM_I915_FORCE_PROBE option instead.
501.3Sriastrad
511.3Sriastradconfig DRM_I915_FORCE_PROBE
521.3Sriastrad	string "Force probe driver for selected new Intel hardware"
531.1Sriastrad	depends on DRM_I915
541.3Sriastrad	default "*" if DRM_I915_ALPHA_SUPPORT
551.3Sriastrad	help
561.3Sriastrad	  This is the default value for the i915.force_probe module
571.3Sriastrad	  parameter. Using the module parameter overrides this option.
581.3Sriastrad
591.3Sriastrad	  Force probe the driver for new Intel graphics devices that are
601.3Sriastrad	  recognized but not properly supported by this kernel version. It is
611.3Sriastrad	  recommended to upgrade to a kernel version with proper support as soon
621.3Sriastrad	  as it is available.
631.3Sriastrad
641.3Sriastrad	  Use "" to disable force probe. If in doubt, use this.
651.3Sriastrad
661.3Sriastrad	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
671.3Sriastrad	  devices. For example, "4500" or "4500,4571".
681.3Sriastrad
691.3Sriastrad	  Use "*" to force probe the driver for all known devices.
701.3Sriastrad
711.3Sriastradconfig DRM_I915_CAPTURE_ERROR
721.3Sriastrad	bool "Enable capturing GPU state following a hang"
731.3Sriastrad	depends on DRM_I915
741.3Sriastrad	default y
751.3Sriastrad	help
761.3Sriastrad	  This option enables capturing the GPU state when a hang is detected.
771.3Sriastrad	  This information is vital for triaging hangs and assists in debugging.
781.3Sriastrad	  Please report any hang for triaging according to:
791.3Sriastrad	    https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs
801.3Sriastrad
811.3Sriastrad	  If in doubt, say "Y".
821.3Sriastrad
831.3Sriastradconfig DRM_I915_COMPRESS_ERROR
841.3Sriastrad	bool "Compress GPU error state"
851.3Sriastrad	depends on DRM_I915_CAPTURE_ERROR
861.3Sriastrad	select ZLIB_DEFLATE
871.3Sriastrad	default y
881.3Sriastrad	help
891.3Sriastrad	  This option selects ZLIB_DEFLATE if it isn't already
901.3Sriastrad	  selected and causes any error state captured upon a GPU hang
911.3Sriastrad	  to be compressed using zlib.
921.3Sriastrad
931.3Sriastrad	  If in doubt, say "Y".
941.3Sriastrad
951.3Sriastradconfig DRM_I915_USERPTR
961.3Sriastrad	bool "Always enable userptr support"
971.3Sriastrad	depends on DRM_I915
981.3Sriastrad	select MMU_NOTIFIER
991.3Sriastrad	default y
1001.3Sriastrad	help
1011.3Sriastrad	  This option selects CONFIG_MMU_NOTIFIER if it isn't already
1021.3Sriastrad	  selected to enabled full userptr support.
1031.3Sriastrad
1041.3Sriastrad	  If in doubt, say "Y".
1051.3Sriastrad
1061.3Sriastradconfig DRM_I915_GVT
1071.3Sriastrad	bool "Enable Intel GVT-g graphics virtualization host support"
1081.3Sriastrad	depends on DRM_I915
1091.3Sriastrad	depends on 64BIT
1101.1Sriastrad	default n
1111.1Sriastrad	help
1121.3Sriastrad	  Choose this option if you want to enable Intel GVT-g graphics
1131.3Sriastrad	  virtualization technology host support with integrated graphics.
1141.3Sriastrad	  With GVT-g, it's possible to have one integrated graphics
1151.3Sriastrad	  device shared by multiple VMs under different hypervisors.
1161.3Sriastrad
1171.3Sriastrad	  Note that at least one hypervisor like Xen or KVM is required for
1181.3Sriastrad	  this driver to work, and it only supports newer device from
1191.3Sriastrad	  Broadwell+. For further information and setup guide, you can
1201.3Sriastrad	  visit: http://01.org/igvt-g.
1211.3Sriastrad
1221.3Sriastrad	  Now it's just a stub to support the modifications of i915 for
1231.3Sriastrad	  GVT device model. It requires at least one MPT modules for Xen/KVM
1241.3Sriastrad	  and other components of GVT device model to work. Use it under
1251.3Sriastrad	  you own risk.
1261.1Sriastrad
1271.1Sriastrad	  If in doubt, say "N".
1281.3Sriastrad
1291.3Sriastradconfig DRM_I915_GVT_KVMGT
1301.3Sriastrad	tristate "Enable KVM/VFIO support for Intel GVT-g"
1311.3Sriastrad	depends on DRM_I915_GVT
1321.3Sriastrad	depends on KVM
1331.3Sriastrad	depends on VFIO_MDEV && VFIO_MDEV_DEVICE
1341.3Sriastrad	default n
1351.3Sriastrad	help
1361.3Sriastrad	  Choose this option if you want to enable KVMGT support for
1371.3Sriastrad	  Intel GVT-g.
1381.3Sriastrad
1391.3Sriastradmenu "drm/i915 Debugging"
1401.3Sriastraddepends on DRM_I915
1411.3Sriastraddepends on EXPERT
1421.3Sriastradsource "drivers/gpu/drm/i915/Kconfig.debug"
1431.3Sriastradendmenu
1441.3Sriastrad
1451.3Sriastradmenu "drm/i915 Profile Guided Optimisation"
1461.3Sriastrad	visible if EXPERT
1471.3Sriastrad	depends on DRM_I915
1481.3Sriastrad	source "drivers/gpu/drm/i915/Kconfig.profile"
1491.3Sriastradendmenu
1501.3Sriastrad
1511.3Sriastradmenu "drm/i915 Unstable Evolution"
1521.3Sriastrad	visible if EXPERT && STAGING && BROKEN
1531.3Sriastrad	depends on DRM_I915
1541.3Sriastrad	source "drivers/gpu/drm/i915/Kconfig.unstable"
1551.3Sriastradendmenu
156