[igt-dev] [PATCH i-g-t 1/2] lib/i915_crc: Use system memory buffer on integrated platforms
Kamil Konieczny
kamil.konieczny at linux.intel.com
Wed Feb 1 15:41:15 UTC 2023
On 2023-02-01 at 14:26:56 +0100, Zbigniew Kempczyński wrote:
> Previous assumption crc32 will be calculated only on discrete is
> not valid anymore - MTL supports extended ALU SHL/SHR instructions
> so we can calculate crc there as well.
>
> Instead of enforcing local memory as target of buffers involved
> in calculations use system memory on integrated.
>
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
LGTM,
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
--
Kamil
> ---
> lib/i915/i915_crc.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/i915/i915_crc.c b/lib/i915/i915_crc.c
> index 70b84a815a..cdd3cef6df 100644
> --- a/lib/i915/i915_crc.c
> +++ b/lib/i915/i915_crc.c
> @@ -244,10 +244,11 @@ uint32_t i915_crc32(int i915, uint64_t ahnd, const intel_ctx_t *ctx,
> uint64_t bb_offset, table_offset, data_offset;
> uint32_t bb, table, crc, table_size = 4096;
> uint32_t *ptr;
> + uint32_t region = gem_has_lmem(i915) ? REGION_LMEM(0) : REGION_SMEM;
>
> igt_assert(data_size % 4 == 0);
>
> - table = gem_create_in_memory_regions(i915, table_size, REGION_LMEM(0));
> + table = gem_create_in_memory_regions(i915, table_size, region);
> gem_write(i915, table, 0, igt_crc32_tab, sizeof(igt_crc32_tab));
>
> table_offset = get_offset(ahnd, table, table_size, 0);
> @@ -261,7 +262,7 @@ uint32_t i915_crc32(int i915, uint64_t ahnd, const intel_ctx_t *ctx,
> obj[1].flags = EXEC_OBJECT_PINNED;
> obj[1].handle = data_handle;
>
> - bb = gem_create_in_memory_regions(i915, BBSIZE, REGION_LMEM(0));
> + bb = gem_create_in_memory_regions(i915, BBSIZE, region);
> bb_offset = get_offset(ahnd, bb, BBSIZE, 0);
> fill_batch(i915, bb, bb_offset, table_offset, data_offset, data_size);
> obj[2].offset = bb_offset;
> --
> 2.34.1
>
More information about the igt-dev
mailing list