* [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
-- strict thread matches above, loose matches on Subject: below --
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox