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 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx