[Intel-gfx] [PATCH v4 00/15]

Ceraolo Spurio, Daniele daniele.ceraolospurio at intel.com
Fri Sep 9 00:15:03 UTC 2022


Please ignore this cover letter, I've only realized I was missing a 
title and aborted the git-send after sending it. Proper series coming in 
a couple of mins.

Daniele

On 9/8/2022 5:10 PM, Daniele Ceraolo Spurio wrote:
> On DG2, HuC loading is performed by the GSC, via a PXP command. The load
> operation itself is relatively simple (just send a message to the GSC
> with the physical address of the HuC in LMEM), but there are timing
> changes that requires special attention. In particular, to send a PXP
> command we need to first export the GSC as an aux device and then wait
> for the mei-gsc and mei-pxp modules to start, which means that HuC
> load will complete after i915 load is complete. This means that there
> is a small window of time after i915 is registered and before HuC is
> loaded during which userspace could submit and/or check the HuC load
> status, although this is quite unlikely to happen (HuC is usually loaded
> before kernel init/resume completes).
> We've consulted with the media team in regards to how to handle this and
> they've asked us to stall all userspace VCS submission until HuC is
> loaded. Stalls are expected to be very rare (if any), due to the fact
> that HuC is usually loaded before kernel init/resume is completed.
>
> Timeouts are in place to ensure all submissions are unlocked in case
> something goes wrong. Since we need to monitor the status of the mei
> driver to know what's happening and when to time out, a notifier has
> been added so we get a callback when the status of the mei driver
> changes.
>
> Note that this series includes several mei patches that add support for
> sending the HuC loading command via mei-gsc. We plan to merge those
> patches through the drm tree because i915 is the sole user.
>
> v2: address review comments, Reporting HuC loading still in progress
> while we wait for mei-gsc init to complete, rebase on latest mei-gsc
> series.
>
> v3: fix cc list in mei patches.
>
> v4: update mei patches, fix includes, rebase on new FW fetch logic and
> merged mei-gsc support.
>
> Test-with: 20220818224216.3920822-1-daniele.ceraolospurio at intel.com
> Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
> Cc: Tony Ye <tony.ye at intel.com>
> Cc: Alexander Usyskin <alexander.usyskin at intel.com>
> Cc: Tomas Winkler <tomas.winkler at intel.com>
> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>
> Daniele Ceraolo Spurio (7):
>    drm/i915/pxp: load the pxp module when we have a gsc-loaded huc
>    drm/i915/dg2: setup HuC loading via GSC
>    drm/i915/huc: track delayed HuC load with a fence
>    drm/i915/huc: stall media submission until HuC is loaded
>    drm/i915/huc: better define HuC status getparam possible return
>      values.
>    drm/i915/huc: define gsc-compatible HuC fw for DG2
>    HAX: drm/i915: force INTEL_MEI_GSC and INTEL_MEI_PXP on for CI
>
> Tomas Winkler (5):
>    mei: add support to GSC extended header
>    mei: bus: enable sending gsc commands
>    mei: adjust extended header kdocs
>    mei: pxp: support matching with a gfx discrete card
>    drm/i915/pxp: add huc authentication and loading command
>
> Vitaly Lubart (3):
>    mei: bus: extend bus API to support command streamer API
>    mei: pxp: add command streamer API to the PXP driver
>    drm/i915/pxp: implement function for sending tee stream command
>
>   drivers/gpu/drm/i915/Kconfig.debug            |   2 +
>   drivers/gpu/drm/i915/Makefile                 |  11 +-
>   drivers/gpu/drm/i915/gt/intel_gsc.c           |  22 +-
>   drivers/gpu/drm/i915/gt/uc/intel_guc.c        |   1 +
>   drivers/gpu/drm/i915/gt/uc/intel_huc.c        | 254 ++++++++++++++++--
>   drivers/gpu/drm/i915/gt/uc/intel_huc.h        |  31 +++
>   drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c     |  34 +++
>   drivers/gpu/drm/i915/gt/uc/intel_huc_fw.h     |   1 +
>   drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c      |  24 +-
>   drivers/gpu/drm/i915/i915_request.c           |  24 ++
>   drivers/gpu/drm/i915/pxp/intel_pxp.c          |  32 ++-
>   drivers/gpu/drm/i915/pxp/intel_pxp.h          |  32 ---
>   drivers/gpu/drm/i915/pxp/intel_pxp_huc.c      |  69 +++++
>   drivers/gpu/drm/i915/pxp/intel_pxp_huc.h      |  13 +
>   drivers/gpu/drm/i915/pxp/intel_pxp_irq.h      |   8 +
>   drivers/gpu/drm/i915/pxp/intel_pxp_session.c  |   8 +-
>   drivers/gpu/drm/i915/pxp/intel_pxp_session.h  |  11 +-
>   drivers/gpu/drm/i915/pxp/intel_pxp_tee.c      | 138 +++++++++-
>   drivers/gpu/drm/i915/pxp/intel_pxp_tee.h      |   5 +
>   .../drm/i915/pxp/intel_pxp_tee_interface.h    |  23 +-
>   drivers/gpu/drm/i915/pxp/intel_pxp_types.h    |   6 +
>   drivers/misc/mei/bus.c                        | 145 +++++++++-
>   drivers/misc/mei/client.c                     |  55 ++--
>   drivers/misc/mei/hbm.c                        |  13 +
>   drivers/misc/mei/hw-me.c                      |   7 +-
>   drivers/misc/mei/hw.h                         |  65 ++++-
>   drivers/misc/mei/interrupt.c                  |  47 +++-
>   drivers/misc/mei/mei_dev.h                    |   8 +
>   drivers/misc/mei/pxp/mei_pxp.c                |  41 ++-
>   include/drm/i915_pxp_tee_interface.h          |   5 +
>   include/linux/mei_cl_bus.h                    |   6 +
>   include/uapi/drm/i915_drm.h                   |  16 ++
>   32 files changed, 1035 insertions(+), 122 deletions(-)
>   create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.c
>   create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_huc.h
>



More information about the Intel-gfx mailing list