Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t v5 0/2] Update compression check based on platform
@ 2024-04-17  3:52 Akshata Jahagirdar
  2024-04-17  3:52 ` [PATCH i-g-t v5 1/2] lib/intel_blt: Add helper function to ensure platform has flat-ccs enabled Akshata Jahagirdar
  2024-04-17  3:52 ` [PATCH i-g-t v5 2/2] tests/xe_ccs: Update compression check based on flat-ccs enablement Akshata Jahagirdar
  0 siblings, 2 replies; 4+ messages in thread
From: Akshata Jahagirdar @ 2024-04-17  3:52 UTC (permalink / raw)
  Cc: igt-dev, zbigniew.kempczynski, Akshata Jahagirdar

In Xe2+ platforms, we need to run the xe_ccs test regardless of the status of
flat-ccs.
Check if the platform supports compression and has flat ccs enabled,
and if it doesn't, then update the check on compression
and proceed with the test.

Akshata Jahagirdar (2):
  lib/intel_blt: Add helper function to ensure platform has  flat-ccs
    enabled
  tests/xe_ccs: Update compression check based on flat-ccs  enablement

 lib/intel_blt.c      | 14 ++++++++++++++
 lib/intel_blt.h      |  1 +
 tests/intel/xe_ccs.c | 20 ++++++++++++++++----
 3 files changed, 31 insertions(+), 4 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH i-g-t v5 1/2] lib/intel_blt: Add helper function to ensure platform has flat-ccs enabled
  2024-04-17  3:52 [PATCH i-g-t v5 0/2] Update compression check based on platform Akshata Jahagirdar
@ 2024-04-17  3:52 ` Akshata Jahagirdar
  2024-04-17  3:52 ` [PATCH i-g-t v5 2/2] tests/xe_ccs: Update compression check based on flat-ccs enablement Akshata Jahagirdar
  1 sibling, 0 replies; 4+ messages in thread
From: Akshata Jahagirdar @ 2024-04-17  3:52 UTC (permalink / raw)
  Cc: igt-dev, zbigniew.kempczynski, Akshata Jahagirdar,
	Jonathan Cavitt

Add helper function to check if platform has flat-ccs enabled  by
reading from debugfs entry.

Signed-off-by: Akshata Jahagirdar <akshata.jahagirdar@intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Acked-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
---
 lib/intel_blt.c | 14 ++++++++++++++
 lib/intel_blt.h |  1 +
 2 files changed, 15 insertions(+)

diff --git a/lib/intel_blt.c b/lib/intel_blt.c
index dc6669889..4da5cc855 100644
--- a/lib/intel_blt.c
+++ b/lib/intel_blt.c
@@ -464,6 +464,20 @@ bool blt_block_copy_supports_compression(int fd)
 				    BLT_CMD_SUPPORTS_COMPRESSION);
 }
 
