Hi, > -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Ye, Tony > Sent: perjantai 28. huhtikuuta 2023 6.11 > To: Ceraolo Spurio, Daniele <daniele.ceraolospurio@xxxxxxxxx>; intel- > gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Teres Alexis, Alan Previn <alan.previn.teres.alexis@xxxxxxxxx>; dri- > devel@xxxxxxxxxxxxxxxxxxxxx; Zhang, Carl <carl.zhang@xxxxxxxxx> > Subject: Re: [Intel-gfx] [PATCH 0/8] drm/i915: HuC loading and authentication for > MTL > > Acked-by: Tony Ye <tony.ye@xxxxxxxxx> CI results would be also good to look at before... https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117080v1/index.html? For some reason no single MTL tests and many aborts... > > 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@xxxxxxxxx> > > Cc: Tony Ye<tony.ye@xxxxxxxxx> > > > > 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 > >