[PATCH v3 3/4] drm/i915/gsc: add initial support for GSC proxy

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Thu May 4 06:01:34 UTC 2023


On Tue, 2023-05-02 at 09:38 -0700, Ceraolo Spurio, Daniele wrote:
> The GSC uC needs to communicate with the CSME to perform certain
> operations. Since the GSC can't perform this communication directly
> on platforms where it is integrated in GT, i915 needs to transfer the
> messages from GSC to CSME and back.
> 
alan:snip
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
> @@ -13,6 +13,7 @@
>  #define GSC_FW_STATUS_REG			_MMIO(0x116C40)
>  #define GSC_FW_CURRENT_STATE			REG_GENMASK(3, 0)
>  #define   GSC_FW_CURRENT_STATE_RESET		0
> +#define   GSC_FW_PROXY_STATE_NORMAL		5
>  #define GSC_FW_INIT_COMPLETE_BIT		REG_BIT(9)
>  
>  static bool gsc_is_in_reset(struct intel_uncore *uncore)
> @@ -23,6 +24,15 @@ static bool gsc_is_in_reset(struct intel_uncore *uncore)
>  	       GSC_FW_CURRENT_STATE_RESET;
>  }
>  
> +bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc)
> +{
> +	struct intel_uncore *uncore = gsc_uc_to_gt(gsc)->uncore;
> +	u32 fw_status = intel_uncore_read(uncore, GSC_FW_STATUS_REG);
> +
> +	return REG_FIELD_GET(GSC_FW_CURRENT_STATE, fw_status) ==
> +	       GSC_FW_PROXY_STATE_NORMAL;
> +}
> +
Since this function was added here, repeating rb:
Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com>


More information about the dri-devel mailing list