[PATCH v1 1/1] drm/i915/pxp: Bail early in pxp tee backend on first teardown error

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Thu Nov 16 23:28:37 UTC 2023


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.


More information about the dri-devel mailing list