[Intel-xe] [PATCH 00/12] GSC FW loading
Lucas De Marchi
lucas.demarchi at intel.com
Mon Nov 13 16:05:31 UTC 2023
On Fri, Oct 27, 2023 at 03:29:14PM -0700, Daniele Ceraolo Spurio wrote:
>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.
Regarding this last part, I wonder if we could simply put the GSC
forcewake if we detect the problematic situation: GSC fw not being
loaded and platform requiring that for proper MC6 entry. Would that be
possible?
Lucas De Marchi
>
>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