From: "Huang, Sean Z" <sean.z.huang@intel.com>
To: Intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [RFC-v18 00/13] Introduce Intel PXP component - Mesa single session
Date: Sun, 3 Jan 2021 22:01:22 -0800 [thread overview]
Message-ID: <20210104060135.3076-1-sean.z.huang@intel.com> (raw)
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
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 | 4 +
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 | 207 +++++++++++++
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, 1756 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
--
2.17.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2021-01-04 6:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-04 6:01 Huang, Sean Z [this message]
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 01/13] drm/i915/pxp: Introduce Intel PXP component Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 02/13] drm/i915/pxp: set KCR reg init during the boot time Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 03/13] drm/i915/pxp: Implement funcs to create the TEE channel Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 04/13] drm/i915/pxp: Create the arbitrary session after boot Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 05/13] drm/i915/pxp: Func to send hardware session termination Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 06/13] drm/i915/pxp: Enable PXP irq worker and callback stub Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 07/13] drm/i915/pxp: Destroy arb session upon teardown Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 08/13] drm/i915/pxp: Enable PXP power management Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 09/13] drm/i915/pxp: Expose session state for display protection flip Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 10/13] mei: pxp: export pavp client to me client bus Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 11/13] drm/i915/uapi: introduce drm_i915_gem_create_ext Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 12/13] drm/i915/pxp: User interface for Protected buffer Huang, Sean Z
2021-01-04 6:01 ` [Intel-gfx] [RFC-v18 13/13] drm/i915/pxp: Add plane decryption support Huang, Sean Z
2021-01-04 6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Introduce Intel PXP component - Mesa single session (rev18) Patchwork
2021-01-04 7:05 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210104060135.3076-1-sean.z.huang@intel.com \
--to=sean.z.huang@intel.com \
--cc=Intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox