All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>
To: "Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Cc: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>
Subject: Re: [igt-dev] [PATCH i-g-t 02/17] Add PXP UAPI support in i915_drm.h
Date: Thu, 3 Jun 2021 00:50:59 +0000	[thread overview]
Message-ID: <7558560b129a9d78c55b821333d475c6972491a9.camel@intel.com> (raw)
In-Reply-To: <YLfl04+bas0t2r4Q@intel.com>

Okay - will do. 

On Wed, 2021-06-02 at 16:10 -0400, Rodrigo Vivi wrote:
> On Tue, May 18, 2021 at 03:33:29AM -0700, Alan Previn wrote:
> > At the time of this commit, PXP hasnt been merged into
> > upstream kernel so this has no kernel tag reference yet
> 
> chicken egg issue right, but probably better to kill this patch
> and sync directly when merging, right after the kernel merged.
> 
> > Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> > ---
> >  include/drm-uapi/i915_drm.h | 52
> > +++++++++++++++++++++++++++++++++++++
> >  1 file changed, 52 insertions(+)
> > 
> > diff --git a/include/drm-uapi/i915_drm.h b/include/drm-
> > uapi/i915_drm.h
> > index d9fbf218..e67e3e5c 100644
> > --- a/include/drm-uapi/i915_drm.h
> > +++ b/include/drm-uapi/i915_drm.h
> > @@ -1743,6 +1743,26 @@ struct drm_i915_gem_context_param {
> >   * Default is 16 KiB.
> >   */
> >  #define I915_CONTEXT_PARAM_RINGSIZE	0xc
> > +
> > +/*
> > + * I915_CONTEXT_PARAM_PROTECTED_CONTENT:
> > + *
> > + * Mark that the context makes use of protected content, which
> > will result
> > + * in the context being invalidated when the protected content
> > session is.
> > + * This flag can only be set at context creation time and, when
> > set to true,
> > + * must be preceded by an explicit setting of
> > I915_CONTEXT_PARAM_RECOVERABLE
> > + * to false. This flag can't be set to true in conjunction with
> > setting the
> > + * I915_CONTEXT_PARAM_BANNABLE flag to false.
> > + *
> > + * Given the numerous restriction on this flag, there are several
> > unique
> > + * failure cases:
> > + *
> > + * -ENODEV: feature not available
> > + * -EEXIST: trying to modify an existing context
> > + * -EPERM: trying to mark a recoverable or not bannable context as
> > protected
> > + * -EACCES: submitting an invalidated context for execution
> > + */
> > +#define I915_CONTEXT_PARAM_PROTECTED_CONTENT    0xd
> >  /* Must be kept compact -- no holes and well documented */
> >  
> >  	__u64 value;
> > @@ -1973,6 +1993,12 @@ struct drm_i915_reg_read {
> >  struct drm_i915_reset_stats {
> >  	__u32 ctx_id;
> >  	__u32 flags;
> > +	/*
> > +	 * contexts marked as using protected content are invalidated
> > when the
> > +	 * protected content session dies. Submission of invalidated
> > contexts
> > +	 * is rejected with -EACCES.
> > +	 */
> > +#define I915_CONTEXT_INVALIDATED 0x1
> >  
> >  	/* All resets since boot/module reload, for all contexts */
> >  	__u32 reset_count;
> > @@ -2645,6 +2671,7 @@ struct drm_i915_gem_create_ext {
> >  	 * struct drm_i915_gem_create_ext_memory_regions.
> >  	 */
> >  #define I915_GEM_CREATE_EXT_MEMORY_REGIONS 0
> > +#define I915_GEM_CREATE_EXT_PROTECTED_CONTENT 1
> >  	__u64 extensions;
> >  };
> >  
> > @@ -2702,6 +2729,31 @@ struct
> > drm_i915_gem_create_ext_memory_regions {
> >  	__u64 regions;
> >  };
> >  
> > +/*
> > + * I915_OBJECT_PARAM_PROTECTED_CONTENT:
> > + *
> > + * If set to true, buffer contents is expected to be protected by
> > PXP
> > + * encryption and requires decryption for scan out and processing.
> > This is
> > + * only possible on platforms that have PXP enabled, on all other
> > scenarios
> > + * setting this flag will cause the ioctl to fail and return
> > -ENODEV.
> > + *
> > + * The buffer contents are considered invalid after a PXP session
> > teardown.
> > + * It is recommended to use protected buffers only with contexts
> > created
> > + * using the I915_CONTEXT_PARAM_PROTECTED_CONTENT flag, as that
> > will enable
> > + * extra checks at submission time on the validity of the objects
> > involved,
> > + * which can lead to the following errors:
> > + *
> > + * -ENODEV: PXP session not currently active
> > + * -EIO: buffer has become invalid after a teardown event
> > + */
> > +struct drm_i915_gem_create_ext_protected_content {
> > +	struct i915_user_extension base;
> > +	__u32 flags;
> > +};
> > +
> > +/* ID of the protected content session managed by i915 when PXP is
> > active */
> > +#define I915_PROTECTED_CONTENT_DEFAULT_SESSION 0xf
> > +
> >  #if defined(__cplusplus)
> >  }
> >  #endif
> > -- 
> > 2.25.1
> > 
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2021-06-03  0:51 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-18 10:33 [igt-dev] [PATCH i-g-t 00/17] Introduce PXP Test Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 01/17] Sync i915_drm.h UAPI from kernel Alan Previn
2021-06-02 20:07   ` Rodrigo Vivi
2021-06-03  0:15     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 02/17] Add PXP UAPI support in i915_drm.h Alan Previn
2021-06-02 20:10   ` Rodrigo Vivi
2021-06-03  0:50     ` Teres Alexis, Alan Previn [this message]
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 03/17] Update IOCTL wrapper with DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT Alan Previn
2021-06-02 20:10   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 04/17] Add basic PXP testing of buffer and context alloc Alan Previn
2021-06-02 20:23   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 05/17] Perform a regular 3d copy as a control checkpoint Alan Previn
2021-06-02 21:37   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 06/17] Add PXP attribute support in batchbuffer and buffer_ops libs Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 07/17] Add MI_SET_APPID instruction definition Alan Previn
2021-06-02 21:40   ` Rodrigo Vivi
2021-06-03  0:54     ` Teres Alexis, Alan Previn
2021-06-03 15:06       ` Rodrigo Vivi
2021-06-03  8:52   ` Michal Wajdeczko
2021-06-03 15:22     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 08/17] Enable protected session cmd in gen12_render_copyfunc Alan Previn
2021-06-04 13:16   ` Rodrigo Vivi
2021-06-10 17:36     ` Teres Alexis, Alan Previn
2021-06-10 19:55       ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 09/17] Add subtest to copy raw source to protected dest Alan Previn
2021-06-04 13:22   ` Rodrigo Vivi
2021-06-05  1:30     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 10/17] Add test where both src and dest are protected Alan Previn
2021-06-04 13:31   ` Rodrigo Vivi
2021-06-05  1:38     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 11/17] Verify PXP teardown occurred through suspend-resume Alan Previn
2021-06-03 21:40   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 12/17] Verify execbuf fails with stale PXP context after teardown Alan Previn
2021-06-04 13:38   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 13/17] Verify execbuf fails with stale PXP buffer " Alan Previn
2021-06-03 21:41   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 14/17] Verify execbuf ok with stale prot-buff and regular context Alan Previn
2021-06-04 13:56   ` Rodrigo Vivi
2021-06-05  0:27     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 15/17] Ensure RESET_STATS reports invalidated protected context Alan Previn
2021-06-03 21:43   ` Rodrigo Vivi
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 16/17] Verify protected surfaces are dma buffer sharable Alan Previn
2021-06-04 14:18   ` Rodrigo Vivi
2021-06-05  0:45     ` Teres Alexis, Alan Previn
2021-05-18 10:33 ` [igt-dev] [PATCH i-g-t 17/17] tests/i915_pxp: CRC validation for display tests Alan Previn
2021-06-04 14:40   ` Rodrigo Vivi
2021-06-05  1:07     ` Teres Alexis, Alan Previn
2021-06-10 13:00       ` Shankar, Uma
2021-06-10 14:17         ` Rodrigo Vivi
2021-05-18 11:30 ` [igt-dev] ✓ Fi.CI.BAT: success for Introduce PXP Test (rev5) Patchwork
2021-05-18 18:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2021-06-02 21:44   ` Rodrigo Vivi
2021-06-03 18:09     ` Teres Alexis, Alan Previn
2021-06-03 18:13       ` Rodrigo Vivi
  -- strict thread matches above, loose matches on Subject: below --
2021-05-15 23:01 [igt-dev] [PATCH i-g-t 00/17] Introduce PXP Test Alan Previn
2021-05-15 23:01 ` [igt-dev] [PATCH i-g-t 02/17] Add PXP UAPI support in i915_drm.h Alan Previn

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=7558560b129a9d78c55b821333d475c6972491a9.camel@intel.com \
    --to=alan.previn.teres.alexis@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.