All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl
@ 2023-03-29 10:19 Vikas Srivastava
  2023-03-29 11:42 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Vikas Srivastava @ 2023-03-29 10:19 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny

Call to gem_set_caching skips the test since i915_gem_set_caching_ioctl is
deprecated for MTL. To avoid this add the check for set caching supported
platforms.

FIXME: This is a temp solution to fix the IGT test issues where
set caching call is used , there is alternate API available
but support not yet available to use that.Once set_pat_index
support available need to bring that change replacing this one.

Signed-off-by: Vikas Srivastava <vikas.srivastava@intel.com>
---
 lib/ioctl_wrappers.c                | 14 ++++++++++++++
 lib/ioctl_wrappers.h                |  1 +
 tests/i915/gem_caching.c            |  7 +++++--
 tests/i915/gem_exec_flush.c         |  6 ++++--
 tests/i915/gem_exec_latency.c       |  3 ++-
 tests/i915/gem_exec_suspend.c       |  6 ++++--
 tests/i915/gem_render_tiled_blits.c |  3 ++-
 tests/i915/gem_softpin.c            |  3 ++-
 tests/i915/gem_userptr_blits.c      | 11 ++++++++---
 tests/i915/gem_workarounds.c        |  6 ++++--
 tests/i915/i915_pm_rpm.c            |  7 ++++---
 tests/prime_vgem.c                  |  3 ++-
 12 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 1ab41ab6d6..ebd8a2f36f 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1297,3 +1297,17 @@ bool igt_has_drm_cap(int fd, uint64_t capability)
 	igt_assert(drmIoctl(fd, DRM_IOCTL_GET_CAP, &cap) == 0);
 	return cap.value;
 }
+
+/**
+ * igt_has_set_caching:
+ * @devid: platform id.
+ *
+ * This helper verifies if the passed platform id
+ * has support for setting cache.
+ *
+ * Returns: Whether the cache setting  is supported or not.
+ */
+bool igt_has_set_caching(uint32_t devid)
+{
+	return IS_METEORLAKE(devid) ? false : true;
+}
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index e4d7c0d408..4c232078d0 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -145,6 +145,7 @@ void prime_sync_end(int dma_buf_fd, bool write);
 bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
 bool igt_has_drm_cap(int fd, uint64_t capability);
+bool igt_has_set_caching(uint32_t devid);
 
 /**
  * __kms_addfb:
diff --git a/tests/i915/gem_caching.c b/tests/i915/gem_caching.c
index eb0170abca..b62a2100e2 100644
--- a/tests/i915/gem_caching.c
+++ b/tests/i915/gem_caching.c
@@ -163,8 +163,11 @@ igt_main
 		scratch_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
 					       32, 0, I915_TILING_NONE, 0);
 
-		if (!gem_has_lmem(data.fd))
-			gem_set_caching(data.fd, scratch_buf->handle, 1);
+		if (!gem_has_lmem(data.fd)) {
+			if (igt_has_set_caching(intel_get_drm_devid(data.fd)))
+				gem_set_caching(data.fd, scratch_buf->handle, 1);
+		}
+
 
 		staging_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
 					       32, 0, I915_TILING_NONE, 0);
diff --git a/tests/i915/gem_exec_flush.c b/tests/i915/gem_exec_flush.c
index bb120e0d6c..42ddbc529e 100644
--- a/tests/i915/gem_exec_flush.c
+++ b/tests/i915/gem_exec_flush.c
@@ -142,7 +142,8 @@ static void run(int fd, unsigned ring, int nchild, int timeout,
 				       I915_GEM_DOMAIN_WC);
 		} else {
 			snoop = flags & COHERENT;
-			gem_set_caching(fd, obj[0].handle, snoop);
+			if (igt_has_set_caching(intel_get_drm_devid(fd)))
+				gem_set_caching(fd, obj[0].handle, snoop);
 			map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
 			gem_set_domain(fd, obj[0].handle,
 				       I915_GEM_DOMAIN_CPU,
@@ -401,7 +402,8 @@ static void batch(int fd, unsigned ring, int nchild, int timeout,
 		obj[0].handle = gem_create(fd, 4096);
 		obj[0].flags |= EXEC_OBJECT_WRITE;
 
-		gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
 		map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
 
 		gem_set_domain(fd, obj[0].handle,
diff --git a/tests/i915/gem_exec_latency.c b/tests/i915/gem_exec_latency.c
index fcdf7787b8..4838a70820 100644
--- a/tests/i915/gem_exec_latency.c
+++ b/tests/i915/gem_exec_latency.c
@@ -770,7 +770,8 @@ static void context_switch(int i915, const intel_ctx_t *ctx,
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create(i915, 4096);
-	gem_set_caching(i915, obj[0].handle, 1);
+	if (igt_has_set_caching(intel_get_drm_devid(i915)))
+		gem_set_caching(i915, obj[0].handle, 1);
 	results = gem_mmap__cpu(i915, obj[0].handle, 0, 4096, PROT_READ);
 	gem_set_domain(i915, obj[0].handle, I915_GEM_DOMAIN_CPU, 0);
 
diff --git a/tests/i915/gem_exec_suspend.c b/tests/i915/gem_exec_suspend.c
index 1dadf06df0..8d56093faa 100644
--- a/tests/i915/gem_exec_suspend.c
+++ b/tests/i915/gem_exec_suspend.c
@@ -116,8 +116,10 @@ static void run_test(int fd, const intel_ctx_t *ctx,
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create_in_memory_regions(fd, 4096, region);
-	if (!gem_has_lmem(fd))
-		gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
+	if (!gem_has_lmem(fd)) {
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
+	}
 	obj[0].flags |= EXEC_OBJECT_WRITE;
 	obj[1].handle = gem_create_in_memory_regions(fd, 4096, region);
 	gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe));
diff --git a/tests/i915/gem_render_tiled_blits.c b/tests/i915/gem_render_tiled_blits.c
index eae06a332e..3becf576fe 100644
--- a/tests/i915/gem_render_tiled_blits.c
+++ b/tests/i915/gem_render_tiled_blits.c
@@ -117,7 +117,8 @@ static void run_test (int fd, int count)
 	intel_buf_init(bops, &linear, WIDTH, HEIGHT, 32, 0,
 		       I915_TILING_NONE, I915_COMPRESSION_NONE);
 	if (snoop) {
-		gem_set_caching(fd, linear.handle, 1);
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, linear.handle, 1);
 		igt_info("Using a snoop linear buffer for comparisons\n");
 	}
 
diff --git a/tests/i915/gem_softpin.c b/tests/i915/gem_softpin.c
index 7682f772a1..8717860b2d 100644
--- a/tests/i915/gem_softpin.c
+++ b/tests/i915/gem_softpin.c
@@ -525,7 +525,8 @@ static void test_evict_snoop(int fd, unsigned int flags)
 	/* Create a snoop + uncached pair */
 	object[0].handle = gem_create(fd, 4096);
 	object[0].flags = EXEC_OBJECT_PINNED;
