[PATCH v2 00/12] Add PXP HWDRM support

Souza, Jose jose.souza at intel.com
Mon Aug 19 14:33:43 UTC 2024


On Fri, 2024-08-16 at 12:00 -0700, Daniele Ceraolo Spurio wrote:
> 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.
> 
> v2: code cleaned up and fixed while coming out of RFC, addressed review
> feedback in regards to the interface.

uAPI is Acked-by: José Roberto de Souza <jose.souza at intel.com>
Here the Mesa side: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30723


> 
> 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 spport 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 |  40 +
>  .../xe/compat-i915-headers/pxp/intel_pxp.h    |  14 +-
>  .../gpu/drm/xe/instructions/xe_instr_defs.h   |   1 +
>  .../gpu/drm/xe/instructions/xe_mfx_commands.h |  29 +
>  .../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_gt_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            |  61 +-
>  drivers/gpu/drm/xe/xe_exec_queue.h            |   5 +
>  drivers/gpu/drm/xe/xe_exec_queue_types.h      |   8 +
>  drivers/gpu/drm/xe/xe_hw_engine.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                    |  42 +-
>  drivers/gpu/drm/xe/xe_pxp.c                   | 738 ++++++++++++++++++
>  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            | 572 ++++++++++++++
>  drivers/gpu/drm/xe/xe_pxp_submit.h            |  22 +
>  drivers/gpu/drm/xe/xe_pxp_types.h             | 123 +++
>  drivers/gpu/drm/xe/xe_query.c                 |  32 +
>  drivers/gpu/drm/xe/xe_ring_ops.c              |   4 +-
>  drivers/gpu/drm/xe/xe_vm.c                    | 170 +++-
>  drivers/gpu/drm/xe/xe_vm.h                    |   8 +
>  drivers/gpu/drm/xe/xe_vm_types.h              |   1 +
>  include/uapi/drm/xe_drm.h                     |  94 ++-
>  38 files changed, 2307 insertions(+), 43 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
> 



More information about the Intel-xe mailing list