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