[PATCH v3 00/12] Add PXP HWDRM support
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Wed Nov 20 23:43:40 UTC 2024
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 at intel.com>
Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
Cc: Matthew Brost <matthew.brost at intel.com>
Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
Cc: John Harrison <John.C.Harrison at 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
More information about the Intel-xe
mailing list