[Intel-gfx] [PATCH 0/8] drm/i915: HuC loading and authentication for MTL
Ye, Tony
tony.ye at intel.com
Fri Apr 28 03:11:21 UTC 2023
Acked-by: Tony Ye <tony.ye at intel.com>
Thanks,
Tony
On 4/27/2023 7:34 PM, Daniele Ceraolo Spurio wrote:
> The HuC loading and authentication flow is once again changing and a new
> "clear-media only" authentication step is introduced. The flow is as
> follows:
>
> 1) The HuC is loaded via DMA - same as all non-GSC HuC binaries.
>
> 2) The HuC is authenticated by the GuC - this is the same step as
> performed for all non-GSC HuC binaries and re-uses the same code, but
> it is now resulting in a partial authentication that only allows
> clear-media workloads.
>
> 3) The HuC is fully authenticated for all workloads by the GSC - this
> is done via a new PXP command, submitted via the GSCCS.
>
> The advantage of this new flow is that we can start processing
> clear-media workloads without having to wait for the GSC to be ready,
> which can take several seconds.
>
> As part of this change, the HuC status getparam has been updated with a
> new value to indicate a partial authentication. Note tha the media
> driver is checking for value > 0 for clear media workloads, so no
> changes are required in userspace for that to work.
>
> The SW proxy series [1] has been included, squashed in a single patch,
> as some of some of the patches in this series depend on it. This is not
> a functional dependencies, the patches just touch the same code; the
> proxy patches are planned to be merged first, so it is easier to base
> the new patches on top of it to avoid having to rebase them later.
>
> [1]https://patchwork.freedesktop.org/series/115806/
> Cc: Alan Previn<alan.previn.teres.alexis at intel.com>
> Cc: Tony Ye<tony.ye at intel.com>
>
> Daniele Ceraolo Spurio (8):
> DO NOT REVIEW: drm/i915: Add support for MTL GSC SW Proxy
> drm/i915/uc: perma-pin firmwares
> drm/i915/huc: Parse the GSC-enabled HuC binary
> drm/i915/huc: Load GSC-enabled HuC via DMA xfer if the fuse says so
> drm/i915/huc: differentiate the 2 steps of the MTL HuC auth flow
> drm/i915/mtl/huc: auth HuC via GSC
> drm/i915/mtl/huc: Use the media gt for the HuC getparam
> drm/i915/huc: define HuC FW version for MTL
>
> drivers/gpu/drm/i915/Makefile | 1 +
> drivers/gpu/drm/i915/gt/intel_ggtt.c | 3 +
> drivers/gpu/drm/i915/gt/intel_gt_irq.c | 22 +-
> drivers/gpu/drm/i915/gt/intel_gt_regs.h | 3 +
> .../drm/i915/gt/uc/intel_gsc_meu_headers.h | 74 +++
> drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c | 424 ++++++++++++++++++
> drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h | 18 +
> drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 89 +++-
> drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h | 17 +-
> .../i915/gt/uc/intel_gsc_uc_heci_cmd_submit.c | 2 +-
> .../i915/gt/uc/intel_gsc_uc_heci_cmd_submit.h | 1 +
> drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
> drivers/gpu/drm/i915/gt/uc/intel_huc.c | 182 +++++---
> drivers/gpu/drm/i915/gt/uc/intel_huc.h | 26 +-
> drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c | 214 ++++++++-
> drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h | 6 +-
> drivers/gpu/drm/i915/gt/uc/intel_huc_print.h | 21 +
> drivers/gpu/drm/i915/gt/uc/intel_uc.c | 10 +-
> drivers/gpu/drm/i915/gt/uc/intel_uc.h | 2 +
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 120 ++---
> drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 9 +-
> drivers/gpu/drm/i915/i915_getparam.c | 6 +-
> drivers/gpu/drm/i915/i915_reg.h | 3 +
> .../drm/i915/pxp/intel_pxp_cmd_interface_43.h | 14 +-
> drivers/gpu/drm/i915/pxp/intel_pxp_huc.c | 2 +-
> drivers/misc/mei/Kconfig | 2 +-
> drivers/misc/mei/Makefile | 1 +
> drivers/misc/mei/gsc_proxy/Kconfig | 14 +
> drivers/misc/mei/gsc_proxy/Makefile | 7 +
> drivers/misc/mei/gsc_proxy/mei_gsc_proxy.c | 208 +++++++++
> include/drm/i915_component.h | 3 +-
> include/drm/i915_gsc_proxy_mei_interface.h | 53 +++
> include/uapi/drm/i915_drm.h | 3 +-
> 33 files changed, 1428 insertions(+), 134 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_meu_headers.h
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.c
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.h
> create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_huc_print.h
> create mode 100644 drivers/misc/mei/gsc_proxy/Kconfig
> create mode 100644 drivers/misc/mei/gsc_proxy/Makefile
> create mode 100644 drivers/misc/mei/gsc_proxy/mei_gsc_proxy.c
> create mode 100644 include/drm/i915_gsc_proxy_mei_interface.h
>
More information about the Intel-gfx
mailing list