| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | config 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_KMS_HELPER |
| 17 | select DRM_KUNIT_TEST_HELPERS if DRM_XE_KUNIT_TEST != n |
| 18 | select DRM_PANEL |
| 19 | select DRM_SUBALLOC_HELPER |
| 20 | select DRM_DISPLAY_DP_HELPER |
| 21 | select DRM_DISPLAY_DSC_HELPER |
| 22 | select DRM_DISPLAY_HDCP_HELPER |
| 23 | select DRM_DISPLAY_HDMI_HELPER |
| 24 | select DRM_DISPLAY_HELPER |
| 25 | select DRM_MIPI_DSI |
| 26 | select RELAY |
| 27 | select IRQ_WORK |
| 28 | # xe depends on ACPI_VIDEO when ACPI is enabled |
| 29 | # but for select to work, need to select ACPI_VIDEO's dependencies, ick |
| 30 | select BACKLIGHT_CLASS_DEVICE if ACPI |
| 31 | select INPUT if ACPI |
| 32 | select ACPI_VIDEO if X86 && ACPI |
| 33 | select ACPI_WMI if X86 && ACPI |
| 34 | select SYNC_FILE |
| 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_TTM_HELPER |
| 41 | select DRM_EXEC |
| 42 | select DRM_GPUSVM if !UML |
| 43 | select DRM_GPUVM |
| 44 | select DRM_SCHED |
| 45 | select MMU_NOTIFIER |
| 46 | select WANT_DEV_COREDUMP |
| 47 | select AUXILIARY_BUS |
| 48 | select REGMAP if I2C |
| 49 | help |
| 50 | Driver for Intel Xe2 series GPUs and later. Experimental support |
| 51 | for Xe series is also available. |
| 52 | |
| 53 | If "M" is selected, the module will be called xe. |
| 54 | |
| 55 | config DRM_XE_DISPLAY |
| 56 | bool "Enable display support" |
| 57 | depends on DRM_XE && DRM_XE=m && HAS_IOPORT |
| 58 | select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION |
| 59 | select I2C |
| 60 | select I2C_ALGOBIT |
| 61 | default y |
| 62 | help |
| 63 | Disable this option only if you want to compile out display support. |
| 64 | |
| 65 | config DRM_XE_DP_TUNNEL |
| 66 | bool "Enable DP tunnel support" |
| 67 | depends on DRM_XE_DISPLAY |
| 68 | depends on USB4 |
| 69 | select DRM_DISPLAY_DP_TUNNEL |
| 70 | default y |
| 71 | help |
| 72 | Choose this option to detect DP tunnels and enable the Bandwidth |
| 73 | Allocation mode for such tunnels. This allows using the maximum |
| 74 | resolution allowed by the link BW on all displays sharing the |
| 75 | link BW, for instance on a Thunderbolt link. |
| 76 | |
| 77 | If in doubt say "Y". |
| 78 | |
| 79 | config DRM_XE_GPUSVM |
| 80 | bool "Enable CPU to GPU address mirroring" |
| 81 | depends on DRM_XE |
| 82 | depends on !UML |
| 83 | depends on ZONE_DEVICE |
| 84 | default y |
| 85 | select DEVICE_PRIVATE |
| 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 | |
| 93 | config 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 | |
| 104 | config 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 | |
| 132 | menu "drm/Xe Debugging" |
| 133 | depends on DRM_XE |
| 134 | depends on EXPERT |
| 135 | source "drivers/gpu/drm/xe/Kconfig.debug" |
| 136 | endmenu |
| 137 | |
| 138 | menu "drm/xe Profile Guided Optimisation" |
| 139 | visible if EXPERT |
| 140 | depends on DRM_XE |
| 141 | source "drivers/gpu/drm/xe/Kconfig.profile" |
| 142 | endmenu |