intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/12] Add PXP HWDRM support
@ 2024-11-20 23:43 Daniele Ceraolo Spurio
  2024-11-20 23:43 ` [PATCH v3 01/12] drm/xe/pxp: Initialize PXP structure and KCR reg Daniele Ceraolo Spurio
                   ` (18 more replies)
  0 siblings, 19 replies; 38+ messages in thread
From: Daniele Ceraolo Spurio @ 2024-11-20 23:43 UTC (permalink / raw)
  To: intel-xe
  Cc: Daniele Ceraolo Spurio, José Roberto de Souza, Alan Previn,
	Matthew Brost, Thomas Hellström, John Harrison

PXP (Protected Xe Path) allows execution and flip to display of protected
(i.e. encrypted) objects. The HW supports multiple types of PXP, but
this series only introduces support for PXP HWDRM, which is mainly
targeted at encrypting data that is going to be displayed.

Even though we only plan to support 1 type of PXP for now, the interface
has been designed to allow support for other PXP types to be added at a
later point in time.

A user is expected to mark both BO and exec_queues as using PXP and the
driver will make sure that PXP is running, that the encryption is
valid and that no execution happens with an outdated encryption.

The mesa implementation of the new interfaces is in review here:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30723

v2: code cleaned up and fixed while coming out of RFC, addressed review
feedback in regards to the interface.

v3: code and documentation improvements following review feedback

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>

Daniele Ceraolo Spurio (12):
  drm/xe/pxp: Initialize PXP structure and KCR reg
  drm/xe/pxp: Allocate PXP execution resources
  drm/xe/pxp: Add VCS inline termination support
  drm/xe/pxp: Add GSC session invalidation support
  drm/xe/pxp: Handle the PXP termination interrupt
  drm/xe/pxp: Add GSC session initialization support
  drm/xe/pxp: Add support for PXP-using queues
  drm/xe/pxp: add a query for PXP status
  drm/xe/pxp: Add API to mark a BO as using PXP
  drm/xe/pxp: add PXP PM support
  drm/xe/pxp: Add PXP debugfs support
  drm/xe/pxp: Enable PXP for MTL and LNL

 drivers/gpu/drm/xe/Makefile                   |   3 +
 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h |  41 +
 .../xe/compat-i915-headers/pxp/intel_pxp.h    |  17 +-
 drivers/gpu/drm/xe/display/intel_bo.c         |   2 +-
 .../gpu/drm/xe/instructions/xe_instr_defs.h   |   1 +
 .../gpu/drm/xe/instructions/xe_mfx_commands.h |  28 +
 .../gpu/drm/xe/instructions/xe_mi_commands.h  |   5 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h      |   1 +
 drivers/gpu/drm/xe/regs/xe_irq_regs.h         |   8 +
 drivers/gpu/drm/xe/regs/xe_pxp_regs.h         |  23 +
 drivers/gpu/drm/xe/xe_bo.c                    | 100 ++-
 drivers/gpu/drm/xe/xe_bo.h                    |   5 +
 drivers/gpu/drm/xe/xe_bo_types.h              |   3 +
 drivers/gpu/drm/xe/xe_debugfs.c               |   3 +
 drivers/gpu/drm/xe/xe_device.c                |   6 +
 drivers/gpu/drm/xe/xe_device_types.h          |   8 +-
 drivers/gpu/drm/xe/xe_exec.c                  |   6 +
 drivers/gpu/drm/xe/xe_exec_queue.c            |  60 +-
 drivers/gpu/drm/xe/xe_exec_queue.h            |   5 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h      |   8 +
 drivers/gpu/drm/xe/xe_execlist.c              |   2 +-
 drivers/gpu/drm/xe/xe_irq.c                   |  20 +-
 drivers/gpu/drm/xe/xe_lrc.c                   |  16 +-
 drivers/gpu/drm/xe/xe_lrc.h                   |   7 +-
 drivers/gpu/drm/xe/xe_pci.c                   |   4 +
 drivers/gpu/drm/xe/xe_pm.c                    |  40 +-
 drivers/gpu/drm/xe/xe_pxp.c                   | 786 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_pxp.h                   |  33 +
 drivers/gpu/drm/xe/xe_pxp_debugfs.c           | 120 +++
 drivers/gpu/drm/xe/xe_pxp_debugfs.h           |  13 +
 drivers/gpu/drm/xe/xe_pxp_submit.c            | 588 +++++++++++++
 drivers/gpu/drm/xe/xe_pxp_submit.h            |  22 +
 drivers/gpu/drm/xe/xe_pxp_types.h             | 131 +++
 drivers/gpu/drm/xe/xe_query.c                 |  29 +
 drivers/gpu/drm/xe/xe_ring_ops.c              |   4 +-
 drivers/gpu/drm/xe/xe_vm.c                    | 165 +++-
 drivers/gpu/drm/xe/xe_vm.h                    |   8 +
 drivers/gpu/drm/xe/xe_vm_types.h              |   1 +
 include/uapi/drm/xe_drm.h                     |  94 ++-
 39 files changed, 2374 insertions(+), 42 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_mfx_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_pxp_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_pxp.c
 create mode 100644 drivers/gpu/drm/xe/xe_pxp.h
 create mode 100644 drivers/gpu/drm/xe/xe_pxp_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_pxp_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_pxp_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_pxp_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_pxp_types.h

