To support PXP, i915 needs to interface with CSME, which is done via the component interface. However, BIOS/Coreboot can hide the CSME device, which leads to i915 timing out waiting for the component to bind. While PXP failing to initialize is a supported scenario (and there are several possible ways for it to happen), the particular case where the CSME is not available at all is something we can easily detect in the driver and therefore avoid entirely, which means userspace doesn't need to handle the error in this case.
Given that mei_me owns the CSME and already has a list of possible PCI IDs for the device, an exported function has been added to allow the i915 driver to fetch it to perform the device availability check. The plan is to merge both patches via the drm-intel tree. v2: move the pci_dev_present check to i915, so that mei doesn't need to care about locking. Also clarify why i915 does not require any locking. Cc: Rodrigo Vivi <rodrigo.v...@intel.com> Cc: Alexander Usyskin <alexander.usys...@intel.com> Cc: Alan Previn <alan.previn.teres.ale...@intel.com> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> Daniele Ceraolo Spurio (2): mei: me: Add exported function to get the PCI ID list drm/i915/pxp: Do not support PXP if CSME is not available drivers/gpu/drm/i915/pxp/intel_pxp.c | 23 +++++++++++++++++++++++ drivers/misc/mei/pci-me.c | 22 ++++++++++++++++++++++ include/linux/mei_me.h | 20 ++++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 include/linux/mei_me.h -- 2.43.0