[Intel-xe] [PATCH 00/12] GSC FW loading
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Fri Oct 27 22:29:14 UTC 2023
the GSC (Graphics Security Controller) is the root of trust for content
protection operations (PXP, HDCP), so loading the the GSC FW is a
prerequisite for those features. Loading the FW is required to turn off
the GSC forcewake well (which we must turn on to enable GSCCS idleness)
and therefore allows MC6 entry.
The GSC FW uses 3 separate versions: release, compatibility and
security. The compatibility version is the one that dictates whether the
driver knows how to interface with the binary so that's the one we match
against, but we also fetch the other two for debug information.
The GSCCS is used to both load the FW (via the GSC_FW_LOAD command) and
to send heci packets to it (via the GSC_HECI_PKT command).
Note: the flr patch from Andrzej is being reviewed separately, I've just
included it here because it is a dependency.
Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
Cc: John Harrison <john.c.harrison at intel.com>
Andrzej Hajda (1):
drm/xe: implement driver initiated function-reset
Daniele Ceraolo Spurio (11):
fixup! drm/xe/guc: Report submission version of GuC firmware
drm/xe/uc: Rework uC version tracking
drm/xe/gsc: Introduce GSC FW
drm/xe/gsc: Parse GSC FW header
drm/xe/gsc: GSC FW load
drm/xe/gsc: Implement WA 14015076503
drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
drm/xe/gsc: Add an interface for GSC packet submissions
drm/xe/gsc: Query GSC compatibility version
drm/xe/gsc: Define GSCCS for MTL
drm/xe/gsc: Define GSC FW for MTL
drivers/gpu/drm/xe/Makefile | 4 +-
.../gpu/drm/xe/abi/gsc_command_header_abi.h | 46 +++
.../gpu/drm/xe/abi/gsc_mkhi_commands_abi.h | 39 ++
.../gpu/drm/xe/instructions/xe_gsc_commands.h | 36 ++
.../gpu/drm/xe/instructions/xe_instr_defs.h | 1 +
drivers/gpu/drm/xe/regs/xe_gsc_regs.h | 39 ++
drivers/gpu/drm/xe/regs/xe_regs.h | 7 +
drivers/gpu/drm/xe/xe_device.c | 78 ++++
drivers/gpu/drm/xe/xe_device_types.h | 3 +
drivers/gpu/drm/xe/xe_gsc.c | 389 ++++++++++++++++++
drivers/gpu/drm/xe/xe_gsc.h | 16 +
drivers/gpu/drm/xe/xe_gsc_submit.c | 170 ++++++++
drivers/gpu/drm/xe/xe_gsc_submit.h | 30 ++
drivers/gpu/drm/xe/xe_gsc_types.h | 39 ++
drivers/gpu/drm/xe/xe_gt.c | 46 +++
drivers/gpu/drm/xe/xe_guc_types.h | 9 -
drivers/gpu/drm/xe/xe_hw_engine.c | 20 +
drivers/gpu/drm/xe/xe_module.c | 5 +
drivers/gpu/drm/xe/xe_module.h | 1 +
drivers/gpu/drm/xe/xe_pci.c | 2 +-
drivers/gpu/drm/xe/xe_uc.c | 21 +-
drivers/gpu/drm/xe/xe_uc_fw.c | 257 +++++++++---
drivers/gpu/drm/xe/xe_uc_fw.h | 3 +
drivers/gpu/drm/xe/xe_uc_fw_abi.h | 113 +++++
drivers/gpu/drm/xe/xe_uc_fw_types.h | 40 +-
drivers/gpu/drm/xe/xe_uc_types.h | 3 +
drivers/gpu/drm/xe/xe_wa_oob.rules | 1 +
27 files changed, 1329 insertions(+), 89 deletions(-)
create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
--
2.41.0
More information about the Intel-xe
mailing list