-- 
2.43.0


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

end of thread, other threads:[~2024-12-09 19:44 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-20 23:43 [PATCH v3 00/12] Add PXP HWDRM support Daniele Ceraolo Spurio
2024-11-20 23:43 ` [PATCH v3 01/12] drm/xe/pxp: Initialize PXP structure and KCR reg Daniele Ceraolo Spurio
2024-12-06  1:59   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 02/12] drm/xe/pxp: Allocate PXP execution resources Daniele Ceraolo Spurio
2024-12-06  2:10   ` John Harrison
2024-12-06 23:49   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 03/12] drm/xe/pxp: Add VCS inline termination support Daniele Ceraolo Spurio
2024-12-06 20:27   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 04/12] drm/xe/pxp: Add GSC session invalidation support Daniele Ceraolo Spurio
2024-12-06 20:38   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 05/12] drm/xe/pxp: Handle the PXP termination interrupt Daniele Ceraolo Spurio
2024-12-06 23:23   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 06/12] drm/xe/pxp: Add GSC session initialization support Daniele Ceraolo Spurio
2024-12-06 23:27   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 07/12] drm/xe/pxp: Add support for PXP-using queues Daniele Ceraolo Spurio
2024-12-09 18:53   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 08/12] drm/xe/pxp: add a query for PXP status Daniele Ceraolo Spurio
2024-12-09 19:00   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 09/12] drm/xe/pxp: Add API to mark a BO as using PXP Daniele Ceraolo Spurio
2024-11-21  9:57   ` Jani Nikula
2024-11-21 17:21     ` Daniele Ceraolo Spurio
2024-11-21 20:03       ` Jani Nikula
2024-11-21 21:37         ` Daniele Ceraolo Spurio
2024-11-22 15:06           ` Jani Nikula
2024-11-22 17:00             ` Daniele Ceraolo Spurio
2024-11-25 15:30               ` Jani Nikula
2024-11-20 23:43 ` [PATCH v3 10/12] drm/xe/pxp: add PXP PM support Daniele Ceraolo Spurio
2024-12-09 19:42   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 11/12] drm/xe/pxp: Add PXP debugfs support Daniele Ceraolo Spurio
2024-12-09 19:44   ` John Harrison
2024-11-20 23:43 ` [PATCH v3 12/12] drm/xe/pxp: Enable PXP for MTL and LNL Daniele Ceraolo Spurio
2024-11-21  0:15 ` ✓ CI.Patch_applied: success for Add PXP HWDRM support (rev3) Patchwork
2024-11-21  0:16 ` ✗ CI.checkpatch: warning " Patchwork
2024-11-21  0:17 ` ✓ CI.KUnit: success " Patchwork
2024-11-21  0:35 ` ✓ CI.Build: " Patchwork
2024-11-21  0:37 ` ✗ CI.Hooks: failure " Patchwork
2024-11-21  0:39 ` ✓ CI.checksparse: success " Patchwork
2024-11-21 10:42 ` ✗ Xe.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).