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