[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