+/**
+ * blt_platform_has_flat_ccs_enabled
+ * @fd: drm fd
+ *
+ * Check if platform provided by @fd device has flat-ccs enabled.
+ *
+ * Returns:
+ * true if it does, false otherwise.
+ */
+bool blt_platform_has_flat_ccs_enabled(int fd)
+{
+	return igt_debugfs_search(fd, "info", "has_flat_ccs yes");
+}
+
 /**
  * blt_uses_extended_block_copy
  * @fd: drm fd
diff --git a/lib/intel_blt.h b/lib/intel_blt.h
index d9c4d107f..cc5966686 100644
--- a/lib/intel_blt.h
+++ b/lib/intel_blt.h
@@ -209,6 +209,7 @@ bool blt_fast_copy_supports_tiling(int fd, enum blt_tiling_type tiling);
 bool blt_block_copy_supports_tiling(int fd, enum blt_tiling_type tiling);
 bool blt_xy_src_copy_supports_tiling(int fd, enum blt_tiling_type tiling);
 bool blt_block_copy_supports_compression(int fd);
+bool blt_platform_has_flat_ccs_enabled(int fd);
 bool blt_uses_extended_block_copy(int fd);
 
 const char *blt_tiling_name(enum blt_tiling_type tiling);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH i-g-t v5 2/2] tests/xe_ccs: Update compression check based on flat-ccs enablement
  2024-04-17  3:52 [PATCH i-g-t v5 0/2] Update compression check based on platform Akshata Jahagirdar
  2024-04-17  3:52 ` [PATCH i-g-t v5 1/2] lib/intel_blt: Add helper function to ensure platform has flat-ccs enabled Akshata Jahagirdar
@ 2024-04-17  3:52 ` Akshata Jahagirdar
  1 sibling, 0 replies; 4+ messages in thread
From: Akshata Jahagirdar @ 2024-04-17  3:52 UTC (permalink / raw)
  Cc: igt-dev, zbigniew.kempczynski, Akshata Jahagirdar,
	Jonathan Cavitt

In Xe2+ platforms,we need to run this test regardless of the status of flat-ccs.
Check if the platform supports compression and has flat ccs enabled, and if it
doesn't, then update the checks accordingly and proceed with the test.

Additionally, On Xe2 dGPU, compression is only supported with VRAM. When copying
from VRAM -> sysmem the KMD uses mapping with uncompressed PAT so the copy
in system memory is guaranteed to be uncompressed. When restoring such buffers
from sysmem -> VRAM the KMD can't easily know which pages were originally
compressed, so we always use uncompressed -> uncompressed here. so this means
there's no need for extra CCS storage on such platforms.
Thats why we shouldn't need to run suspend-resume on xe2 dgpu.

Signed-off-by: Akshata Jahagirdar <akshata.jahagirdar@intel.com>
Acked-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
---
 tests/intel/xe_ccs.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/tests/intel/xe_ccs.c b/tests/intel/xe_ccs.c
index b3bf97af7..a358f69d1 100644
--- a/tests/intel/xe_ccs.c
+++ b/tests/intel/xe_ccs.c
@@ -162,8 +162,18 @@ static void surf_copy(int xe,
 						      (void *)mid->ptr, mid->size);
 
 		munmap(ccsmap2, ccssize);
-		igt_assert(!strcmp(orig, newsum));
-		igt_assert(!strcmp(orig2, newsum2));
+		if (IS_GEN(xe, 12) && is_intel_dgfx()) {
+			igt_assert(!strcmp(orig, newsum));
+			igt_assert(!strcmp(orig2, newsum2));
+		} else if (AT_LEAST_GEN(xe, 20)) {
+			if (is_dgfx()) {
+				igt_assert(strcmp(orig, newsum));
+				igt_assert(strcmp(orig2, newsum2));
+			} else {
+				igt_assert(!strcmp(orig, newsum));
+				igt_assert(!strcmp(orig2, newsum2));
+			}
+		}
 		g_free(orig);
 		g_free(orig2);
 		g_free(newsum);
@@ -193,7 +203,8 @@ static void surf_copy(int xe,
 	intel_ctx_xe_sync(ctx, true);
 	WRITE_PNG(xe, run_id, "corrupted", &blt.dst, dst->x2, dst->y2, bpp);
 	result = memcmp(src->ptr, dst->ptr, src->size);
-	igt_assert(result != 0);
+	if (AT_LEAST_GEN(xe, 20) && !blt_platform_has_flat_ccs_enabled(xe))
+		igt_assert(result != 0);
 
 	/* retrieve back ccs */
 	memcpy(ccsmap, ccscopy, ccssize);
@@ -365,7 +376,8 @@ static void block_copy(int xe,
 	 * occurs and ctrl surface will be filled with some not-zeroed values.
 	 */
 	if (mid->compression && FROM_EXP_WH(width, height))
-		igt_assert(blt_surface_is_compressed(xe, ctx, NULL, ahnd, mid));
+		if (AT_LEAST_GEN(xe, 20) && !blt_platform_has_flat_ccs_enabled(xe))
+			igt_assert(blt_surface_is_compressed(xe, ctx, NULL, ahnd, mid));
 
 	WRITE_PNG(xe, run_id, "mid", &blt.dst, width, height, bpp);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH i-g-t v5 0/2] Update compression check based on platform
@ 2024-04-17  4:25 Akshata Jahagirdar
  0 siblings, 0 replies; 4+ messages in thread
From: Akshata Jahagirdar @ 2024-04-17  4:25 UTC (permalink / raw)
  Cc: igt-dev, zbigniew.kempczynski, Akshata Jahagirdar

In Xe2+ platforms, we need to run the xe_ccs test regardless of the status of
flat-ccs.
Check if the platform supports compression and has flat ccs enabled,
and if it doesn't, then update the check on compression
and proceed with the test.

Akshata Jahagirdar (2):
  lib/intel_blt: Add helper function to ensure platform has  flat-ccs
    enabled
  tests/xe_ccs: Update compression check based on flat-ccs  enablement

 lib/intel_blt.c      | 14 ++++++++++++++
 lib/intel_blt.h      |  1 +
 tests/intel/xe_ccs.c | 26 ++++++++++++++++++++++----
 3 files changed, 37 insertions(+), 4 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-16 16:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-17  3:52 [PATCH i-g-t v5 0/2] Update compression check based on platform Akshata Jahagirdar
2024-04-17  3:52 ` [PATCH i-g-t v5 1/2] lib/intel_blt: Add helper function to ensure platform has flat-ccs enabled Akshata Jahagirdar
2024-04-17  3:52 ` [PATCH i-g-t v5 2/2] tests/xe_ccs: Update compression check based on flat-ccs enablement Akshata Jahagirdar
  -- strict thread matches above, loose matches on Subject: below --
2024-04-17  4:25 [PATCH i-g-t v5 0/2] Update compression check based on platform Akshata Jahagirdar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox