On Thu, 2023-11-16 at 15:20 -0800, Teres Alexis, Alan Previn wrote: > For Gen12 when using mei-pxp tee backend tranport, if we are coming > up from a cold boot or from a resume (not runtime resume), we can > optionally quicken the very first session cleanup that would occur > as part of starting up a default PXP session. Typically a cleanup > from a cold-start is expected to be quick so we can use a shorter > timeout and skip retries (when getting non-success on calling > backend transport for intel_pxp_tee_end_arb_fw_session). alan:snip > @@ -387,10 +389,14 @@ void intel_pxp_tee_end_arb_fw_session(struct intel_pxp *pxp, u32 session_id) > ret = intel_pxp_tee_io_message(pxp, > &msg_in, sizeof(msg_in), > &msg_out, sizeof(msg_out), > - NULL); > + NULL, pxp->hw_state_coldstart ? > + PXP_TRANSPORT_TIMEOUT_FAST_MS : PXP_TRANSPORT_TIMEOUT_MS); > > - /* Cleanup coherency between GT and Firmware is critical, so try again if it fails */ > - if ((ret || msg_out.header.status != 0x0) && ++trials < 3) > + /* > + * Cleanup coherency between GT and Firmware is critical, so try again if it > + * fails, unless we are performing a cold-start reset > + */ > + if ((ret || msg_out.header.status != 0x0) && !pxp->hw_state_coldstart && ++trials < 3) alan: Take note I am working offline with sister teams to perform some end to end conformance testing with more comprehensive OS stacks before we can verify that this optimization doesnt break any existing use-cases.