[PATCH v7 00/17] drm/i915: Introduce Intel PXP
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Sat Aug 28 01:27:21 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.
Changes from v6:
- reworked object invalidation to be based on PXP instance instead of
lists, so we can drop the locking (Daniel).
- just keep a wakeref while a protected context is around (Daniel).
- don't add a new flag to RESET_STATS, just increase the guilty count as
if we had a hang (Daniel).
- add kerneldoc (Daniel). Added it all in one go at the end so it is
easier to review.
- change location for the display blackscreen check (Juston).
- fix an issue with pxp component removal.
Tested with: https://patchwork.freedesktop.org/series/87570/
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>
Cc: Jason Ekstrand <jason at jlekstrand.net>
Cc: Daniel Vetter <daniel.vetter at intel.com>
Anshuman Gupta (2):
drm/i915/pxp: Add plane decryption support
drm/i915/pxp: black pixels on pxp disabled
Daniele Ceraolo Spurio (9):
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
drm/i915/pxp: interfaces for using protected objects
drm/i915/pxp: start the arb session on demand
drm/i915/pxp: add pxp debugfs
drm/i915/pxp: add PXP documentation
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
Documentation/gpu/i915.rst | 8 +
drivers/gpu/drm/i915/Kconfig | 11 +
drivers/gpu/drm/i915/Makefile | 10 +
drivers/gpu/drm/i915/display/intel_display.c | 34 ++
.../drm/i915/display/intel_display_types.h | 6 +
.../drm/i915/display/skl_universal_plane.c | 49 ++-
drivers/gpu/drm/i915/gem/i915_gem_context.c | 100 +++++-
drivers/gpu/drm/i915/gem/i915_gem_context.h | 6 +
.../gpu/drm/i915/gem/i915_gem_context_types.h | 28 ++
drivers/gpu/drm/i915/gem/i915_gem_create.c | 72 +++--
.../gpu/drm/i915/gem/i915_gem_execbuffer.c | 18 ++
drivers/gpu/drm/i915/gem/i915_gem_object.c | 1 +
drivers/gpu/drm/i915/gem/i915_gem_object.h | 6 +
.../gpu/drm/i915/gem/i915_gem_object_types.h | 8 +
.../gpu/drm/i915/gem/selftests/mock_context.c | 4 +-
drivers/gpu/drm/i915/gt/debugfs_gt.c | 2 +
drivers/gpu/drm/i915/gt/intel_engine.h | 2 +
drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 22 +-
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 | 15 +-
drivers/gpu/drm/i915/gt/intel_gt_types.h | 3 +
drivers/gpu/drm/i915/i915_drv.c | 2 +
drivers/gpu/drm/i915/i915_drv.h | 3 +
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 | 293 ++++++++++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp.h | 67 ++++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c | 141 +++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h | 15 +
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.c | 78 +++++
drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.h | 21 ++
drivers/gpu/drm/i915/pxp/intel_pxp_irq.c | 100 ++++++
drivers/gpu/drm/i915/pxp/intel_pxp_irq.h | 32 ++
drivers/gpu/drm/i915/pxp/intel_pxp_pm.c | 40 +++
drivers/gpu/drm/i915/pxp/intel_pxp_pm.h | 23 ++
drivers/gpu/drm/i915/pxp/intel_pxp_session.c | 175 +++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_session.h | 15 +
drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 169 ++++++++++
drivers/gpu/drm/i915/pxp/intel_pxp_tee.h | 17 +
.../drm/i915/pxp/intel_pxp_tee_interface.h | 37 +++
drivers/gpu/drm/i915/pxp/intel_pxp_types.h | 83 +++++
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 | 229 ++++++++++++++
drivers/misc/mei/pxp/mei_pxp.h | 18 ++
include/drm/i915_component.h | 1 +
include/drm/i915_pxp_tee_interface.h | 42 +++
include/uapi/drm/i915_drm.h | 58 +++-
52 files changed, 2108 insertions(+), 42 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_debugfs.c
create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_debugfs.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_tee_interface.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.25.1
More information about the dri-devel
mailing list