[Intel-gfx] [RFC-v19 00/13] Introduce Intel PXP component - Mesa single session
Vivi, Rodrigo
rodrigo.vivi at intel.com
Thu Jan 7 15:42:12 UTC 2021
On Wed, 2021-01-06 at 15:12 -0800, Huang, Sean Z wrote:
> 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.
>
> This patch series is to allow the kernel space to create and
> manage a single hardware session (a.k.a. default session or
> arbitrary session). So user can allocate the protected buffer,
> which is encrypted with the leverage of the arbitrary hardware
> session.
>
> v2:
> - modification based on code review feedbacks received
> - passing pxp instead of i915 as function argument
> - remove dead code only for multi-session
> - move the pxp init call from i915_drv.c to intel_gt.c
> - remove the tautology naming
>
> v3:
> - rebase to latest drm-tip
>
> v4:
> - Append the split non-mesa patch sereis (commit #14 - #21) into
> this patch series
>
> v5:
> - include "intel_pxp.h" in intel_pxp_sm.h at commit #14 to fix
> the build problem.
>
> v6:
> - Fix the null pointer arb_session access bug in intel_pxp_arb.c
> in
> "04 [RFC-v5] drm/i915/pxp: Create the arbitrary session after
> boot"
>
> v7:
> - Use list_for_each_entry_safe instead of list_for_each_entry
>
> v8:
> - Add MEI vtag support for PXP multi-session usage
>
> v9:
> - Fix error handling bug in commit #5 "Func to send hardware
> session
> termination". In intel_pxp_cmd.c, we should properly assign
> "err = PTR_ERR(x)" if hitting the error case "IS_ERR(x)", this
> is
> the only change in v9.
>
> v10
> - Remove the multi session commits #14-#21, for now we would like
> to
> keep the multi session patches as downstream.
> - Adopt the code review suggestion from Wilson in commit #1
>
> v11
> - In commit #05 "drm/i915/pxp: Func to send hardware session
> termination", we should not assume VCS0 is always on.
> Instead we use available VCS#, could be VCS0, VCS2, etc.
>
> v12
> - Add "#include <linux/mutex.h> in #1 intel_pxp_types.h
>
> v13
> - Add "#include <linux/mutex.h> in #1 intel_pxp_types.h (#v12
> didn't
> actually update the _types.h file...)
>
> v14
> - Add "if (INTEL_GEN(gt->i915) < 12) return;" in #1
> intel_pxp_fini(), just skip for non gen12+ sku
>
> v15
> In #04:
> - Make intel_pxp_arb_reserve_session() as static function to fix
> the
> sparse warning
> - Update value of PXP_TEE_ARB_CMD_BIN
>
> v16
> In #04:
> - Remove the binary from source code via defining the TEE command
> header
>
> v17
> - In #04, directly return intel_pxp_tee_component_fini() if
> pxp_tee_comp_added is off
>
> v18
> - In #09, Add intel_pxp_gem_context_set_protected() to check the
> arb
> session before setting protected flag for gem context
>
> - In #12, Replace i915_gem_context_set_protected() with
> intel_pxp_gem_context_set_protected() to check whether the
> arbitrary
> session is alive
>
> v19
> - In #01, put intel_pxp_fini() in intel_gt_driver_remove()
> instead of
> intel_gt_driver_release() since intel_gt_driver_release() is
> the last
> stage of i915 unbind and we shouldn't call the component_del
> here.
>
> - In #04, check if arbitrary session is alive before
> intel_pxp_arb_create_session()
Please reduce the amount of series revision and start using --in-reply-
to so we can easily see what was addressed from the previous comments
versus what is open.
>
>
> 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 (9):
> drm/i915/pxp: Introduce Intel PXP component
> drm/i915/pxp: set KCR reg init during the boot time
> drm/i915/pxp: Implement funcs to create the TEE channel
> drm/i915/pxp: Create the arbitrary session after boot
> drm/i915/pxp: Func to send hardware session termination
> drm/i915/pxp: Enable PXP irq worker and callback stub
> drm/i915/pxp: Destroy arb session upon teardown
> drm/i915/pxp: Enable PXP power management
> drm/i915/pxp: Expose session state for display protection flip
>
> Vitaly Lubart (1):
> mei: pxp: export pavp client to me client bus
>
> drivers/gpu/drm/i915/Kconfig | 22 ++
> drivers/gpu/drm/i915/Makefile | 9 +
> drivers/gpu/drm/i915/display/intel_sprite.c | 21 +-
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 19 +-
> drivers/gpu/drm/i915/gem/i915_gem_context.h | 5 +
> .../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.c | 5 +
> drivers/gpu/drm/i915/gt/intel_gt_irq.c | 4 +
> drivers/gpu/drm/i915/gt/intel_gt_pm.c | 4 +
> drivers/gpu/drm/i915/gt/intel_gt_types.h | 3 +
> drivers/gpu/drm/i915/i915_drv.c | 7 +-
> drivers/gpu/drm/i915/i915_drv.h | 6 +
> drivers/gpu/drm/i915/i915_gem.c | 63 +++-
> drivers/gpu/drm/i915/i915_reg.h | 4 +-
> drivers/gpu/drm/i915/pxp/intel_pxp.c | 181 ++++++++++++
> drivers/gpu/drm/i915/pxp/intel_pxp.h | 81 +++++
> drivers/gpu/drm/i915/pxp/intel_pxp_arb.c | 207 +++++++++++++
> drivers/gpu/drm/i915/pxp/intel_pxp_arb.h | 17 ++
> drivers/gpu/drm/i915/pxp/intel_pxp_cmd.c | 278
> ++++++++++++++++++
> drivers/gpu/drm/i915/pxp/intel_pxp_cmd.h | 20 ++
> drivers/gpu/drm/i915/pxp/intel_pxp_context.c | 28 ++
> drivers/gpu/drm/i915/pxp/intel_pxp_context.h | 15 +
> drivers/gpu/drm/i915/pxp/intel_pxp_pm.c | 65 ++++
> drivers/gpu/drm/i915/pxp/intel_pxp_pm.h | 31 ++
> drivers/gpu/drm/i915/pxp/intel_pxp_tee.c | 210 +++++++++++++
> drivers/gpu/drm/i915/pxp/intel_pxp_tee.h | 17 ++
> drivers/gpu/drm/i915/pxp/intel_pxp_types.h | 60 ++++
> 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 | 66 +++++
> 37 files changed, 1760 insertions(+), 12 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_arb.c
> create mode 100644 drivers/gpu/drm/i915/pxp/intel_pxp_arb.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_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_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
>
More information about the Intel-gfx
mailing list