All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alan Previn <alan.previn.teres.alexis@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: [igt-dev] [PATCH i-g-t v13 08/16] Add subtest to copy raw source to protected dest
Date: Tue,  5 Oct 2021 08:10:14 -0700	[thread overview]
Message-ID: <20211005151022.2161424-9-alan.previn.teres.alexis@intel.com> (raw)
In-Reply-To: <20211005151022.2161424-1-alan.previn.teres.alexis@intel.com>

Add subtest to 3d-copy raw source buffer (with
known readible content) to a destination buffer
marked as protected with a protected session using
default session keys. The destination buffer is
verified to be different from the source (when
read via CPU) because its encrypted.

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 tests/i915/gem_pxp.c | 55 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/tests/i915/gem_pxp.c b/tests/i915/gem_pxp.c
index 272de57b..9c7de6b0 100644
--- a/tests/i915/gem_pxp.c
+++ b/tests/i915/gem_pxp.c
@@ -378,7 +378,9 @@ static uint32_t alloc_and_fill_dest_buff(int i915, bool protected, uint32_t size
 #define TSTSURF_STRIDE      (TSTSURF_WIDTH*TSTSURF_BYTESPP)
 #define TSTSURF_SIZE        (TSTSURF_STRIDE*TSTSURF_HEIGHT)
 #define TSTSURF_FILLCOLOR1  0xfaceface
+#define TSTSURF_FILLCOLOR2  0xdeaddead
 #define TSTSURF_INITCOLOR1  0x12341234
+#define TSTSURF_INITCOLOR2  0x56785678
 
 static void test_render_baseline(int i915)
 {
@@ -424,6 +426,57 @@ static void test_render_baseline(int i915)
 	buf_ops_destroy(bops);
 }
 
+static void test_render_pxp_src_to_protdest(int i915)
+{
+	uint32_t ctx, srcbo, dstbo;
+	struct intel_buf *srcbuf, *dstbuf;
+	struct buf_ops *bops;
+	struct intel_bb *ibb;
+	uint32_t devid;
+	int ret;
+
+	devid = intel_get_drm_devid(i915);
+	igt_assert(devid);
+
+	bops = buf_ops_create(i915);
+	igt_assert(bops);
+
+	/*
+	 * Perform a protected render operation but only label
+	 * the dest as protected. After rendering, the content
+	 * should be encrypted
+	 */
+	ret = create_ctx_with_params(i915, true, true, true, false, &ctx);
+	igt_assert_eq(ret, 0);
+	igt_assert_eq(get_ctx_protected_param(i915, ctx), 1);
+	ibb = intel_bb_create_with_context(i915, ctx, 4096);
+	igt_assert(ibb);
+	intel_bb_set_pxp(ibb, true, DISPLAY_APPTYPE, I915_PROTECTED_CONTENT_DEFAULT_SESSION);
+
+	dstbo = alloc_and_fill_dest_buff(i915, true, TSTSURF_SIZE, TSTSURF_INITCOLOR2);
+	dstbuf = intel_buf_create_using_handle(bops, dstbo, TSTSURF_WIDTH, TSTSURF_HEIGHT,
+						TSTSURF_BYTESPP*8, 0, I915_TILING_NONE, 0);
+	intel_buf_set_pxp(dstbuf, true);
+
+	srcbo = alloc_and_fill_dest_buff(i915, false, TSTSURF_SIZE, TSTSURF_FILLCOLOR2);
+	srcbuf = intel_buf_create_using_handle(bops, srcbo, TSTSURF_WIDTH, TSTSURF_HEIGHT,
+						TSTSURF_BYTESPP*8, 0, I915_TILING_NONE, 0);
+
+	gen12_render_copyfunc(ibb, srcbuf, 0, 0, TSTSURF_WIDTH, TSTSURF_HEIGHT, dstbuf, 0, 0);
+	gem_sync(i915, dstbo);
+
+	assert_bo_content_check(i915, dstbo, COMPARE_COLOR_UNREADIBLE,
+				TSTSURF_SIZE, TSTSURF_FILLCOLOR2);
+
+	intel_bb_destroy(ibb);
+	intel_buf_destroy(srcbuf);
+	gem_close(i915, srcbo);
+	intel_buf_destroy(dstbuf);
+	gem_close(i915, dstbo);
+	gem_context_destroy(i915, ctx);
+	buf_ops_destroy(bops);
+}
+
 igt_main
 {
 	int i915 = -1;
@@ -495,6 +548,8 @@ igt_main
 		igt_describe("Verify protected render operations:");
 		igt_subtest("regular-baseline-src-copy-readible")
 			test_render_baseline(i915);
+		igt_subtest("protected-raw-src-copy-not-readible")
+			test_render_pxp_src_to_protdest(i915);
 	}
 
 	igt_fixture {
-- 
2.25.1

  parent reply	other threads:[~2021-10-05 15:14 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05 15:10 [PATCH i-g-t v13 00/16] Introduce PXP Test Alan Previn
2021-10-05 15:10 ` [igt-dev] " Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 01/16] i915_drm.h sync PXP default session Alan Previn
2021-10-05 19:14   ` Rodrigo Vivi
2021-10-05 19:31     ` Teres Alexis, Alan Previn
2021-10-05 19:34       ` Vivi, Rodrigo
2021-10-06 11:51         ` Petri Latvala
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 02/16] i915_drm.h sync PXP object creation Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 03/16] Add basic PXP testing of buffer and context alloc Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 04/16] Perform a regular 3d copy as a control checkpoint Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 05/16] Add PXP attribute support in batchbuffer and buffer_ops libs Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 06/16] Add MI_SET_APPID instruction definition Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 07/16] Enable protected session cmd in gen12_render_copyfunc Alan Previn
2021-10-05 15:10 ` Alan Previn [this message]
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 09/16] Add test where both src and dest are protected Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 10/16] Verify PXP teardown occurred through suspend-resume Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 11/16] Verify execbuf fails with stale PXP context after teardown Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 12/16] Verify execbuf fails with stale PXP buffer " Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 13/16] Verify execbuf ok with stale PXP buf in opt-out use Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 14/16] Verify execution behavior with stale PXP assets through suspend-resume Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 15/16] Verify protected surfaces are dma buffer sharable Alan Previn
2021-10-05 15:10 ` [igt-dev] [PATCH i-g-t v13 16/16] tests/i915_pxp: CRC validation for display tests Alan Previn
2021-10-05 16:11 ` [igt-dev] ✗ Fi.CI.BAT: failure for Introduce PXP Test (rev13) Patchwork
2021-10-05 17:22   ` Teres Alexis, Alan Previn
2021-10-06  7:32     ` Gupta, Anshuman
2021-10-06  9:50       ` Gupta, Anshuman
2021-10-05 19:59 ` [igt-dev] ✓ Fi.CI.BAT: success for Introduce PXP Test (rev14) Patchwork
2021-10-05 23:57 ` [igt-dev] ✗ Fi.CI.IGT: 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=20211005151022.2161424-9-alan.previn.teres.alexis@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.