All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-xe] [PATCH 00/12] GSC FW loading
@ 2023-10-27 22:29 Daniele Ceraolo Spurio
  2023-10-27 22:29 ` [Intel-xe] [PATCH 01/12] drm/xe: implement driver initiated function-reset Daniele Ceraolo Spurio
                   ` (15 more replies)
  0 siblings, 16 replies; 56+ messages in thread
From: Daniele Ceraolo Spurio @ 2023-10-27 22:29 UTC (permalink / raw)
  To: intel-xe

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@intel.com>
Cc: John Harrison <john.c.harrison@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


^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2023-11-14 19:39 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-27 22:29 [Intel-xe] [PATCH 00/12] GSC FW loading Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 01/12] drm/xe: implement driver initiated function-reset Daniele Ceraolo Spurio
2023-11-07 23:46   ` John Harrison
2023-11-08 18:14     ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 02/12] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
2023-10-31 14:09   ` Andrzej Hajda
2023-10-31 19:00     ` Daniele Ceraolo Spurio
2023-11-07 23:07   ` John Harrison
2023-11-07 23:24     ` Daniele Ceraolo Spurio
2023-11-07 23:38       ` John Harrison
2023-11-09 19:59         ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 03/12] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
2023-11-07 23:20   ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 04/12] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
2023-11-07 23:26   ` John Harrison
2023-11-07 23:32     ` Daniele Ceraolo Spurio
2023-11-07 23:52       ` John Harrison
2023-11-07 23:59         ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 05/12] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
2023-11-07 23:45   ` John Harrison
2023-11-07 23:57     ` Daniele Ceraolo Spurio
2023-11-08  0:42       ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 06/12] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
2023-11-08 22:17   ` John Harrison
2023-11-08 22:23     ` Daniele Ceraolo Spurio
2023-11-08 22:29       ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 07/12] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
2023-11-08 22:22   ` John Harrison
2023-11-08 22:35     ` Daniele Ceraolo Spurio
2023-11-08 22:40       ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 08/12] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload Daniele Ceraolo Spurio
2023-11-08 22:24   ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 09/12] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
2023-10-31  8:08   ` Kandpal, Suraj
2023-10-31 19:29     ` Daniele Ceraolo Spurio
2023-11-08  8:25       ` Kandpal, Suraj
2023-11-13 19:59   ` John Harrison
2023-11-13 21:19     ` Daniele Ceraolo Spurio
2023-11-14 19:32       ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 10/12] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
2023-11-13 20:10   ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 11/12] drm/xe/gsc: Define GSCCS for MTL Daniele Ceraolo Spurio
2023-11-13 20:23   ` John Harrison
2023-11-13 21:32     ` Daniele Ceraolo Spurio
2023-11-14 19:39       ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 12/12] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
2023-11-13 20:26   ` John Harrison
2023-11-13 21:33     ` Daniele Ceraolo Spurio
2023-10-27 22:32 ` [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading Patchwork
2023-10-27 22:32 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-11-13 20:29   ` John Harrison
2023-10-27 22:33 ` [Intel-xe] ✗ CI.KUnit: failure " Patchwork
2023-11-13 20:30   ` John Harrison
2023-11-13 21:13     ` Daniele Ceraolo Spurio
2023-11-13 16:05 ` [Intel-xe] [PATCH 00/12] " Lucas De Marchi
2023-11-13 16:09   ` Daniele Ceraolo Spurio

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.