[Intel-gfx] [PATCH 0/8] drm/i915: HuC loading and authentication for MTL

Saarinen, Jani jani.saarinen at intel.com
Fri Apr 28 05:25:37 UTC 2023


Hi, 

> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Ye, Tony
> Sent: perjantai 28. huhtikuuta 2023 6.11
> To: Ceraolo Spurio, Daniele <daniele.ceraolospurio at intel.com>; intel-
> gfx at lists.freedesktop.org
> Cc: Teres Alexis, Alan Previn <alan.previn.teres.alexis at intel.com>; dri-
> devel at lists.freedesktop.org; Zhang, Carl <carl.zhang at intel.com>
> Subject: Re: [Intel-gfx] [PATCH 0/8] drm/i915: HuC loading and authentication for
> MTL
> 
> Acked-by: Tony Ye <tony.ye at intel.com>
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 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 dri-devel mailing list