[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