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

Zbigniew Kempczyński zbigniew.kempczynski at intel.com
Wed Jan 24 04:56:08 UTC 2024


On Tue, Jan 23, 2024 at 06:33:23PM +0000, Matthew Auld wrote:
> 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
> 

+Sai

At first glance I don't like removing (1 << 19). For M_MATRIX
we require BYTE_COPY. I'm not sure Sai is working on such tests
but we discussed offline sometime I would like to have such
tests here.

--
Zbigniew


More information about the igt-dev mailing list