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, the check for the device availability is added to that driver and exported, with i915 calling it. The plan is to merge both patches via the drm-intel tree. 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 check ME device availabiliy drm/i915/pxp: Do not support PXP if CSME is not available drivers/gpu/drm/i915/i915_module.c | 1 + drivers/gpu/drm/i915/pxp/intel_pxp.c | 5 +++++ drivers/misc/mei/pci-me.c | 17 +++++++++++++++++ include/linux/mei_me.h | 20 ++++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 include/linux/mei_me.h -- 2.43.0