-	gem_set_caching(fd, object[0].handle, 1);
+	if (igt_has_set_caching(intel_get_drm_devid(fd)))
+		gem_set_caching(fd, object[0].handle, 1);
 	object[1].handle = gem_create(fd, 4096);
 	object[1].flags = EXEC_OBJECT_PINNED;
 	gem_write(fd, object[1].handle, 4096-sizeof(bbe), &bbe, sizeof(bbe));
diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index 07a453229a..b97e541118 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -1147,8 +1147,10 @@ static void test_relocations(int fd)
 	memset(&obj, 0, sizeof(obj));
 	igt_assert(posix_memalign(&ptr, PAGE_SIZE, size) == 0);
 	gem_userptr(fd, ptr, size, 0, userptr_flags, &obj.handle);
-	if (!gem_has_llc(fd))
-		gem_set_caching(fd, obj.handle, 0);
+	if (!gem_has_llc(fd)) {
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj.handle, 0);
+	}
 	*(uint32_t *)ptr = MI_BATCH_BUFFER_END;
 
 	reloc = (typeof(reloc))((char *)ptr + PAGE_SIZE);
@@ -2417,8 +2419,11 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 			test_sd_probe(fd);
 		}
 
-		igt_subtest("set-cache-level")
+		igt_subtest("set-cache-level") {
+			igt_require_f(igt_has_set_caching(intel_get_drm_devid(fd)),
+				      "set_caching not supported on this platform");
 			test_set_caching(fd);
+		}
 
 		igt_subtest("userfault")
 			test_userfault(fd);
diff --git a/tests/i915/gem_workarounds.c b/tests/i915/gem_workarounds.c
index 30c68d1ac9..7d11996254 100644
--- a/tests/i915/gem_workarounds.c
+++ b/tests/i915/gem_workarounds.c
@@ -106,8 +106,10 @@ static int workaround_fail_count(int i915, const intel_ctx_t *ctx)
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create(i915, result_sz);
-	if (!gem_has_lmem(i915))
-		gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
+	if (!gem_has_lmem(i915)) {
+		if (igt_has_set_caching(intel_get_drm_devid(i915)))
+			gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
+	}
 	obj[1].handle = gem_create(i915, batch_sz);
 	obj[1].relocs_ptr = to_user_pointer(reloc);
 	obj[1].relocation_count = !ahnd ? num_wa_regs : 0;
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index 74935430c1..9a6408dd37 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -1995,8 +1995,8 @@ static void pm_test_caching(void)
 
 	for (i = 0; i < ARRAY_SIZE(cache_levels); i++) {
 		igt_assert(wait_for_suspended());
-		gem_set_caching(drm_fd, handle, default_cache_level);
-
+		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
+			gem_set_caching(drm_fd, handle, default_cache_level);
 		/* Ensure we bind the vma into the GGTT */
 		memset(gem_buf, 16 << i, gtt_obj_max_size);
 
@@ -2008,7 +2008,8 @@ static void pm_test_caching(void)
 		 */
 		igt_debug("Setting cache level %u\n", cache_levels[i]);
 		igt_assert(wait_for_suspended());
-		gem_set_caching(drm_fd, handle, cache_levels[i]);
+		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
+			gem_set_caching(drm_fd, handle, cache_levels[i]);
 	}
 
 	igt_assert(munmap(gem_buf, gtt_obj_max_size) == 0);
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 7b473c03df..9aa767c9cd 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -330,7 +330,8 @@ static void test_userptr(int vgem, int i915)
 	*ptr = MI_BATCH_BUFFER_END;
 
 	gem_userptr(i915, ptr, scratch.size, 0, 0, &obj.handle);
-	gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
+	if (igt_has_set_caching(intel_get_drm_devid(i915)))
+		gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
 
 	gem_execbuf(i915, &execbuf);
 	gem_close(i915, obj.handle);
