Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/13] Add PXP HWDRM support
@ 2025-01-16  0:10 Daniele Ceraolo Spurio
  2025-01-16  0:10 ` [PATCH v5 01/13] drm/xe/pxp: Initialize PXP structure and KCR reg Daniele Ceraolo Spurio
                   ` (28 more replies)
  0 siblings, 29 replies; 33+ messages in thread
From: Daniele Ceraolo Spurio @ 2025-01-16  0:10 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

The IGT tests for PXP are in review here:
https://patchwork.freedesktop.org/series/142450/

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

v4: Major rework of the internal status tracking to avoid doing
submissions under lock. Split the exec queue patch into 2 for ease of
review.

v5: minor fixes to comment and logs. Since the patches have grown, it
makes more sense to keep them split instead of squashing them, so
reworded some of the commit messages accordingly.

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 (13):
  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 PXP queue tracking and session start
  drm/xe/pxp/uapi: Add userspace and LRC support for PXP-using queues
  drm/xe/pxp/uapi: Add a query for PXP status
  drm/xe/pxp/uapi: 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    |  16 +-
 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                    |  98 +-
 drivers/gpu/drm/xe/xe_bo.h                    |   5 +
 drivers/gpu/drm/xe/xe_bo_types.h              |   6 +
 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                   |  18 +-
 drivers/gpu/drm/xe/xe_lrc.h                   |   7 +-
 drivers/gpu/drm/xe/xe_pci.c                   |   4 +
 drivers/gpu/drm/xe/xe_pm.c                    |  39 +-
 drivers/gpu/drm/xe/xe_pxp.c                   | 902 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_pxp.h                   |  35 +
 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             | 135 +++
 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, 2497 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] 33+ messages in thread

end of thread, other threads:[~2025-01-31 19:10 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-16  0:10 [PATCH v5 00/13] Add PXP HWDRM support Daniele Ceraolo Spurio
2025-01-16  0:10 ` [PATCH v5 01/13] drm/xe/pxp: Initialize PXP structure and KCR reg Daniele Ceraolo Spurio
2025-01-16  0:10 ` [PATCH v5 02/13] drm/xe/pxp: Allocate PXP execution resources Daniele Ceraolo Spurio
2025-01-16  0:10 ` [PATCH v5 03/13] drm/xe/pxp: Add VCS inline termination support Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 04/13] drm/xe/pxp: Add GSC session invalidation support Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 05/13] drm/xe/pxp: Handle the PXP termination interrupt Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 06/13] drm/xe/pxp: Add GSC session initialization support Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 07/13] drm/xe/pxp: Add PXP queue tracking and session start Daniele Ceraolo Spurio
2025-01-16  0:56   ` John Harrison
2025-01-16  0:11 ` [PATCH v5 08/13] drm/xe/pxp/uapi: Add userspace and LRC support for PXP-using queues Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 09/13] drm/xe/pxp/uapi: Add a query for PXP status Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 10/13] drm/xe/pxp/uapi: Add API to mark a BO as using PXP Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 11/13] drm/xe/pxp: add PXP PM support Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 12/13] drm/xe/pxp: Add PXP debugfs support Daniele Ceraolo Spurio
2025-01-16  0:11 ` [PATCH v5 13/13] drm/xe/pxp: Enable PXP for MTL and LNL Daniele Ceraolo Spurio
2025-01-31 12:08   ` Tvrtko Ursulin
2025-01-31 19:10     ` Daniele Ceraolo Spurio
2025-01-16  0:40 ` ✓ CI.Patch_applied: success for Add PXP HWDRM support (rev5) Patchwork
2025-01-16  0:41 ` ✗ CI.checkpatch: warning " Patchwork
2025-01-16  0:42 ` ✓ CI.KUnit: success " Patchwork
2025-01-16  1:00 ` ✓ CI.Build: " Patchwork
2025-01-16  1:03 ` ✓ CI.Hooks: " Patchwork
2025-01-16  1:04 ` ✓ CI.checksparse: " Patchwork
2025-01-16  1:30 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-01-16  4:37 ` ✗ Xe.CI.Full: " Patchwork
2025-01-22 23:02 ` ✓ CI.Patch_applied: success for Add PXP HWDRM support (rev6) Patchwork
2025-01-22 23:03 ` ✗ CI.checkpatch: warning " Patchwork
2025-01-22 23:05 ` ✓ CI.KUnit: success " Patchwork
2025-01-22 23:24 ` ✓ CI.Build: " Patchwork
2025-01-22 23:26 ` ✓ CI.Hooks: " Patchwork
2025-01-22 23:28 ` ✓ CI.checksparse: " Patchwork
2025-01-22 23:54 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-01-23 10:52 ` ✗ Xe.CI.Full: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox