[PATCH i-g-t 2/2] lib/intel_blt: use BYTE_COPY mode on xe2

Matthew Auld matthew.auld at intel.com
Tue Jan 23 18:33:23 UTC 2024


Currently we see various CAT errors and timeouts on xe2 when running
xe_copy_basic. If selecting PAGE_COPY mode for MEM_COPY, the page size
is defined as 256B block as xe2. Also the width should be defined in
number of pages, and not bytes, which likely explains the CAT errors.
However the caller in xe_copy_basic is not using a size that is aligned
to 256B, so rather just select the more general BYTE_COPY mode instead,
which should work for any reasonable number of bytes.

BSpec: 57561
Signed-off-by: Matthew Auld <matthew.auld at intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
---
 lib/intel_blt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/intel_blt.c b/lib/intel_blt.c
index e41e261ea..25d251c4f 100644
--- a/lib/intel_blt.c
+++ b/lib/intel_blt.c
@@ -1613,7 +1613,7 @@ static void emit_blt_mem_copy(int fd, uint64_t ahnd, const struct blt_mem_data *
 	optype = mem->src.type == M_MATRIX ? 1 << 17 : 0;
 
 	i = 0;
-	batch[i++] = MEM_COPY_CMD | (1 << 19) | optype;
+	batch[i++] = MEM_COPY_CMD | optype;
 	batch[i++] = mem->src.width - 1;
 	batch[i++] = mem->src.height - 1;
 	batch[i++] = mem->src.pitch - 1;
-- 
2.43.0



More information about the igt-dev mailing list