-- 
2.25.1

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915: skip gem_set_caching call for mtl (rev4)
  2023-03-29 10:19 [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Vikas Srivastava
@ 2023-03-29 11:42 ` Patchwork
  2023-03-29 17:23 ` [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Kamil Konieczny
  2023-03-30  0:43 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2023-03-29 11:42 UTC (permalink / raw)
  To: Vikas Srivastava; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 4669 bytes --]

== Series Details ==

Series: tests/i915: skip gem_set_caching call for mtl (rev4)
URL   : https://patchwork.freedesktop.org/series/114544/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12934 -> IGTPW_8707
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html

Participating hosts (37 -> 36)
------------------------------

  Missing    (1): fi-snb-2520m 

Known issues
------------

  Here are the changes found in IGTPW_8707 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-soraka:      [PASS][1] -> [DMESG-FAIL][2] ([i915#5334] / [i915#7872])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
    - fi-apl-guc:         [PASS][3] -> [DMESG-FAIL][4] ([i915#5334])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1:
    - bat-dg2-8:          [PASS][5] -> [FAIL][6] ([i915#7932])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc@pipe-d-dp-1.html

  
#### Possible fixes ####

  * igt@i915_pm_rps@basic-api:
    - bat-dg2-11:         [FAIL][7] ([i915#8308]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/bat-dg2-11/igt@i915_pm_rps@basic-api.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/bat-dg2-11/igt@i915_pm_rps@basic-api.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - fi-kbl-7567u:       [ABORT][9] ([i915#8299]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/fi-kbl-7567u/igt@i915_suspend@basic-s2idle-without-i915.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/fi-kbl-7567u/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-2:
    - fi-bsw-n3050:       [DMESG-WARN][11] ([i915#1982]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/fi-bsw-n3050/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-2.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/fi-bsw-n3050/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-hdmi-a-2.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2:
    - bat-dg1-5:          [FAIL][13] ([fdo#103375]) -> [PASS][14] +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/bat-dg1-5/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-d-hdmi-a-2.html

  
#### Warnings ####

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         [ABORT][15] ([i915#4983]) -> [ABORT][16] ([i915#4983] / [i915#7981])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/bat-rpls-1/igt@i915_selftest@live@reset.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/bat-rpls-1/igt@i915_selftest@live@reset.html

  
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
  [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
  [i915#8299]: https://gitlab.freedesktop.org/drm/intel/issues/8299
  [i915#8308]: https://gitlab.freedesktop.org/drm/intel/issues/8308


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7225 -> IGTPW_8707

  CI-20190529: 20190529
  CI_DRM_12934: 0d5e1ccc82c11e9d26d31b55b885a8d3f6588a8d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8707: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html
  IGT_7225: e2b54c935ac78a78a4243b22c53b1a61fd04ffdb @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html

[-- Attachment #2: Type: text/html, Size: 5576 bytes --]

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

* Re: [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl
  2023-03-29 10:19 [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Vikas Srivastava
  2023-03-29 11:42 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
@ 2023-03-29 17:23 ` Kamil Konieczny
  2023-03-30  0:43 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Kamil Konieczny @ 2023-03-29 17:23 UTC (permalink / raw)
  To: igt-dev

Hi Vikas,

On 2023-03-29 at 15:49:50 +0530, Vikas Srivastava wrote:
> Call to gem_set_caching skips the test since i915_gem_set_caching_ioctl is
> deprecated for MTL. To avoid this add the check for set caching supported
> platforms.
> 
> FIXME: This is a temp solution to fix the IGT test issues where
> set caching call is used , there is alternate API available
> but support not yet available to use that.Once set_pat_index
> support available need to bring that change replacing this one.
> 
> Signed-off-by: Vikas Srivastava <vikas.srivastava@intel.com>
> ---
>  lib/ioctl_wrappers.c                | 14 ++++++++++++++
>  lib/ioctl_wrappers.h                |  1 +
>  tests/i915/gem_caching.c            |  7 +++++--
>  tests/i915/gem_exec_flush.c         |  6 ++++--
>  tests/i915/gem_exec_latency.c       |  3 ++-
>  tests/i915/gem_exec_suspend.c       |  6 ++++--
>  tests/i915/gem_render_tiled_blits.c |  3 ++-
>  tests/i915/gem_softpin.c            |  3 ++-
>  tests/i915/gem_userptr_blits.c      | 11 ++++++++---
>  tests/i915/gem_workarounds.c        |  6 ++++--
>  tests/i915/i915_pm_rpm.c            |  7 ++++---
>  tests/prime_vgem.c                  |  3 ++-
>  12 files changed, 52 insertions(+), 18 deletions(-)
> 
> diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
> index 1ab41ab6d6..ebd8a2f36f 100644
> --- a/lib/ioctl_wrappers.c
> +++ b/lib/ioctl_wrappers.c
> @@ -1297,3 +1297,17 @@ bool igt_has_drm_cap(int fd, uint64_t capability)
>  	igt_assert(drmIoctl(fd, DRM_IOCTL_GET_CAP, &cap) == 0);
>  	return cap.value;
>  }
> +
> +/**
> + * igt_has_set_caching:
> + * @devid: platform id.
> + *
> + * This helper verifies if the passed platform id
> + * has support for setting cache.
> + *
> + * Returns: Whether the cache setting  is supported or not.
> + */
> +bool igt_has_set_caching(uint32_t devid)
> +{
> +	return IS_METEORLAKE(devid) ? false : true;
> +}
> diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
> index e4d7c0d408..4c232078d0 100644
> --- a/lib/ioctl_wrappers.h
> +++ b/lib/ioctl_wrappers.h
> @@ -145,6 +145,7 @@ void prime_sync_end(int dma_buf_fd, bool write);
>  bool igt_has_fb_modifiers(int fd);
>  void igt_require_fb_modifiers(int fd);
>  bool igt_has_drm_cap(int fd, uint64_t capability);
> +bool igt_has_set_caching(uint32_t devid);
>  
>  /**
>   * __kms_addfb:
> diff --git a/tests/i915/gem_caching.c b/tests/i915/gem_caching.c
> index eb0170abca..b62a2100e2 100644
> --- a/tests/i915/gem_caching.c
> +++ b/tests/i915/gem_caching.c
> @@ -163,8 +163,11 @@ igt_main
>  		scratch_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
>  					       32, 0, I915_TILING_NONE, 0);
>  
> -		if (!gem_has_lmem(data.fd))
> -			gem_set_caching(data.fd, scratch_buf->handle, 1);
> +		if (!gem_has_lmem(data.fd)) {
> +			if (igt_has_set_caching(intel_get_drm_devid(data.fd)))
----------------------- ^ delete these change,
instead, please add before subtests which enters here:

		if (!gem_has_lmem(data.fd))
			igt_require(igt_has_set_caching(intel_get_drm_devid(data.fd));

It is gem_caching test so we need this or else we should skip.

Regards,
Kamil

> +				gem_set_caching(data.fd, scratch_buf->handle, 1);
> +		}
> +
>  
>  		staging_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
>  					       32, 0, I915_TILING_NONE, 0);
> diff --git a/tests/i915/gem_exec_flush.c b/tests/i915/gem_exec_flush.c
> index bb120e0d6c..42ddbc529e 100644
> --- a/tests/i915/gem_exec_flush.c
> +++ b/tests/i915/gem_exec_flush.c
> @@ -142,7 +142,8 @@ static void run(int fd, unsigned ring, int nchild, int timeout,
>  				       I915_GEM_DOMAIN_WC);
>  		} else {
>  			snoop = flags & COHERENT;
> -			gem_set_caching(fd, obj[0].handle, snoop);
> +			if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +				gem_set_caching(fd, obj[0].handle, snoop);
>  			map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
>  			gem_set_domain(fd, obj[0].handle,
>  				       I915_GEM_DOMAIN_CPU,
> @@ -401,7 +402,8 @@ static void batch(int fd, unsigned ring, int nchild, int timeout,
>  		obj[0].handle = gem_create(fd, 4096);
>  		obj[0].flags |= EXEC_OBJECT_WRITE;
>  
> -		gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
> +		if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +			gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
>  		map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
>  
>  		gem_set_domain(fd, obj[0].handle,
> diff --git a/tests/i915/gem_exec_latency.c b/tests/i915/gem_exec_latency.c
> index fcdf7787b8..4838a70820 100644
> --- a/tests/i915/gem_exec_latency.c
> +++ b/tests/i915/gem_exec_latency.c
> @@ -770,7 +770,8 @@ static void context_switch(int i915, const intel_ctx_t *ctx,
>  
>  	memset(obj, 0, sizeof(obj));
>  	obj[0].handle = gem_create(i915, 4096);
> -	gem_set_caching(i915, obj[0].handle, 1);
> +	if (igt_has_set_caching(intel_get_drm_devid(i915)))
> +		gem_set_caching(i915, obj[0].handle, 1);
>  	results = gem_mmap__cpu(i915, obj[0].handle, 0, 4096, PROT_READ);
>  	gem_set_domain(i915, obj[0].handle, I915_GEM_DOMAIN_CPU, 0);
>  
> diff --git a/tests/i915/gem_exec_suspend.c b/tests/i915/gem_exec_suspend.c
> index 1dadf06df0..8d56093faa 100644
> --- a/tests/i915/gem_exec_suspend.c
> +++ b/tests/i915/gem_exec_suspend.c
> @@ -116,8 +116,10 @@ static void run_test(int fd, const intel_ctx_t *ctx,
>  
>  	memset(obj, 0, sizeof(obj));
>  	obj[0].handle = gem_create_in_memory_regions(fd, 4096, region);
> -	if (!gem_has_lmem(fd))
> -		gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
> +	if (!gem_has_lmem(fd)) {
> +		if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +			gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
> +	}
>  	obj[0].flags |= EXEC_OBJECT_WRITE;
>  	obj[1].handle = gem_create_in_memory_regions(fd, 4096, region);
>  	gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe));
> diff --git a/tests/i915/gem_render_tiled_blits.c b/tests/i915/gem_render_tiled_blits.c
> index eae06a332e..3becf576fe 100644
> --- a/tests/i915/gem_render_tiled_blits.c
> +++ b/tests/i915/gem_render_tiled_blits.c
> @@ -117,7 +117,8 @@ static void run_test (int fd, int count)
>  	intel_buf_init(bops, &linear, WIDTH, HEIGHT, 32, 0,
>  		       I915_TILING_NONE, I915_COMPRESSION_NONE);
>  	if (snoop) {
> -		gem_set_caching(fd, linear.handle, 1);
> +		if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +			gem_set_caching(fd, linear.handle, 1);
>  		igt_info("Using a snoop linear buffer for comparisons\n");
>  	}
>  
> diff --git a/tests/i915/gem_softpin.c b/tests/i915/gem_softpin.c
> index 7682f772a1..8717860b2d 100644
> --- a/tests/i915/gem_softpin.c
> +++ b/tests/i915/gem_softpin.c
> @@ -525,7 +525,8 @@ static void test_evict_snoop(int fd, unsigned int flags)
>  	/* Create a snoop + uncached pair */
>  	object[0].handle = gem_create(fd, 4096);
>  	object[0].flags = EXEC_OBJECT_PINNED;
> -	gem_set_caching(fd, object[0].handle, 1);
> +	if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +		gem_set_caching(fd, object[0].handle, 1);
>  	object[1].handle = gem_create(fd, 4096);
>  	object[1].flags = EXEC_OBJECT_PINNED;
>  	gem_write(fd, object[1].handle, 4096-sizeof(bbe), &bbe, sizeof(bbe));
> diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
> index 07a453229a..b97e541118 100644
> --- a/tests/i915/gem_userptr_blits.c
> +++ b/tests/i915/gem_userptr_blits.c
> @@ -1147,8 +1147,10 @@ static void test_relocations(int fd)
>  	memset(&obj, 0, sizeof(obj));
>  	igt_assert(posix_memalign(&ptr, PAGE_SIZE, size) == 0);
>  	gem_userptr(fd, ptr, size, 0, userptr_flags, &obj.handle);
> -	if (!gem_has_llc(fd))
> -		gem_set_caching(fd, obj.handle, 0);
> +	if (!gem_has_llc(fd)) {
> +		if (igt_has_set_caching(intel_get_drm_devid(fd)))
> +			gem_set_caching(fd, obj.handle, 0);
> +	}
>  	*(uint32_t *)ptr = MI_BATCH_BUFFER_END;
>  
>  	reloc = (typeof(reloc))((char *)ptr + PAGE_SIZE);
> @@ -2417,8 +2419,11 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
>  			test_sd_probe(fd);
>  		}
>  
> -		igt_subtest("set-cache-level")
> +		igt_subtest("set-cache-level") {
> +			igt_require_f(igt_has_set_caching(intel_get_drm_devid(fd)),
> +				      "set_caching not supported on this platform");
>  			test_set_caching(fd);
> +		}
>  
>  		igt_subtest("userfault")
>  			test_userfault(fd);
> diff --git a/tests/i915/gem_workarounds.c b/tests/i915/gem_workarounds.c
> index 30c68d1ac9..7d11996254 100644
> --- a/tests/i915/gem_workarounds.c
> +++ b/tests/i915/gem_workarounds.c
> @@ -106,8 +106,10 @@ static int workaround_fail_count(int i915, const intel_ctx_t *ctx)
>  
>  	memset(obj, 0, sizeof(obj));
>  	obj[0].handle = gem_create(i915, result_sz);
> -	if (!gem_has_lmem(i915))
> -		gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
> +	if (!gem_has_lmem(i915)) {
> +		if (igt_has_set_caching(intel_get_drm_devid(i915)))
> +			gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
> +	}
>  	obj[1].handle = gem_create(i915, batch_sz);
>  	obj[1].relocs_ptr = to_user_pointer(reloc);
>  	obj[1].relocation_count = !ahnd ? num_wa_regs : 0;
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
> index 74935430c1..9a6408dd37 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -1995,8 +1995,8 @@ static void pm_test_caching(void)
>  
>  	for (i = 0; i < ARRAY_SIZE(cache_levels); i++) {
>  		igt_assert(wait_for_suspended());
> -		gem_set_caching(drm_fd, handle, default_cache_level);
> -
> +		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
> +			gem_set_caching(drm_fd, handle, default_cache_level);
>  		/* Ensure we bind the vma into the GGTT */
>  		memset(gem_buf, 16 << i, gtt_obj_max_size);
>  
> @@ -2008,7 +2008,8 @@ static void pm_test_caching(void)
>  		 */
>  		igt_debug("Setting cache level %u\n", cache_levels[i]);
>  		igt_assert(wait_for_suspended());
> -		gem_set_caching(drm_fd, handle, cache_levels[i]);
> +		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
> +			gem_set_caching(drm_fd, handle, cache_levels[i]);
>  	}
>  
>  	igt_assert(munmap(gem_buf, gtt_obj_max_size) == 0);
> diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
> index 7b473c03df..9aa767c9cd 100644
> --- a/tests/prime_vgem.c
> +++ b/tests/prime_vgem.c
> @@ -330,7 +330,8 @@ static void test_userptr(int vgem, int i915)
>  	*ptr = MI_BATCH_BUFFER_END;
>  
>  	gem_userptr(i915, ptr, scratch.size, 0, 0, &obj.handle);
> -	gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
> +	if (igt_has_set_caching(intel_get_drm_devid(i915)))
> +		gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
>  
>  	gem_execbuf(i915, &execbuf);
>  	gem_close(i915, obj.handle);
> -- 
> 2.25.1
> 

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/i915: skip gem_set_caching call for mtl (rev4)
  2023-03-29 10:19 [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Vikas Srivastava
  2023-03-29 11:42 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
  2023-03-29 17:23 ` [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Kamil Konieczny
@ 2023-03-30  0:43 ` Patchwork
  2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2023-03-30  0:43 UTC (permalink / raw)
  To: Vikas Srivastava; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 14131 bytes --]

== Series Details ==

Series: tests/i915: skip gem_set_caching call for mtl (rev4)
URL   : https://patchwork.freedesktop.org/series/114544/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12934_full -> IGTPW_8707_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in IGTPW_8707_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][1] ([i915#2842])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
    - shard-apl:          NOTRUN -> [SKIP][2] ([fdo#109271]) +51 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl2/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html

  * igt@i915_pm_rpm@gem-execbuf-stress-pc8:
    - shard-glk:          NOTRUN -> [SKIP][3] ([fdo#109271]) +30 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk3/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html

  * igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#3886]) +2 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl1/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#3886]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk3/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-snb:          NOTRUN -> [SKIP][6] ([fdo#109271]) +8 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-snb7/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#658])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk9/igt@kms_psr2_sf@plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-apl:          NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#658])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl4/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_vblank@pipe-b-query-forked:
    - shard-snb:          [PASS][9] -> [SKIP][10] ([fdo#109271])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-snb2/igt@kms_vblank@pipe-b-query-forked.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-snb4/igt@kms_vblank@pipe-b-query-forked.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-apl:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#533])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl2/igt@kms_vblank@pipe-d-wait-idle.html

  
#### Possible fixes ####

  * {igt@gem_barrier_race@remote-request@rcs0}:
    - shard-apl:          [ABORT][12] -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-apl3/igt@gem_barrier_race@remote-request@rcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl3/igt@gem_barrier_race@remote-request@rcs0.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          [FAIL][14] ([i915#2846]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-apl3/igt@gem_exec_fair@basic-deadline.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - {shard-tglu}:       [FAIL][16] ([i915#2842]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-tglu-6/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-tglu-6/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_whisper@basic-fds-priority-all:
    - {shard-tglu}:       [INCOMPLETE][18] ([i915#6755]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-tglu-2/igt@gem_exec_whisper@basic-fds-priority-all.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-tglu-6/igt@gem_exec_whisper@basic-fds-priority-all.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [ABORT][20] ([i915#5566]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-glk1/igt@gen9_exec_parse@allowed-single.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk6/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [INCOMPLETE][22] ([i915#7790]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-snb7/igt@i915_pm_rps@reset.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-snb5/igt@i915_pm_rps@reset.html

  * igt@i915_suspend@debugfs-reader:
    - shard-apl:          [ABORT][24] ([i915#180]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-apl7/igt@i915_suspend@debugfs-reader.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-apl4/igt@i915_suspend@debugfs-reader.html

  * igt@kms_cursor_legacy@single-bo@pipe-b:
    - {shard-dg1}:        [INCOMPLETE][26] ([i915#8011]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-dg1-14/igt@kms_cursor_legacy@single-bo@pipe-b.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-dg1-18/igt@kms_cursor_legacy@single-bo@pipe-b.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [FAIL][28] ([i915#2122]) -> [PASS][29] +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-glk7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1:
    - shard-glk:          [FAIL][30] ([i915#79]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12934/shard-glk3/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6755]: https://gitlab.freedesktop.org/drm/intel/issues/6755
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8155]: https://gitlab.freedesktop.org/drm/intel/issues/8155


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7225 -> IGTPW_8707
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12934: 0d5e1ccc82c11e9d26d31b55b885a8d3f6588a8d @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8707: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html
  IGT_7225: e2b54c935ac78a78a4243b22c53b1a61fd04ffdb @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8707/index.html

[-- Attachment #2: Type: text/html, Size: 10279 bytes --]

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

* [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl
@ 2023-03-30  6:33 Vikas Srivastava
  0 siblings, 0 replies; 5+ messages in thread
From: Vikas Srivastava @ 2023-03-30  6:33 UTC (permalink / raw)
  To: igt-dev, kamil.konieczny

Call to gem_set_caching skips the test since i915_gem_set_caching_ioctl is
deprecated for MTL. To avoid this add the check for set caching supported
platforms.

FIXME: This is a temp solution to fix the IGT test issues where
set caching call is used , there is alternate API available
but support not yet available to use that.Once set_pat_index
support available need to bring that change replacing this one.

Signed-off-by: Vikas Srivastava <vikas.srivastava@intel.com>
---
 lib/ioctl_wrappers.c                | 14 ++++++++++++++
 lib/ioctl_wrappers.h                |  1 +
 tests/i915/gem_caching.c            |  5 ++++-
 tests/i915/gem_exec_flush.c         |  6 ++++--
 tests/i915/gem_exec_latency.c       |  3 ++-
 tests/i915/gem_exec_suspend.c       |  6 ++++--
 tests/i915/gem_render_tiled_blits.c |  3 ++-
 tests/i915/gem_softpin.c            |  3 ++-
 tests/i915/gem_userptr_blits.c      | 11 ++++++++---
 tests/i915/gem_workarounds.c        |  6 ++++--
 tests/i915/i915_pm_rpm.c            |  7 ++++---
 tests/prime_vgem.c                  |  3 ++-
 12 files changed, 51 insertions(+), 17 deletions(-)

diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 1ab41ab6d6..ebd8a2f36f 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -1297,3 +1297,17 @@ bool igt_has_drm_cap(int fd, uint64_t capability)
 	igt_assert(drmIoctl(fd, DRM_IOCTL_GET_CAP, &cap) == 0);
 	return cap.value;
 }
+
+/**
+ * igt_has_set_caching:
+ * @devid: platform id.
+ *
+ * This helper verifies if the passed platform id
+ * has support for setting cache.
+ *
+ * Returns: Whether the cache setting  is supported or not.
+ */
+bool igt_has_set_caching(uint32_t devid)
+{
+	return IS_METEORLAKE(devid) ? false : true;
+}
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index e4d7c0d408..4c232078d0 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -145,6 +145,7 @@ void prime_sync_end(int dma_buf_fd, bool write);
 bool igt_has_fb_modifiers(int fd);
 void igt_require_fb_modifiers(int fd);
 bool igt_has_drm_cap(int fd, uint64_t capability);
+bool igt_has_set_caching(uint32_t devid);
 
 /**
  * __kms_addfb:
diff --git a/tests/i915/gem_caching.c b/tests/i915/gem_caching.c
index eb0170abca..b930d62cf0 100644
--- a/tests/i915/gem_caching.c
+++ b/tests/i915/gem_caching.c
@@ -163,8 +163,11 @@ igt_main
 		scratch_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
 					       32, 0, I915_TILING_NONE, 0);
 
-		if (!gem_has_lmem(data.fd))
+		if (!gem_has_lmem(data.fd)) {
+			igt_require(igt_has_set_caching(data.devid));
 			gem_set_caching(data.fd, scratch_buf->handle, 1);
+		}
+
 
 		staging_buf = intel_buf_create(data.bops, BO_SIZE/4, 1,
 					       32, 0, I915_TILING_NONE, 0);
diff --git a/tests/i915/gem_exec_flush.c b/tests/i915/gem_exec_flush.c
index bb120e0d6c..42ddbc529e 100644
--- a/tests/i915/gem_exec_flush.c
+++ b/tests/i915/gem_exec_flush.c
@@ -142,7 +142,8 @@ static void run(int fd, unsigned ring, int nchild, int timeout,
 				       I915_GEM_DOMAIN_WC);
 		} else {
 			snoop = flags & COHERENT;
-			gem_set_caching(fd, obj[0].handle, snoop);
+			if (igt_has_set_caching(intel_get_drm_devid(fd)))
+				gem_set_caching(fd, obj[0].handle, snoop);
 			map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
 			gem_set_domain(fd, obj[0].handle,
 				       I915_GEM_DOMAIN_CPU,
@@ -401,7 +402,8 @@ static void batch(int fd, unsigned ring, int nchild, int timeout,
 		obj[0].handle = gem_create(fd, 4096);
 		obj[0].flags |= EXEC_OBJECT_WRITE;
 
-		gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj[0].handle, !!(flags & COHERENT));
 		map = gem_mmap__cpu(fd, obj[0].handle, 0, 4096, PROT_WRITE);
 
 		gem_set_domain(fd, obj[0].handle,
diff --git a/tests/i915/gem_exec_latency.c b/tests/i915/gem_exec_latency.c
index fcdf7787b8..4838a70820 100644
--- a/tests/i915/gem_exec_latency.c
+++ b/tests/i915/gem_exec_latency.c
@@ -770,7 +770,8 @@ static void context_switch(int i915, const intel_ctx_t *ctx,
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create(i915, 4096);
-	gem_set_caching(i915, obj[0].handle, 1);
+	if (igt_has_set_caching(intel_get_drm_devid(i915)))
+		gem_set_caching(i915, obj[0].handle, 1);
 	results = gem_mmap__cpu(i915, obj[0].handle, 0, 4096, PROT_READ);
 	gem_set_domain(i915, obj[0].handle, I915_GEM_DOMAIN_CPU, 0);
 
diff --git a/tests/i915/gem_exec_suspend.c b/tests/i915/gem_exec_suspend.c
index 1dadf06df0..8d56093faa 100644
--- a/tests/i915/gem_exec_suspend.c
+++ b/tests/i915/gem_exec_suspend.c
@@ -116,8 +116,10 @@ static void run_test(int fd, const intel_ctx_t *ctx,
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create_in_memory_regions(fd, 4096, region);
-	if (!gem_has_lmem(fd))
-		gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
+	if (!gem_has_lmem(fd)) {
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj[0].handle, !!(flags & CACHED));
+	}
 	obj[0].flags |= EXEC_OBJECT_WRITE;
 	obj[1].handle = gem_create_in_memory_regions(fd, 4096, region);
 	gem_write(fd, obj[1].handle, 0, &bbe, sizeof(bbe));
diff --git a/tests/i915/gem_render_tiled_blits.c b/tests/i915/gem_render_tiled_blits.c
index eae06a332e..3becf576fe 100644
--- a/tests/i915/gem_render_tiled_blits.c
+++ b/tests/i915/gem_render_tiled_blits.c
@@ -117,7 +117,8 @@ static void run_test (int fd, int count)
 	intel_buf_init(bops, &linear, WIDTH, HEIGHT, 32, 0,
 		       I915_TILING_NONE, I915_COMPRESSION_NONE);
 	if (snoop) {
-		gem_set_caching(fd, linear.handle, 1);
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, linear.handle, 1);
 		igt_info("Using a snoop linear buffer for comparisons\n");
 	}
 
diff --git a/tests/i915/gem_softpin.c b/tests/i915/gem_softpin.c
index 7682f772a1..8717860b2d 100644
--- a/tests/i915/gem_softpin.c
+++ b/tests/i915/gem_softpin.c
@@ -525,7 +525,8 @@ static void test_evict_snoop(int fd, unsigned int flags)
 	/* Create a snoop + uncached pair */
 	object[0].handle = gem_create(fd, 4096);
 	object[0].flags = EXEC_OBJECT_PINNED;
-	gem_set_caching(fd, object[0].handle, 1);
+	if (igt_has_set_caching(intel_get_drm_devid(fd)))
+		gem_set_caching(fd, object[0].handle, 1);
 	object[1].handle = gem_create(fd, 4096);
 	object[1].flags = EXEC_OBJECT_PINNED;
 	gem_write(fd, object[1].handle, 4096-sizeof(bbe), &bbe, sizeof(bbe));
diff --git a/tests/i915/gem_userptr_blits.c b/tests/i915/gem_userptr_blits.c
index 07a453229a..b97e541118 100644
--- a/tests/i915/gem_userptr_blits.c
+++ b/tests/i915/gem_userptr_blits.c
@@ -1147,8 +1147,10 @@ static void test_relocations(int fd)
 	memset(&obj, 0, sizeof(obj));
 	igt_assert(posix_memalign(&ptr, PAGE_SIZE, size) == 0);
 	gem_userptr(fd, ptr, size, 0, userptr_flags, &obj.handle);
-	if (!gem_has_llc(fd))
-		gem_set_caching(fd, obj.handle, 0);
+	if (!gem_has_llc(fd)) {
+		if (igt_has_set_caching(intel_get_drm_devid(fd)))
+			gem_set_caching(fd, obj.handle, 0);
+	}
 	*(uint32_t *)ptr = MI_BATCH_BUFFER_END;
 
 	reloc = (typeof(reloc))((char *)ptr + PAGE_SIZE);
@@ -2417,8 +2419,11 @@ igt_main_args("c:", NULL, help_str, opt_handler, NULL)
 			test_sd_probe(fd);
 		}
 
-		igt_subtest("set-cache-level")
+		igt_subtest("set-cache-level") {
+			igt_require_f(igt_has_set_caching(intel_get_drm_devid(fd)),
+				      "set_caching not supported on this platform");
 			test_set_caching(fd);
+		}
 
 		igt_subtest("userfault")
 			test_userfault(fd);
diff --git a/tests/i915/gem_workarounds.c b/tests/i915/gem_workarounds.c
index 30c68d1ac9..7d11996254 100644
--- a/tests/i915/gem_workarounds.c
+++ b/tests/i915/gem_workarounds.c
@@ -106,8 +106,10 @@ static int workaround_fail_count(int i915, const intel_ctx_t *ctx)
 
 	memset(obj, 0, sizeof(obj));
 	obj[0].handle = gem_create(i915, result_sz);
-	if (!gem_has_lmem(i915))
-		gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
+	if (!gem_has_lmem(i915)) {
+		if (igt_has_set_caching(intel_get_drm_devid(i915)))
+			gem_set_caching(i915, obj[0].handle, I915_CACHING_CACHED);
+	}
 	obj[1].handle = gem_create(i915, batch_sz);
 	obj[1].relocs_ptr = to_user_pointer(reloc);
 	obj[1].relocation_count = !ahnd ? num_wa_regs : 0;
diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
index 74935430c1..9a6408dd37 100644
--- a/tests/i915/i915_pm_rpm.c
+++ b/tests/i915/i915_pm_rpm.c
@@ -1995,8 +1995,8 @@ static void pm_test_caching(void)
 
 	for (i = 0; i < ARRAY_SIZE(cache_levels); i++) {
 		igt_assert(wait_for_suspended());
-		gem_set_caching(drm_fd, handle, default_cache_level);
-
+		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
+			gem_set_caching(drm_fd, handle, default_cache_level);
 		/* Ensure we bind the vma into the GGTT */
 		memset(gem_buf, 16 << i, gtt_obj_max_size);
 
@@ -2008,7 +2008,8 @@ static void pm_test_caching(void)
 		 */
 		igt_debug("Setting cache level %u\n", cache_levels[i]);
 		igt_assert(wait_for_suspended());
-		gem_set_caching(drm_fd, handle, cache_levels[i]);
+		if (igt_has_set_caching(intel_get_drm_devid(drm_fd)))
+			gem_set_caching(drm_fd, handle, cache_levels[i]);
 	}
 
 	igt_assert(munmap(gem_buf, gtt_obj_max_size) == 0);
diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
index 7b473c03df..9aa767c9cd 100644
--- a/tests/prime_vgem.c
+++ b/tests/prime_vgem.c
@@ -330,7 +330,8 @@ static void test_userptr(int vgem, int i915)
 	*ptr = MI_BATCH_BUFFER_END;
 
 	gem_userptr(i915, ptr, scratch.size, 0, 0, &obj.handle);
-	gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
+	if (igt_has_set_caching(intel_get_drm_devid(i915)))
+		gem_set_caching(i915, obj.handle, I915_CACHING_NONE); /* for !llc exec */
 
 	gem_execbuf(i915, &execbuf);
 	gem_close(i915, obj.handle);
-- 
2.25.1

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

end of thread, other threads:[~2023-03-30  6:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-29 10:19 [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Vikas Srivastava
2023-03-29 11:42 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
2023-03-29 17:23 ` [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Kamil Konieczny
2023-03-30  0:43 ` [igt-dev] ✓ Fi.CI.IGT: success for tests/i915: skip gem_set_caching call for mtl (rev4) Patchwork
2023-03-30  6:33 [igt-dev] [PATCH i-g-t v3] tests/i915: skip gem_set_caching call for mtl Vikas Srivastava

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.