[igt-dev] [PATCH i-g-t v2] lib/xe_query: fix vram_memory() and vram_if_possible()

Niranjana Vishwanathapura niranjana.vishwanathapura at intel.com
Thu Apr 6 16:38:32 UTC 2023


On Thu, Apr 06, 2023 at 09:21:57AM +0100, Matthew Auld wrote:
>vram_memory() is meant to return VRAM if supported. If we call this on
>igpu it should return zero. There is at least one user relying on this
>in xe_mmap at vram, where we want to skip if the mask here is zero.
>
>vram_if_possible() should account for the per GT VRAM when returning
>the mask. Currently it just returns the mask for all VRAM instances.
>
>v2 (Niranjana):
>  - Squash into a single patch
>  - Fold in the differences from the version by Matt Brost & Zbigniew
>

LGTM.
Reviewed-by: Niranjana Vishwanathapura <niranjana.vishwanathapura at intel.com>

>Reported-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
>Signed-off-by: Matthew Auld <matthew.auld at intel.com>
>Cc: Niranjana Vishwanathapura <niranjana.vishwanathapura at intel.com>
>Cc: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
>Cc: Matthew Brost <matthew.brost at intel.com>
>---
> lib/xe/xe_query.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
>diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
>index 24a258a5e..2b627a78a 100644
>--- a/lib/xe/xe_query.c
>+++ b/lib/xe/xe_query.c
>@@ -380,7 +380,7 @@ uint64_t vram_memory(int fd, int gt)
> 	igt_assert(xe_dev);
> 	igt_assert(gt >= 0 && gt < xe_dev->number_gt);
>
>-	return native_region_for_gt(xe_dev->gts, gt);
>+	return xe_has_vram(fd) ? native_region_for_gt(xe_dev->gts, gt) : 0;
> }
>
> /**
>@@ -393,11 +393,7 @@ uint64_t vram_memory(int fd, int gt)
>  */
> uint64_t vram_if_possible(int fd, int gt)
> {
>-	uint64_t regions = all_memory_regions(fd);
>-	uint64_t system_memory = regions & 0x1;
>-	uint64_t vram = regions & (~0x1);
>-
>-	return vram ? vram : system_memory;
>+	return vram_memory(fd, gt) ?: system_memory(fd);
> }
>
> /**
>-- 
>2.39.2
>


More information about the igt-dev mailing list