xref: /linux/drivers/gpu/drm/xe/Kconfig (revision ffe8ac927d935d7d4a0bd9ac94afd705df79982b)
1# SPDX-License-Identifier: GPL-2.0-only
2config DRM_XE
3	tristate "Intel Xe2 Graphics"
4	depends on DRM && PCI
5	depends on KUNIT || !KUNIT
6	depends on INTEL_VSEC || !INTEL_VSEC
7	depends on X86_PLATFORM_DEVICES || !(X86 && ACPI)
8	depends on PAGE_SIZE_4KB || COMPILE_TEST || BROKEN
9	select INTERVAL_TREE
10	# we need shmfs for the swappable backing store, and in particular
11	# the shmem_readpage() which depends upon tmpfs
12	select SHMEM
13	select TMPFS
14	select DRM_BUDDY
15	select DRM_CLIENT_SELECTION
16	select DRM_EXEC
17	select DRM_KMS_HELPER
18	select DRM_KUNIT_TEST_HELPERS if DRM_XE_KUNIT_TEST != n
19	select DRM_PANEL
20	select DRM_SUBALLOC_HELPER
21	select DRM_DISPLAY_DP_HELPER
22	select DRM_DISPLAY_DSC_HELPER
23	select DRM_DISPLAY_HDCP_HELPER
24	select DRM_DISPLAY_HDMI_HELPER
25	select DRM_DISPLAY_HELPER
26	select DRM_MIPI_DSI
27	select RELAY
28	select IRQ_WORK
29	# xe depends on ACPI_VIDEO when ACPI is enabled
30	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
31	select BACKLIGHT_CLASS_DEVICE if ACPI
32	select INPUT if ACPI
33	select ACPI_VIDEO if X86 && ACPI
34	select ACPI_WMI if X86 && ACPI
35	select SYNC_FILE
36	select CRC32
37	select SND_HDA_I915 if SND_HDA_CORE
38	select CEC_CORE if CEC_NOTIFIER
39	select VMAP_PFN
40	select DRM_TTM
41	select DRM_TTM_HELPER
42	select DRM_EXEC
43	select DRM_GPUVM
44	select DRM_SCHED
45	select MMU_NOTIFIER
46	select WANT_DEV_COREDUMP
47	select AUXILIARY_BUS
48	select HMM_MIRROR
49	select REGMAP if I2C
50	help
51	  Driver for Intel Xe2 series GPUs and later. Experimental support
52	  for Xe series is also available.
53
54	  If "M" is selected, the module will be called xe.
55
56config DRM_XE_DISPLAY
57	bool "Enable display support"
58	depends on DRM_XE && DRM_XE=m && HAS_IOPORT
59	select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
60	select I2C
61	select I2C_ALGOBIT
62	default y
63	help
64	  Disable this option only if you want to compile out display support.
65
66config DRM_XE_DP_TUNNEL
67	bool "Enable DP tunnel support"
68	depends on DRM_XE_DISPLAY
69	depends on USB4
70	select DRM_DISPLAY_DP_TUNNEL
71	default y
72	help
73	  Choose this option to detect DP tunnels and enable the Bandwidth
74	  Allocation mode for such tunnels. This allows using the maximum
75	  resolution allowed by the link BW on all displays sharing the
76	  link BW, for instance on a Thunderbolt link.
77
78	  If in doubt say "Y".
79
80config DRM_XE_GPUSVM
81	bool "Enable CPU to GPU address mirroring"
82	depends on DRM_XE
83	depends on !UML
84	depends on DEVICE_PRIVATE
85	default y
86	select DRM_GPUSVM
87	help
88	  Enable this option if you want support for CPU to GPU address
89	  mirroring.
90
91	  If in doubt say "Y".
92
93config DRM_XE_PAGEMAP
94	bool "Enable device memory pool for SVM"
95	depends on DRM_XE_GPUSVM
96	select GET_FREE_REGION
97	default y
98	help
99	  Disable this option only if you don't want to expose local device
100	  memory for SVM. Will reduce KMD memory footprint when disabled.
101
102	  If in doubt say "Y".
103
104config DRM_XE_FORCE_PROBE
105	string "Force probe xe for selected Intel hardware IDs"
106	depends on DRM_XE
107	help
108	  This is the default value for the xe.force_probe module
109	  parameter. Using the module parameter overrides this option.
110
111	  Force probe the xe for Intel graphics devices that are
112	  recognized but not properly supported by this kernel version. It is
113	  recommended to upgrade to a kernel version with proper support as soon
114	  as it is available.
115
116	  It can also be used to block the probe of recognized and fully
117	  supported devices.
118
119	  Use "" to disable force probe. If in doubt, use this.
120
121	  Use "<pci-id>[,<pci-id>,...]" to force probe the xe for listed
122	  devices. For example, "4500" or "4500,4571".
123
124	  Use "*" to force probe the driver for all known devices.
125
126	  Use "!" right before the ID to block the probe of the device. For
127	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
128	  4571.
129
130	  Use "!*" to block the probe of the driver for all known devices.
131
132menu "drm/Xe Debugging"
133depends on DRM_XE
134depends on EXPERT
135source "drivers/gpu/drm/xe/Kconfig.debug"
136endmenu
137
138menu "drm/xe Profile Guided Optimisation"
139	visible if EXPERT
140	depends on DRM_XE
141	source "drivers/gpu/drm/xe/Kconfig.profile"
142endmenu
143