[PATCH i-g-t 2/2] lib/intel_blt: use BYTE_COPY mode on xe2
Matthew Auld
matthew.auld at intel.com
Wed Jan 24 08:37:54 UTC 2024
On 24/01/2024 04:56, Zbigniew Kempczyński wrote:
> 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.
This patch is enabling BYTE_COPY mode. Setting bit 19 turns on the
PAGE_COPY mode. Matrix Copy looks to require BYTE_COPY. Also there
doesn't seem to be a bit 19 on PVC, it seems to only support byte copy.
>
> --
> Zbigniew
More information about the igt-dev
mailing list