[igt-dev] [PATCH i-g-t] tests/amd_security: fix secure bounce test issue

Jesse Zhang jesse.zhang at amd.com
Mon Dec 4 03:00:07 UTC 2023


When it copy from scr (bo) to destination (bo2),
and move bo2 from vram to gtt.
Then it need to copy from bo2(src)
to bo (destination) for verification.

Cc: Vitaly Prosyak <vitaly.prosyak at amd.com>
Cc: Luben Tuikov <luben.tuikov at amd.com>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Christian Koenig <christian.koenig at amd.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>

Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
---
 tests/amdgpu/amd_security.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/tests/amdgpu/amd_security.c b/tests/amdgpu/amd_security.c
index d1146a7ce..7fb6df3b6 100644
--- a/tests/amdgpu/amd_security.c
+++ b/tests/amdgpu/amd_security.c
@@ -99,7 +99,7 @@ static void
 amdgpu_bo_lcopy(amdgpu_device_handle device,
 		struct amdgpu_ring_context *ring_context,
 		const struct amdgpu_ip_block_version *ip_block, uint32_t size,
-		uint32_t secure)
+		uint32_t secure, int direction)
 {
 	ring_context->pm4 = calloc(PACKET_LCOPY_SIZE, sizeof(*ring_context->pm4));
 	ring_context->secure = secure;
@@ -108,8 +108,15 @@ amdgpu_bo_lcopy(amdgpu_device_handle device,
 	ring_context->res_cnt = 2;
 	igt_assert(ring_context->pm4);
 
-	amdgpu_sdma_lcopy(ring_context->pm4, ring_context->bo_mc2,
-			ring_context->bo_mc, size, secure);
+	if (direction) {
+		/* copy from bo2 to bo */
+		amdgpu_sdma_lcopy(ring_context->pm4, ring_context->bo_mc,
+				ring_context->bo_mc2, size, secure);
+	} else {
+		/* copy from bo to bo bo2 */
+		amdgpu_sdma_lcopy(ring_context->pm4, ring_context->bo_mc2,
+				ring_context->bo_mc, size, secure);
+	}
 	amdgpu_test_exec_cs_helper(device, ip_block->type, ring_context, 0);
 	free(ring_context->pm4);
 }
@@ -222,7 +229,7 @@ amdgpu_secure_bounce(amdgpu_device_handle device_handle, int fd,
 	ring_context->resources[1] = ring_context->bo;	// Alice
 
 	amdgpu_bo_lcopy(device_handle, ring_context, ip_block, SECURE_BUFFER_SIZE,
-			secure == true ? 1 : 0);
+			secure == true ? 1 : 0, 0);
 
 	/* Verify the contents of Bob. */
 	for (pp = (__typeof__(pp))ring_context->bo2_cpu;
@@ -249,7 +256,7 @@ amdgpu_secure_bounce(amdgpu_device_handle device_handle, int fd,
 
 	/* sDMA TMZ copy from Bob to Alice. */
 	amdgpu_bo_lcopy(device_handle, ring_context, ip_block, SECURE_BUFFER_SIZE,
-			secure == true ? 1 : 0);
+			secure == true ? 1 : 0, 1);
 
 	/* Verify the contents of Alice */
 	for (pp = (__typeof__(pp))ring_context->bo_cpu;
-- 
2.25.1



More information about the igt-dev mailing list