[Intel-gfx] [PATCH v2 00/16] Introduce Intel PXP
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Mon Mar 1 19:31:44 UTC 2021
PXP (Protected Xe Path) is an i915 component, available on
GEN12+, that helps to establish the hardware protected session
and manage the status of the alive software session, as well
as its life cycle.
Several major functional changes compared to v1:
- Termination is issued on runtime resume as well.
- Protected objects and contexts are marked as invalid on termination.
Invalid contexts are reported to userspace via RESET_STATS.
- Trying to flip an invalid objects results in a black frame.
I've done more testing compared to v1 (initial IGTs from Alan will be
hitting the ML soon), but I still haven't stress-tested with userspace
applications, so there might be bugs. I'll make sure to run more testing
and fix everything before merge, but in the meantime I wanted to get
forward with the reviews given that the current tests give me enough
confidence that this isn't completely broken.
Cc: Gaurav Kumar <kumar.gaurav at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Cc: Juston Li <juston.li at intel.com>
Cc: Alan Previn <alan.previn.teres.alexis at intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Anshuman Gupta (2):
drm/i915/pxp: Add plane decryption support
drm/i915/pxp: black pixels on pxp disabled
Bommu Krishnaiah (2):
drm/i915/uapi: introduce drm_i915_gem_create_ext
drm/i915/pxp: User interface for Protected buffer
Daniele Ceraolo Spurio (6):
drm/i915/pxp: Define PXP component interface
drm/i915/pxp: define PXP device flag and kconfig
drm/i915/pxp: allocate a vcs context for pxp usage
drm/i915/pxp: set KCR reg init during the boot time
drm/i915/pxp: interface for creation of protected contexts
drm/i915/pxp: enable PXP for integrated Gen12
Huang, Sean Z (5):
drm/i915/pxp: Implement funcs to create the TEE channel
drm/i915/pxp: Create the arbitrary session after boot
drm/i915/pxp: Implement arb session teardown
drm/i915/pxp: Implement PXP irq handler
drm/i915/pxp: Enable PXP power management
Vitaly Lubart (1):
mei: pxp: export pavp client to me client bus
drivers/gpu/drm/i915/Kconfig | 11 +
drivers/gpu/drm/i915/Makefile | 9 +
.../drm/i915/display/skl_universal_plane.c | 50 +++-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 59 ++++-
drivers/gpu/drm/i915/gem/i915_gem_context.h | 18 ++
.../gpu/drm/i915/gem/i915_gem_context_types.h | 2 +
drivers/gpu/drm/i915/gem/i915_gem_create.c | 68 +++++-
.../gpu/drm/i915/gem/i915_gem_execbuffer.c | 23 ++
drivers/gpu/drm/i915/gem/i915_gem_object.c | 6 +
drivers/gpu/drm/i915/gem/i915_gem_object.h | 12 +
.../gpu/drm/i915/gem/i915_gem_object_types.h | 13 +
drivers/gpu/drm/i915/gt/intel_engine.h | 10 +
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 19 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 5 +
drivers/gpu/drm/i915/gt/intel_gt_irq.c | 7 +
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 14 +-
drivers/gpu/drm/i915/gt/intel_gt_types.h | 3 +
drivers/gpu/drm/i915/i915_drv.c | 4 +-
drivers/gpu/drm/i915/i915_drv.h | 4 +
drivers/gpu/drm/i915/i915_pci.c | 2 +
drivers/gpu/drm/i915/i915_reg.h | 48 ++++
drivers/gpu/drm/i915/intel_device_info.h | 1 +
drivers/gpu/drm/i915/pxp/intel_pxp.c | 215 ++++++++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp.h | 70 ++++++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c | 166 +++++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h | 15 ++
drivers/gpu/drm/i915/pxp/intel_pxp_irq.c | 153 ++++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_irq.h | 33 +++
drivers/gpu/drm/i915/pxp/intel_pxp_pm.c | 99 ++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_pm.h | 33 +++
drivers/gpu/drm/i915/pxp/intel_pxp_session.c | 140 +++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_session.h | 18 ++
drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 199 +++++++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_tee.h | 17 ++
drivers/gpu/drm/i915/pxp/intel_pxp_types.h | 38 +++
drivers/misc/mei/Kconfig | 2 +
drivers/misc/mei/Makefile | 1 +
drivers/misc/mei/pxp/Kconfig | 13 +
drivers/misc/mei/pxp/Makefile | 7 +
drivers/misc/mei/pxp/mei_pxp.c | 230 ++++++++++++++++++
drivers/misc/mei/pxp/mei_pxp.h | 18 ++
include/drm/i915_component.h | 1 +
include/drm/i915_pxp_tee_interface.h | 45 ++++
include/uapi/drm/i915_drm.h | 92 +++++++
44 files changed, 1972 insertions(+), 21 deletions(-)
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_irq.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_session.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_types.h
create mode 100644 drivers/misc/mei/pxp/Kconfig
create mode 100644 drivers/misc/mei/pxp/Makefile
create mode 100644 drivers/misc/mei/pxp/mei_pxp.c
create mode 100644 drivers/misc/mei/pxp/mei_pxp.h
create mode 100644 include/drm/i915_pxp_tee_interface.h
--
2.29.2
More information about the Intel-gfx
mailing list