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