[PATCH v2 0/6] drm/i915: Add support for GSC FW loading
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Tue Dec 6 01:19:02 UTC 2022
Starting from MTL, the GSC FW is runtime loaded by the driver, instead
of being stored in flash memory. Loading the GSC FW is required to allow
the media GT to go into its C6 state and for content protection features
(PXP, HDCP).
The loading happens via a submission to the GSC engine. All subsequent
communication with the FW will also happen via the engine, although no
further messages are implemented as part of this series.
This series also adds the GSC engine flag to the MTL platform, with the
engine being runtime disabled if the FW is not selected, which makes the
FW definition (not included in the series) the ultimate enabler for the
whole GSC block.
Note that just loading the FW is not enough for it to be fully
functional. We'll also need to establish and handle a communication
channel between GSC and CSME (a.k.a. SW proxy). This will require a new
mei component to handle the CSME side of things, so it will be pushed as
a separate series.
v2: Use wq to load the GSC, address minor review comments.
Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
Cc: John Harrison <John.C.Harrison at Intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Daniele Ceraolo Spurio (5):
drm/i915/uc: Introduce GSC FW
drm/i915/gsc: Skip the version check when fetching the GSC FW
drm/i915/gsc: GSC firmware loading
drm/i915/gsc: Do a driver-FLR on unload if GSC was loaded
drm/i915/mtl: MTL has one GSC CS on the media GT
Jonathan Cavitt (1):
drm/i915/gsc: Disable GSC engine and power well if FW is not selected
drivers/gpu/drm/i915/Makefile | 11 +-
drivers/gpu/drm/i915/gt/intel_engine.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 18 ++
drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 7 +
drivers/gpu/drm/i915/gt/intel_gt.h | 5 +
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 210 +++++++++++++++++++
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h | 15 ++
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c | 137 ++++++++++++
drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h | 47 +++++
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 23 ++
drivers/gpu/drm/i915/gt/uc/intel_uc.h | 3 +
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 78 +++++--
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 8 +-
drivers/gpu/drm/i915/i915_params.c | 3 +
drivers/gpu/drm/i915/i915_params.h | 1 +
drivers/gpu/drm/i915/i915_pci.c | 2 +-
drivers/gpu/drm/i915/i915_reg.h | 3 +
drivers/gpu/drm/i915/intel_uncore.c | 61 ++++++
drivers/gpu/drm/i915/intel_uncore.h | 13 ++
19 files changed, 626 insertions(+), 21 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c
create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.h
create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.c
create mode 100644 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.h
--
2.37.3
More information about the dri-devel
mailing list