[Intel-xe] [PATCH 00/12] GSC FW loading
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Mon Nov 13 16:09:23 UTC 2023
On 11/13/2023 8:05 AM, Lucas De Marchi wrote:
> 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?
No, the GSC ROM itself holds the forcewake ref and AFAIK the CPU can't
directly touch anything ROM-related. When this first came up and we
discussed it with HW architecture they said that the only option on MTL
is to load the FW.
Daniele
>
> 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