mbox series

[RFC-v3,00/26] Introduce Intel PXP component

Message ID 20201201235747.26017-1-sean.z.huang@intel.com (mailing list archive)
Headers show
Series Introduce Intel PXP component | expand

Message

Huang, Sean Z Dec. 1, 2020, 11:57 p.m. UTC
PXP is an i915 componment, that helps user space to establish the
hardware protected session and manage the status of each alive
software session, as well as the life cycle of each session.

This ioctl is to allow user space driver to create, set, and
destroy each session. It also provides the communication chanel to
TEE (Trusted Execution Environment) for the protected hardware
session creation.

Anshuman Gupta (1):
  drm/i915/pxp: Add plane decryption support

Bommu Krishnaiah (2):
  drm/i915/uapi: introduce drm_i915_gem_create_ext
  drm/i915/pxp: User interface for Protected buffer

Huang, Sean Z (22):
  drm/i915/pxp: Introduce Intel PXP component
  drm/i915/pxp: Enable PXP irq worker and callback stub
  drm/i915/pxp: Add PXP context for logical hardware states.
  drm/i915/pxp: set KCR reg init during the boot time
  drm/i915/pxp: Implement ioctl action to set the user space context
  drm/i915/pxp: Add PXP-related registers into allowlist
  drm/i915/pxp: Read register to check hardware session state
  drm/i915/pxp: Implement funcs to get/set PXP tag
  drm/i915/pxp: Implement ioctl action to reserve session slot
  drm/i915/pxp: Implement ioctl action to set session in play
  drm/i915/pxp: Func to send hardware session termination
  drm/i915/pxp: Implement ioctl action to terminate the session
  drm/i915/pxp: Enable ioctl action to query PXP tag
  drm/i915/pxp: Destroy all type0 sessions upon teardown
  drm/i915/pxp: Termiante the session upon app crash
  drm/i915/pxp: Enable PXP power management
  drm/i915/pxp: Implement funcs to create the TEE channel
  drm/i915/pxp: Implement ioctl action to send TEE commands
  drm/i915/pxp: Create the arbitrary session after boot
  drm/i915/pxp: Add i915 trace logs for PXP operations
  drm/i915/pxp: Expose session state for display protection flip
  drm/i915/pxp: Enable the PXP ioctl for protected session

Vitaly Lubart (1):
  mei: pxp: export pavp client to me client bus

 drivers/gpu/drm/i915/Kconfig                  |   19 +
 drivers/gpu/drm/i915/Makefile                 |    8 +
 drivers/gpu/drm/i915/display/intel_sprite.c   |   21 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.c   |   15 +-
 drivers/gpu/drm/i915/gem/i915_gem_context.h   |   10 +
 .../gpu/drm/i915/gem/i915_gem_context_types.h |    2 +-
 .../gpu/drm/i915/gem/i915_gem_object_types.h  |    5 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c        |    4 +
 drivers/gpu/drm/i915/i915_drv.c               |   18 +-
 drivers/gpu/drm/i915/i915_drv.h               |   10 +
 drivers/gpu/drm/i915/i915_gem.c               |   63 +-
 drivers/gpu/drm/i915/i915_reg.h               |    8 +
 drivers/gpu/drm/i915/i915_trace.h             |   44 +
 drivers/gpu/drm/i915/intel_uncore.c           |   50 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.c          |  336 +++++
 drivers/gpu/drm/i915/pxp/intel_pxp.h          |  117 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_context.c  |   69 +
 drivers/gpu/drm/i915/pxp/intel_pxp_context.h  |   47 +
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.c       |   72 +
 drivers/gpu/drm/i915/pxp/intel_pxp_pm.h       |   31 +
 drivers/gpu/drm/i915/pxp/intel_pxp_sm.c       | 1180 +++++++++++++++++
 drivers/gpu/drm/i915/pxp/intel_pxp_sm.h       |  126 ++
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.c      |  216 +++
 drivers/gpu/drm/i915/pxp/intel_pxp_tee.h      |   25 +
 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                   |  141 ++
 33 files changed, 2928 insertions(+), 26 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_context.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_context.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_sm.c
 create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_sm.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/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