All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE
@ 2023-03-31 13:45 Bhanuprakash Modem
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev

Add IGT support to enable ADDFB tests to XE BAT.

Bhanuprakash Modem (5):
  lib/xe/xe_ioctl: Add a helper to map the buffer
  lib/igt_fb: Add support for allocating buffers for XE
  tests/kms_addfb_basic: Add XE support
  tests/kms_force_connector_basic: Set the param only if driver supports
  xe-fast-feedback: Add basic kms tests to XE BAT

 lib/igt_fb.c                             | 14 ++++++--
 lib/xe/xe_ioctl.c                        | 14 ++++++--
 lib/xe/xe_ioctl.h                        |  1 +
 tests/intel-ci/xe-fast-feedback.testlist | 30 +++++++++++++++++
 tests/kms_addfb_basic.c                  | 42 ++++++++++++++++--------
 tests/kms_force_connector_basic.c        |  7 +++-
 6 files changed, 88 insertions(+), 20 deletions(-)

--
2.40.0

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

* [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
@ 2023-03-31 13:45 ` Bhanuprakash Modem
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev; +Cc: Nirmoy Das

Create a new helper to map the buffer with the user PROT flags.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Acked-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
 lib/xe/xe_ioctl.c | 14 ++++++++++++--
 lib/xe/xe_ioctl.h |  1 +
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 9d5793dff..66a8393fe 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -334,18 +334,28 @@ uint64_t xe_bo_mmap_offset(int fd, uint32_t bo)
 	return mmo.offset;
 }
 
-void *xe_bo_map(int fd, uint32_t bo, size_t size)
+static void *__xe_bo_map(int fd, uint16_t bo, size_t size, int prot)
 {
 	uint64_t mmo;
 	void *map;
 
 	mmo = xe_bo_mmap_offset(fd, bo);
-	map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo);
+	map = mmap(NULL, size, prot, MAP_SHARED, fd, mmo);
 	igt_assert(map != MAP_FAILED);
 
 	return map;
 }
 
+void *xe_bo_map(int fd, uint32_t bo, size_t size)
+{
+	return __xe_bo_map(fd, bo, size, PROT_WRITE);
+}
+
+void *xe_bo_mmap_ext(int fd, uint32_t bo, size_t size, int prot)
+{
+	return __xe_bo_map(fd, bo, size, prot);
+}
+
 static int __xe_exec(int fd, struct drm_xe_exec *exec)
 {
 	int err = 0;
diff --git a/lib/xe/xe_ioctl.h b/lib/xe/xe_ioctl.h
index 5c7e773fa..d8c40eda0 100644
--- a/lib/xe/xe_ioctl.h
+++ b/lib/xe/xe_ioctl.h
@@ -73,6 +73,7 @@ uint32_t xe_engine_create_class(int fd, uint32_t vm, uint16_t class);
 void xe_engine_destroy(int fd, uint32_t engine);
 uint64_t xe_bo_mmap_offset(int fd, uint32_t bo);
 void *xe_bo_map(int fd, uint32_t bo, size_t size);
+void *xe_bo_mmap_ext(int fd, uint32_t bo, size_t size, int prot);
 void xe_exec(int fd, struct drm_xe_exec *exec);
 void xe_exec_sync(int fd, uint32_t engine, uint64_t addr,
 		  struct drm_xe_sync *sync, uint32_t num_syncs);
-- 
2.40.0

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

* [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem
@ 2023-03-31 13:45 ` Bhanuprakash Modem
  2023-04-06  6:16   ` Karthik B S
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev

Add support to create a buffer object to the XE driver.

V2: - Use vram_if_possible() (Zbigniew)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
 lib/igt_fb.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index ba89e1f60..7379b99aa 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -49,6 +49,8 @@
 #include "intel_batchbuffer.h"
 #include "intel_chipset.h"
 #include "intel_bufops.h"
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
 
 /**
  * SECTION:igt_fb
@@ -434,7 +436,7 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
 
 	switch (modifier) {
 	case DRM_FORMAT_MOD_LINEAR :
-		if (is_i915_device(fd))
+		if (is_intel_device(fd))
 			*width_ret = 64;
 		else
 			*width_ret = 1;
@@ -924,6 +926,9 @@ static uint64_t calc_fb_size(struct igt_fb *fb)
 		size += calc_plane_size(fb, plane);
 	}
 
+	if (is_xe_device(fb->fd))
+		size = ALIGN(size, xe_get_default_alignment(fb->fd));
+
 	return size;
 }
 
@@ -1143,8 +1148,8 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem)
 	 * them, so we need to make sure to use a device BO then.
 	 */
 	if (fb->modifier || fb->size || fb->strides[0] ||
-	    (is_i915_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
-	    (is_i915_device(fd) && igt_format_is_fp16(fb->drm_format)) ||
+	    (is_intel_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
+	    (is_intel_device(fd) && igt_format_is_fp16(fb->drm_format)) ||
 	    (is_amdgpu_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
 	    is_nouveau_device(fd))
 		device_bo = true;
@@ -1168,6 +1173,9 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem)
 					       fb->strides[0]);
 			/* If we can't use fences, we won't use ggtt detiling later. */
 			igt_assert(err == 0 || err == -EOPNOTSUPP);
+		} else if (is_xe_device(fd)) {
+			fb->gem_handle = xe_bo_create_flags(fd, 0, fb->size,
+							vram_if_possible(fd, 0));
 		} else if (is_vc4_device(fd)) {
 			fb->gem_handle = igt_vc4_create_bo(fd, fb->size);
 
-- 
2.40.0

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

* [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem
@ 2023-03-31 13:45 ` Bhanuprakash Modem
  2023-04-04 15:02   ` Kamil Konieczny
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev

Update/fix necessary subtests for XE driver compatibility.
Also, reorder existing subtests to avoid code duplication.

V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew)

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
index b4526eee6..e27b22fe0 100644
--- a/tests/kms_addfb_basic.c
+++ b/tests/kms_addfb_basic.c
@@ -41,6 +41,8 @@
 #include "igt_rand.h"
 #include "igt_device.h"
 #include "i915/intel_memory_region.h"
+#include "xe/xe_ioctl.h"
+#include "xe/xe_query.h"
 
 uint32_t gem_bo;
 uint32_t gem_bo_small;
@@ -121,7 +123,7 @@ static void invalid_tests(int fd)
 
 	igt_describe("Check if addfb2 call works for clobbered modifier");
 	igt_subtest("clobberred-modifier") {
-		igt_require_intel(fd);
+		igt_require_i915(fd);
 		igt_require(gem_available_fences(fd) > 0);
 		f.flags = 0;
 		f.modifier[0] = 0;
@@ -139,10 +141,17 @@ static void invalid_tests(int fd)
 		uint64_t size;
 
 		igt_require_intel(fd);
-		igt_require(gem_has_lmem(fd));
 		igt_calc_fb_size(fd, f.width, f.height,
 				DRM_FORMAT_XRGB8888, 0, &size, &stride);
-		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
+
+		if (is_i915_device(fd)) {
+			igt_require(gem_has_lmem(fd));
+			handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
+		} else {
+			igt_require(xe_has_vram(fd));
+			handle = xe_bo_create_flags(fd, 0, size, system_memory(fd));
+		}
+
 		f.handles[0] = handle;
 		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
 	}
@@ -323,7 +332,7 @@ static void tiling_tests(int fd)
 
 	igt_subtest_group {
 		igt_fixture {
-			igt_require_intel(fd);
+			igt_require_i915(fd);
 			tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
 				DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
 				1024*4, NULL, NULL, NULL);
@@ -494,7 +503,7 @@ static void size_tests(int fd)
 
 	igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile");
 	igt_subtest("bo-too-small-due-to-tiling") {
-		igt_require_intel(fd);
+		igt_require_i915(fd);
 		igt_require(gem_available_fences(fd) > 0);
 		gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4);
 		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
@@ -548,7 +557,7 @@ static void addfb25_tests(int fd)
 
 	igt_subtest_group {
 		igt_fixture {
-			igt_require_intel(fd);
+			igt_require_i915(fd);
 			igt_require(gem_available_fences(fd) > 0);
 			gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4);
 			igt_require_fb_modifiers(fd);
@@ -594,6 +603,7 @@ static void addfb25_ytile(int fd)
 	igt_display_t display;
 
 	igt_fixture {
+		igt_require_i915(fd);
 		igt_display_require(&display, fd);
 
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
@@ -618,7 +628,6 @@ static void addfb25_ytile(int fd)
 	igt_describe("Check if addfb2 call works for y-tiling");
 	igt_subtest("addfb25-y-tiled-legacy") {
 		igt_require_fb_modifiers(fd);
-		igt_require_intel(fd);
 
 		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
 		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
@@ -631,7 +640,6 @@ static void addfb25_ytile(int fd)
 	igt_describe("Check if addfb2 call works for yf-tiling");
 	igt_subtest("addfb25-yf-tiled-legacy") {
 		igt_require_fb_modifiers(fd);
-		igt_require_intel(fd);
 
 		f.modifier[0] = I915_FORMAT_MOD_Yf_TILED;
 		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
@@ -644,7 +652,6 @@ static void addfb25_ytile(int fd)
 	igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier");
 	igt_subtest("addfb25-y-tiled-small-legacy") {
 		igt_require_fb_modifiers(fd);
-		igt_require_intel(fd);
 
 		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
 		f.height = 1023;
@@ -667,6 +674,7 @@ static void addfb25_4tile(int fd)
 	igt_display_t display;
 
 	igt_fixture {
+		igt_require_i915(fd);
 		igt_display_require(&display, fd);
 
 		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
@@ -689,7 +697,6 @@ static void addfb25_4tile(int fd)
 	igt_describe("Check if addfb2 call works for tiling-4");
 	igt_subtest("addfb25-4-tiled") {
 		igt_require_fb_modifiers(fd);
-		igt_require_intel(fd);
 
 		f.modifier[0] = I915_FORMAT_MOD_4_TILED;
 		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
@@ -839,6 +846,9 @@ igt_main
 	igt_fixture {
 		fd = drm_open_driver_master(DRIVER_ANY);
 		igt_require(has_addfb2_iface(fd));
+
+		if (is_xe_device(fd))
+			xe_device_get(fd);
 	}
 
 	invalid_tests(fd);
@@ -847,6 +857,10 @@ igt_main
 
 	size_tests(fd);
 
+	prop_tests(fd);
+
+	master_tests(fd);
+
 	addfb25_tests(fd);
 
 	addfb25_ytile(fd);
@@ -855,10 +869,10 @@ igt_main
 
 	tiling_tests(fd);
 
-	prop_tests(fd);
-
-	master_tests(fd);
+	igt_fixture {
+		if (is_xe_device(fd))
+			xe_device_put(fd);
 
-	igt_fixture
 		close(fd);
+	}
 }
-- 
2.40.0

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

* [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
                   ` (2 preceding siblings ...)
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem
@ 2023-03-31 13:45 ` Bhanuprakash Modem
  2023-04-04 14:51   ` Kamil Konieczny
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev

Set/Clear the param "load_detect_test" only if driver supports.

V2: - Set the param if driver supports
    - Fix the commit message

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/kms_force_connector_basic.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
index 4ff1efe3b..35e8153c8 100644
--- a/tests/kms_force_connector_basic.c
+++ b/tests/kms_force_connector_basic.c
@@ -36,6 +36,7 @@ static void reset_connectors(void)
 	drmModeRes *res;
 	drmModeConnector *connector = NULL;
 	int drm_fd;
+	char *param;
 
 	drm_fd = drm_open_driver_master(DRIVER_ANY);
 	res = drmModeGetResources(drm_fd);
@@ -53,7 +54,11 @@ static void reset_connectors(void)
 		drmModeFreeConnector(connector);
 	}
 
-	igt_set_module_param_int(drm_fd, "load_detect_test", 0);
+	param = __igt_params_get(drm_fd, "load_detect_test");
+	if (param) {
+		igt_set_module_param_int(drm_fd, "load_detect_test", 0);
+		free(param);
+	}
 
 	close(drm_fd);
 }
-- 
2.40.0

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

* [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
                   ` (3 preceding siblings ...)
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem
@ 2023-03-31 13:45 ` Bhanuprakash Modem
  2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork
  2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Bhanuprakash Modem @ 2023-03-31 13:45 UTC (permalink / raw)
  To: igt-dev

Add display's connector detect, addfb2 and prop tests to XE BAT.

Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
---
 tests/intel-ci/xe-fast-feedback.testlist | 30 ++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/tests/intel-ci/xe-fast-feedback.testlist b/tests/intel-ci/xe-fast-feedback.testlist
index 5f3bd2e91..5efb226ca 100644
--- a/tests/intel-ci/xe-fast-feedback.testlist
+++ b/tests/intel-ci/xe-fast-feedback.testlist
@@ -140,3 +140,33 @@ igt@xe_vm@munmap-style-unbind-userptr-front
 igt@xe_vm@munmap-style-unbind-userptr-inval-end
 igt@xe_vm@munmap-style-unbind-userptr-inval-front
 igt@xe_waitfence@test
+igt@kms_addfb_basic@addfb25-bad-modifier
+igt@kms_addfb_basic@addfb25-modifier-no-flag
+igt@kms_addfb_basic@bad-pitch-0
+igt@kms_addfb_basic@bad-pitch-1024
+igt@kms_addfb_basic@bad-pitch-128
+igt@kms_addfb_basic@bad-pitch-256
+igt@kms_addfb_basic@bad-pitch-32
+igt@kms_addfb_basic@bad-pitch-63
+igt@kms_addfb_basic@bad-pitch-65536
+igt@kms_addfb_basic@bad-pitch-999
+igt@kms_addfb_basic@basic
+igt@kms_addfb_basic@bo-too-small
+igt@kms_addfb_basic@invalid-get-prop
+igt@kms_addfb_basic@invalid-get-prop-any
+igt@kms_addfb_basic@invalid-set-prop
+igt@kms_addfb_basic@invalid-set-prop-any
+igt@kms_addfb_basic@no-handle
+igt@kms_addfb_basic@size-max
+igt@kms_addfb_basic@small-bo
+igt@kms_addfb_basic@too-high
+igt@kms_addfb_basic@too-wide
+igt@kms_addfb_basic@unused-handle
+igt@kms_addfb_basic@unused-modifier
+igt@kms_addfb_basic@unused-offsets
+igt@kms_addfb_basic@unused-pitches
+igt@kms_force_connector_basic@force-connector-state
+igt@kms_force_connector_basic@force-edid
+igt@kms_force_connector_basic@force-load-detect
+igt@kms_force_connector_basic@prune-stale-modes
+igt@kms_prop_blob@basic
-- 
2.40.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3)
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
                   ` (4 preceding siblings ...)
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem
@ 2023-03-31 15:58 ` Patchwork
  2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2023-03-31 15:58 UTC (permalink / raw)
  To: Modem, Bhanuprakash; +Cc: igt-dev

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

== Series Details ==

Series: Enable ADDFB tests for XE (rev3)
URL   : https://patchwork.freedesktop.org/series/115381/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12951 -> IGTPW_8731
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (37 -> 35)
------------------------------

  Missing    (2): fi-snb-2520m fi-pnv-d510 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@requests:
    - bat-rpls-1:         [PASS][1] -> [ABORT][2] ([i915#4983] / [i915#7911])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-rpls-1/igt@i915_selftest@live@requests.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-rpls-1/igt@i915_selftest@live@requests.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-dg2-11:         NOTRUN -> [SKIP][3] ([i915#7828])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][4] ([i915#5354])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  
#### Possible fixes ####

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

  * igt@i915_selftest@live@hangcheck:
    - fi-skl-guc:         [DMESG-WARN][7] ([i915#8073]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/fi-skl-guc/igt@i915_selftest@live@hangcheck.html
    - bat-dg2-11:         [ABORT][9] ([i915#7913]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-dg2-11/igt@i915_selftest@live@hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-11/igt@i915_selftest@live@hangcheck.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1:
    - bat-dg2-8:          [FAIL][11] ([i915#7932]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-d-dp-1.html

  
#### Warnings ####

  * igt@i915_selftest@live@slpc:
    - bat-rpls-2:         [DMESG-FAIL][13] ([i915#6997] / [i915#7913]) -> [DMESG-FAIL][14] ([i915#6367] / [i915#7913])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/bat-rpls-2/igt@i915_selftest@live@slpc.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/bat-rpls-2/igt@i915_selftest@live@slpc.html

  
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
  [i915#8073]: https://gitlab.freedesktop.org/drm/intel/issues/8073
  [i915#8308]: https://gitlab.freedesktop.org/drm/intel/issues/8308


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7230 -> IGTPW_8731

  CI-20190529: 20190529
  CI_DRM_12951: f128906b94b25a0f0c12dc8c647b8adc8d934d8c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8731: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html
  IGT_7230: f0485204004305dd3ee8f8bbbb9c552e53a4e050 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for Enable ADDFB tests for XE (rev3)
  2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
                   ` (5 preceding siblings ...)
  2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork
@ 2023-04-01 15:19 ` Patchwork
  6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2023-04-01 15:19 UTC (permalink / raw)
  To: Modem, Bhanuprakash; +Cc: igt-dev

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

== Series Details ==

Series: Enable ADDFB tests for XE (rev3)
URL   : https://patchwork.freedesktop.org/series/115381/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12951_full -> IGTPW_8731_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_8731_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_8731_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

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

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

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_8731_full:

### IGT changes ###

#### Possible regressions ####

  * igt@gem_flink_race@flink_close:
    - shard-snb:          [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-snb2/igt@gem_flink_race@flink_close.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-snb4/igt@gem_flink_race@flink_close.html

  * igt@gem_spin_batch@resubmit@rcs0:
    - shard-glk:          [PASS][3] -> [ABORT][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk4/igt@gem_spin_batch@resubmit@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@gem_spin_batch@resubmit@rcs0.html

  * igt@gem_spin_batch@resubmit@vecs0:
    - shard-glk:          [PASS][5] -> [DMESG-WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk4/igt@gem_spin_batch@resubmit@vecs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@gem_spin_batch@resubmit@vecs0.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [PASS][7] -> [FAIL][8] ([i915#2846])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk9/igt@gem_exec_fair@basic-deadline.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk1/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-glk:          [PASS][9] -> [FAIL][10] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk7/igt@gem_exec_fair@basic-pace@rcs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk2/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2:
    - shard-glk:          [PASS][11] -> [FAIL][12] ([i915#79])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk2/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-apl:          [PASS][13] -> [ABORT][14] ([i915#180])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl3/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl2/igt@kms_flip@flip-vs-suspend@c-dp1.html

  
#### Possible fixes ####

  * igt@gem_eio@in-flight-contexts-1us:
    - {shard-tglu}:       [TIMEOUT][15] ([i915#3063]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-tglu-7/igt@gem_eio@in-flight-contexts-1us.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-tglu-10/igt@gem_eio@in-flight-contexts-1us.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [SKIP][17] ([fdo#109271]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl6/igt@i915_pm_dc@dc9-dpms.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl1/igt@i915_pm_dc@dc9-dpms.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          [FAIL][19] ([i915#72]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-apl:          [FAIL][21] ([i915#2346]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12951/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.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#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [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#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [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#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [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#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#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [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#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#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [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#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [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#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
  [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#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [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#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#8150]: https://gitlab.freedesktop.org/drm/intel/issues/8150
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7230 -> IGTPW_8731
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12951: f128906b94b25a0f0c12dc8c647b8adc8d934d8c @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8731: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8731/index.html
  IGT_7230: f0485204004305dd3ee8f8bbbb9c552e53a4e050 @ 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_8731/index.html

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

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

* Re: [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem
@ 2023-04-04 14:51   ` Kamil Konieczny
  0 siblings, 0 replies; 14+ messages in thread
From: Kamil Konieczny @ 2023-04-04 14:51 UTC (permalink / raw)
  To: igt-dev

On 2023-03-31 at 19:15:55 +0530, Bhanuprakash Modem wrote:
> Set/Clear the param "load_detect_test" only if driver supports.
> 
> V2: - Set the param if driver supports
>     - Fix the commit message
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>

Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> ---
>  tests/kms_force_connector_basic.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/kms_force_connector_basic.c b/tests/kms_force_connector_basic.c
> index 4ff1efe3b..35e8153c8 100644
> --- a/tests/kms_force_connector_basic.c
> +++ b/tests/kms_force_connector_basic.c
> @@ -36,6 +36,7 @@ static void reset_connectors(void)
>  	drmModeRes *res;
>  	drmModeConnector *connector = NULL;
>  	int drm_fd;
> +	char *param;
>  
>  	drm_fd = drm_open_driver_master(DRIVER_ANY);
>  	res = drmModeGetResources(drm_fd);
> @@ -53,7 +54,11 @@ static void reset_connectors(void)
>  		drmModeFreeConnector(connector);
>  	}
>  
> -	igt_set_module_param_int(drm_fd, "load_detect_test", 0);
> +	param = __igt_params_get(drm_fd, "load_detect_test");
> +	if (param) {
> +		igt_set_module_param_int(drm_fd, "load_detect_test", 0);
> +		free(param);
> +	}
>  
>  	close(drm_fd);
>  }
> -- 
> 2.40.0
> 

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

* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem
@ 2023-04-04 15:02   ` Kamil Konieczny
  2023-04-05  6:13     ` Modem, Bhanuprakash
  0 siblings, 1 reply; 14+ messages in thread
From: Kamil Konieczny @ 2023-04-04 15:02 UTC (permalink / raw)
  To: igt-dev

Hi Bhanuprakash,

On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote:
> Update/fix necessary subtests for XE driver compatibility.
> Also, reorder existing subtests to avoid code duplication.
> 
> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew)
> 
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> ---
>  tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++--------------
>  1 file changed, 28 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
> index b4526eee6..e27b22fe0 100644
> --- a/tests/kms_addfb_basic.c
> +++ b/tests/kms_addfb_basic.c
> @@ -41,6 +41,8 @@
>  #include "igt_rand.h"
>  #include "igt_device.h"
>  #include "i915/intel_memory_region.h"
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
>  
>  uint32_t gem_bo;
>  uint32_t gem_bo_small;
> @@ -121,7 +123,7 @@ static void invalid_tests(int fd)
>  
>  	igt_describe("Check if addfb2 call works for clobbered modifier");
>  	igt_subtest("clobberred-modifier") {
> -		igt_require_intel(fd);
> +		igt_require_i915(fd);
>  		igt_require(gem_available_fences(fd) > 0);
>  		f.flags = 0;
>  		f.modifier[0] = 0;
> @@ -139,10 +141,17 @@ static void invalid_tests(int fd)
>  		uint64_t size;
>  
>  		igt_require_intel(fd);
> -		igt_require(gem_has_lmem(fd));
>  		igt_calc_fb_size(fd, f.width, f.height,
>  				DRM_FORMAT_XRGB8888, 0, &size, &stride);
> -		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
> +
> +		if (is_i915_device(fd)) {
> +			igt_require(gem_has_lmem(fd));
> +			handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
> +		} else {
> +			igt_require(xe_has_vram(fd));
> +			handle = xe_bo_create_flags(fd, 0, size, system_memory(fd));
> +		}
> +
>  		f.handles[0] = handle;
>  		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
>  	}
> @@ -323,7 +332,7 @@ static void tiling_tests(int fd)
>  
>  	igt_subtest_group {
>  		igt_fixture {
> -			igt_require_intel(fd);
> +			igt_require_i915(fd);
>  			tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>  				DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
>  				1024*4, NULL, NULL, NULL);
> @@ -494,7 +503,7 @@ static void size_tests(int fd)
>  
>  	igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile");
>  	igt_subtest("bo-too-small-due-to-tiling") {
> -		igt_require_intel(fd);
> +		igt_require_i915(fd);
>  		igt_require(gem_available_fences(fd) > 0);
>  		gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4);
>  		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd)
>  
>  	igt_subtest_group {
>  		igt_fixture {
> -			igt_require_intel(fd);
> +			igt_require_i915(fd);
>  			igt_require(gem_available_fences(fd) > 0);
>  			gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4);
>  			igt_require_fb_modifiers(fd);
> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd)
>  	igt_display_t display;
>  
>  	igt_fixture {
> +		igt_require_i915(fd);
>  		igt_display_require(&display, fd);
>  
>  		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd)
>  	igt_describe("Check if addfb2 call works for y-tiling");
>  	igt_subtest("addfb25-y-tiled-legacy") {
>  		igt_require_fb_modifiers(fd);
> -		igt_require_intel(fd);

This removes duplication (if it is intel-i915 specific subtest).

>  
>  		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>  		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd)
>  	igt_describe("Check if addfb2 call works for yf-tiling");
>  	igt_subtest("addfb25-yf-tiled-legacy") {
>  		igt_require_fb_modifiers(fd);
> -		igt_require_intel(fd);
>  
>  		f.modifier[0] = I915_FORMAT_MOD_Yf_TILED;
>  		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd)
>  	igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier");
>  	igt_subtest("addfb25-y-tiled-small-legacy") {
>  		igt_require_fb_modifiers(fd);
> -		igt_require_intel(fd);
>  
>  		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>  		f.height = 1023;
> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd)
>  	igt_display_t display;
>  
>  	igt_fixture {
> +		igt_require_i915(fd);
>  		igt_display_require(&display, fd);
>  
>  		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd)
>  	igt_describe("Check if addfb2 call works for tiling-4");
>  	igt_subtest("addfb25-4-tiled") {
>  		igt_require_fb_modifiers(fd);
> -		igt_require_intel(fd);
>  
>  		f.modifier[0] = I915_FORMAT_MOD_4_TILED;
>  		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
> @@ -839,6 +846,9 @@ igt_main
>  	igt_fixture {
>  		fd = drm_open_driver_master(DRIVER_ANY);
>  		igt_require(has_addfb2_iface(fd));
> +
> +		if (is_xe_device(fd))
> +			xe_device_get(fd);
>  	}
>  
>  	invalid_tests(fd);
> @@ -847,6 +857,10 @@ igt_main
>  
>  	size_tests(fd);
>  
> +	prop_tests(fd);
> +
> +	master_tests(fd);
> +
>  	addfb25_tests(fd);
>  
>  	addfb25_ytile(fd);
> @@ -855,10 +869,10 @@ igt_main
>  
>  	tiling_tests(fd);
>  
> -	prop_tests(fd);
> -
> -	master_tests(fd);

This is just moved above, how does it avoid duplication ?

Regards,
Kamil

> +	igt_fixture {
> +		if (is_xe_device(fd))
> +			xe_device_put(fd);
>  
> -	igt_fixture
>  		close(fd);
> +	}
>  }
> -- 
> 2.40.0
> 

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

* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support
  2023-04-04 15:02   ` Kamil Konieczny
@ 2023-04-05  6:13     ` Modem, Bhanuprakash
  2023-04-06  6:42       ` Karthik B S
  0 siblings, 1 reply; 14+ messages in thread
From: Modem, Bhanuprakash @ 2023-04-05  6:13 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev

Hi Kamil,

On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote:
> Hi Bhanuprakash,
> 
> On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote:
>> Update/fix necessary subtests for XE driver compatibility.
>> Also, reorder existing subtests to avoid code duplication.
>>
>> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew)
>>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> ---
>>   tests/kms_addfb_basic.c | 42 +++++++++++++++++++++++++++--------------
>>   1 file changed, 28 insertions(+), 14 deletions(-)
>>
>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
>> index b4526eee6..e27b22fe0 100644
>> --- a/tests/kms_addfb_basic.c
>> +++ b/tests/kms_addfb_basic.c
>> @@ -41,6 +41,8 @@
>>   #include "igt_rand.h"
>>   #include "igt_device.h"
>>   #include "i915/intel_memory_region.h"
>> +#include "xe/xe_ioctl.h"
>> +#include "xe/xe_query.h"
>>   
>>   uint32_t gem_bo;
>>   uint32_t gem_bo_small;
>> @@ -121,7 +123,7 @@ static void invalid_tests(int fd)
>>   
>>   	igt_describe("Check if addfb2 call works for clobbered modifier");
>>   	igt_subtest("clobberred-modifier") {
>> -		igt_require_intel(fd);
>> +		igt_require_i915(fd);
>>   		igt_require(gem_available_fences(fd) > 0);
>>   		f.flags = 0;
>>   		f.modifier[0] = 0;
>> @@ -139,10 +141,17 @@ static void invalid_tests(int fd)
>>   		uint64_t size;
>>   
>>   		igt_require_intel(fd);
>> -		igt_require(gem_has_lmem(fd));
>>   		igt_calc_fb_size(fd, f.width, f.height,
>>   				DRM_FORMAT_XRGB8888, 0, &size, &stride);
>> -		handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
>> +
>> +		if (is_i915_device(fd)) {
>> +			igt_require(gem_has_lmem(fd));
>> +			handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
>> +		} else {
>> +			igt_require(xe_has_vram(fd));
>> +			handle = xe_bo_create_flags(fd, 0, size, system_memory(fd));
>> +		}
>> +
>>   		f.handles[0] = handle;
>>   		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
>>   	}
>> @@ -323,7 +332,7 @@ static void tiling_tests(int fd)
>>   
>>   	igt_subtest_group {
>>   		igt_fixture {
>> -			igt_require_intel(fd);
>> +			igt_require_i915(fd);
>>   			tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>>   				DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
>>   				1024*4, NULL, NULL, NULL);
>> @@ -494,7 +503,7 @@ static void size_tests(int fd)
>>   
>>   	igt_describe("Test that addfb2 call fails correctly with small buffer object after changing tile");
>>   	igt_subtest("bo-too-small-due-to-tiling") {
>> -		igt_require_intel(fd);
>> +		igt_require_i915(fd);
>>   		igt_require(gem_available_fences(fd) > 0);
>>   		gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4);
>>   		do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
>> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd)
>>   
>>   	igt_subtest_group {
>>   		igt_fixture {
>> -			igt_require_intel(fd);
>> +			igt_require_i915(fd);
>>   			igt_require(gem_available_fences(fd) > 0);
>>   			gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4);
>>   			igt_require_fb_modifiers(fd);
>> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd)
>>   	igt_display_t display;
>>   
>>   	igt_fixture {
>> +		igt_require_i915(fd);
>>   		igt_display_require(&display, fd);
>>   
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd)
>>   	igt_describe("Check if addfb2 call works for y-tiling");
>>   	igt_subtest("addfb25-y-tiled-legacy") {
>>   		igt_require_fb_modifiers(fd);
>> -		igt_require_intel(fd);
> 
> This removes duplication (if it is intel-i915 specific subtest).
> 
>>   
>>   		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>   		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd)
>>   	igt_describe("Check if addfb2 call works for yf-tiling");
>>   	igt_subtest("addfb25-yf-tiled-legacy") {
>>   		igt_require_fb_modifiers(fd);
>> -		igt_require_intel(fd);
>>   
>>   		f.modifier[0] = I915_FORMAT_MOD_Yf_TILED;
>>   		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd)
>>   	igt_describe("Test that addfb2 call fails correctly for y-tiling with given height and modifier");
>>   	igt_subtest("addfb25-y-tiled-small-legacy") {
>>   		igt_require_fb_modifiers(fd);
>> -		igt_require_intel(fd);
>>   
>>   		f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>   		f.height = 1023;
>> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd)
>>   	igt_display_t display;
>>   
>>   	igt_fixture {
>> +		igt_require_i915(fd);
>>   		igt_display_require(&display, fd);
>>   
>>   		gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd)
>>   	igt_describe("Check if addfb2 call works for tiling-4");
>>   	igt_subtest("addfb25-4-tiled") {
>>   		igt_require_fb_modifiers(fd);
>> -		igt_require_intel(fd);
>>   
>>   		f.modifier[0] = I915_FORMAT_MOD_4_TILED;
>>   		igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>> @@ -839,6 +846,9 @@ igt_main
>>   	igt_fixture {
>>   		fd = drm_open_driver_master(DRIVER_ANY);
>>   		igt_require(has_addfb2_iface(fd));
>> +
>> +		if (is_xe_device(fd))
>> +			xe_device_get(fd);
>>   	}
>>   
>>   	invalid_tests(fd);
>> @@ -847,6 +857,10 @@ igt_main
>>   
>>   	size_tests(fd);
>>   
>> +	prop_tests(fd);
>> +
>> +	master_tests(fd);
>> +
>>   	addfb25_tests(fd);
>>   
>>   	addfb25_ytile(fd);
>> @@ -855,10 +869,10 @@ igt_main
>>   
>>   	tiling_tests(fd);
>>   
>> -	prop_tests(fd);
>> -
>> -	master_tests(fd);
> 
> This is just moved above, how does it avoid duplication ?

Sorry for the incomplete information. There are 2 reasons to do this.

1. Due to the i915 check in igt_fixture in previous tests, these prop & 
master tests are getting SKIP.

Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s)
Test requirement not met in function igt_require_i915, file 
../lib/drmtest.c:664:
Test requirement: is_i915_device(fd)
Subtest addfb25-y-tiled-legacy: SKIP (0.000s)
Subtest addfb25-yf-tiled-legacy: SKIP (0.000s)
Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s)
Subtest addfb25-4-tiled: SKIP (0.000s)
Subtest basic-x-tiled-legacy: SKIP (0.000s)
Subtest framebuffer-vs-set-tiling: SKIP (0.000s)
Subtest tile-pitch-mismatch: SKIP (0.000s)
Subtest basic-y-tiled-legacy: SKIP (0.000s)
Subtest invalid-get-prop-any: SKIP (0.000s)
Subtest invalid-get-prop: SKIP (0.000s)
Subtest invalid-set-prop-any: SKIP (0.000s)
Subtest invalid-set-prop: SKIP (0.000s)
Subtest master-rmfb: SKIP (0.000s)


After re-ordering these tests (with minimum code churn) tests are 
getting PASS.

Starting subtest: bo-too-small-due-to-tiling
Test requirement not met in function igt_require_i915, file 
../lib/drmtest.c:664:
Test requirement: is_i915_device(fd)
Subtest bo-too-small-due-to-tiling: SKIP (0.000s)
Starting subtest: invalid-get-prop-any
Subtest invalid-get-prop-any: SUCCESS (0.000s)
Starting subtest: invalid-get-prop
Subtest invalid-get-prop: SUCCESS (0.000s)
Starting subtest: invalid-set-prop-any
Subtest invalid-set-prop-any: SUCCESS (0.000s)
Starting subtest: invalid-set-prop
Subtest invalid-set-prop: SUCCESS (0.000s)
Starting subtest: master-rmfb
Subtest master-rmfb: SUCCESS (0.000s)


2. As XE subtests are tightly coupled with the xe_device_get() and 
igt_display_fini() in tiling tests destroys xe_device will cause the 
failures in prop & master tests (only if we enable tiling tests in future).

Maybe I need to re-word the commit message.

- Bhanu

> 
> Regards,
> Kamil
> 
>> +	igt_fixture {
>> +		if (is_xe_device(fd))
>> +			xe_device_put(fd);
>>   
>> -	igt_fixture
>>   		close(fd);
>> +	}
>>   }
>> -- 
>> 2.40.0
>>

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

* Re: [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE
  2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem
@ 2023-04-06  6:16   ` Karthik B S
  0 siblings, 0 replies; 14+ messages in thread
From: Karthik B S @ 2023-04-06  6:16 UTC (permalink / raw)
  To: Bhanuprakash Modem, igt-dev


On 3/31/2023 7:15 PM, Bhanuprakash Modem wrote:
> Add support to create a buffer object to the XE driver.
>
> V2: - Use vram_if_possible() (Zbigniew)
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>

LGTM.

Reviewed-by: Karthik B S <karthik.b.s@intel.com>

> ---
>   lib/igt_fb.c | 14 +++++++++++---
>   1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index ba89e1f60..7379b99aa 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -49,6 +49,8 @@
>   #include "intel_batchbuffer.h"
>   #include "intel_chipset.h"
>   #include "intel_bufops.h"
> +#include "xe/xe_ioctl.h"
> +#include "xe/xe_query.h"
>   
>   /**
>    * SECTION:igt_fb
> @@ -434,7 +436,7 @@ void igt_get_fb_tile_size(int fd, uint64_t modifier, int fb_bpp,
>   
>   	switch (modifier) {
>   	case DRM_FORMAT_MOD_LINEAR :
> -		if (is_i915_device(fd))
> +		if (is_intel_device(fd))
>   			*width_ret = 64;
>   		else
>   			*width_ret = 1;
> @@ -924,6 +926,9 @@ static uint64_t calc_fb_size(struct igt_fb *fb)
>   		size += calc_plane_size(fb, plane);
>   	}
>   
> +	if (is_xe_device(fb->fd))
> +		size = ALIGN(size, xe_get_default_alignment(fb->fd));
> +
>   	return size;
>   }
>   
> @@ -1143,8 +1148,8 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem)
>   	 * them, so we need to make sure to use a device BO then.
>   	 */
>   	if (fb->modifier || fb->size || fb->strides[0] ||
> -	    (is_i915_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
> -	    (is_i915_device(fd) && igt_format_is_fp16(fb->drm_format)) ||
> +	    (is_intel_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
> +	    (is_intel_device(fd) && igt_format_is_fp16(fb->drm_format)) ||
>   	    (is_amdgpu_device(fd) && igt_format_is_yuv(fb->drm_format)) ||
>   	    is_nouveau_device(fd))
>   		device_bo = true;
> @@ -1168,6 +1173,9 @@ static int create_bo_for_fb(struct igt_fb *fb, bool prefer_sysmem)
>   					       fb->strides[0]);
>   			/* If we can't use fences, we won't use ggtt detiling later. */
>   			igt_assert(err == 0 || err == -EOPNOTSUPP);
> +		} else if (is_xe_device(fd)) {
> +			fb->gem_handle = xe_bo_create_flags(fd, 0, fb->size,
> +							vram_if_possible(fd, 0));
>   		} else if (is_vc4_device(fd)) {
>   			fb->gem_handle = igt_vc4_create_bo(fd, fb->size);
>   

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

* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support
  2023-04-05  6:13     ` Modem, Bhanuprakash
@ 2023-04-06  6:42       ` Karthik B S
  2023-04-06  7:57         ` Modem, Bhanuprakash
  0 siblings, 1 reply; 14+ messages in thread
From: Karthik B S @ 2023-04-06  6:42 UTC (permalink / raw)
  To: Modem, Bhanuprakash, Kamil Konieczny, igt-dev


On 4/5/2023 11:43 AM, Modem, Bhanuprakash wrote:
> Hi Kamil,
>
> On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote:
>> Hi Bhanuprakash,
>>
>> On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote:
>>> Update/fix necessary subtests for XE driver compatibility.
>>> Also, reorder existing subtests to avoid code duplication.
>>>
>>> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew)
>>>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> ---
>>>   tests/kms_addfb_basic.c | 42 
>>> +++++++++++++++++++++++++++--------------
>>>   1 file changed, 28 insertions(+), 14 deletions(-)
>>>
>>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
>>> index b4526eee6..e27b22fe0 100644
>>> --- a/tests/kms_addfb_basic.c
>>> +++ b/tests/kms_addfb_basic.c
>>> @@ -41,6 +41,8 @@
>>>   #include "igt_rand.h"
>>>   #include "igt_device.h"
>>>   #include "i915/intel_memory_region.h"
>>> +#include "xe/xe_ioctl.h"
>>> +#include "xe/xe_query.h"
>>>     uint32_t gem_bo;
>>>   uint32_t gem_bo_small;
>>> @@ -121,7 +123,7 @@ static void invalid_tests(int fd)
>>>         igt_describe("Check if addfb2 call works for clobbered 
>>> modifier");
>>>       igt_subtest("clobberred-modifier") {
>>> -        igt_require_intel(fd);
>>> +        igt_require_i915(fd);
>>>           igt_require(gem_available_fences(fd) > 0);
>>>           f.flags = 0;
>>>           f.modifier[0] = 0;
>>> @@ -139,10 +141,17 @@ static void invalid_tests(int fd)
>>>           uint64_t size;
>>>             igt_require_intel(fd);
>>> -        igt_require(gem_has_lmem(fd));
>>>           igt_calc_fb_size(fd, f.width, f.height,
>>>                   DRM_FORMAT_XRGB8888, 0, &size, &stride);
>>> -        handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
>>> +
>>> +        if (is_i915_device(fd)) {
>>> +            igt_require(gem_has_lmem(fd));
>>> +            handle = gem_create_in_memory_regions(fd, size, 
>>> REGION_SMEM);
>>> +        } else {
>>> +            igt_require(xe_has_vram(fd));
>>> +            handle = xe_bo_create_flags(fd, 0, size, 
>>> system_memory(fd));
>>> +        }
>>> +
>>>           f.handles[0] = handle;
>>>           do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
>>>       }
>>> @@ -323,7 +332,7 @@ static void tiling_tests(int fd)
>>>         igt_subtest_group {
>>>           igt_fixture {
>>> -            igt_require_intel(fd);
>>> +            igt_require_i915(fd);
>>>               tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 
>>> 1024,
>>>                   DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
>>>                   1024*4, NULL, NULL, NULL);
>>> @@ -494,7 +503,7 @@ static void size_tests(int fd)
>>>         igt_describe("Test that addfb2 call fails correctly with 
>>> small buffer object after changing tile");
>>>       igt_subtest("bo-too-small-due-to-tiling") {
>>> -        igt_require_intel(fd);
>>> +        igt_require_i915(fd);
>>>           igt_require(gem_available_fences(fd) > 0);
>>>           gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4);
>>>           do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
>>> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd)
>>>         igt_subtest_group {
>>>           igt_fixture {
>>> -            igt_require_intel(fd);
>>> +            igt_require_i915(fd);
>>>               igt_require(gem_available_fences(fd) > 0);
>>>               gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4);
>>>               igt_require_fb_modifiers(fd);
>>> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd)
>>>       igt_display_t display;
>>>         igt_fixture {
>>> +        igt_require_i915(fd);
>>>           igt_display_require(&display, fd);
>>>             gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>>> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd)
>>>       igt_describe("Check if addfb2 call works for y-tiling");
>>>       igt_subtest("addfb25-y-tiled-legacy") {
>>>           igt_require_fb_modifiers(fd);
>>> -        igt_require_intel(fd);
>>
>> This removes duplication (if it is intel-i915 specific subtest).
>>
>>>             f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd)
>>>       igt_describe("Check if addfb2 call works for yf-tiling");
>>>       igt_subtest("addfb25-yf-tiled-legacy") {
>>>           igt_require_fb_modifiers(fd);
>>> -        igt_require_intel(fd);
>>>             f.modifier[0] = I915_FORMAT_MOD_Yf_TILED;
>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd)
>>>       igt_describe("Test that addfb2 call fails correctly for 
>>> y-tiling with given height and modifier");
>>>       igt_subtest("addfb25-y-tiled-small-legacy") {
>>>           igt_require_fb_modifiers(fd);
>>> -        igt_require_intel(fd);
>>>             f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>>           f.height = 1023;
>>> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd)
>>>       igt_display_t display;
>>>         igt_fixture {
>>> +        igt_require_i915(fd);
>>>           igt_display_require(&display, fd);
>>>             gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>>> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd)
>>>       igt_describe("Check if addfb2 call works for tiling-4");
>>>       igt_subtest("addfb25-4-tiled") {
>>>           igt_require_fb_modifiers(fd);
>>> -        igt_require_intel(fd);
>>>             f.modifier[0] = I915_FORMAT_MOD_4_TILED;
>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>> @@ -839,6 +846,9 @@ igt_main
>>>       igt_fixture {
>>>           fd = drm_open_driver_master(DRIVER_ANY);
>>>           igt_require(has_addfb2_iface(fd));
>>> +
>>> +        if (is_xe_device(fd))
>>> +            xe_device_get(fd);
>>>       }
>>>         invalid_tests(fd);
>>> @@ -847,6 +857,10 @@ igt_main
>>>         size_tests(fd);
>>>   +    prop_tests(fd);
>>> +
>>> +    master_tests(fd);
>>> +
>>>       addfb25_tests(fd);
>>>         addfb25_ytile(fd);
>>> @@ -855,10 +869,10 @@ igt_main
>>>         tiling_tests(fd);
>>>   -    prop_tests(fd);
>>> -
>>> -    master_tests(fd);
>>
>> This is just moved above, how does it avoid duplication ?
>
> Sorry for the incomplete information. There are 2 reasons to do this.
>
> 1. Due to the i915 check in igt_fixture in previous tests, these prop 
> & master tests are getting SKIP.
>
> Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s)
> Test requirement not met in function igt_require_i915, file 
> ../lib/drmtest.c:664:
> Test requirement: is_i915_device(fd)
> Subtest addfb25-y-tiled-legacy: SKIP (0.000s)
> Subtest addfb25-yf-tiled-legacy: SKIP (0.000s)
> Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s)
> Subtest addfb25-4-tiled: SKIP (0.000s)
> Subtest basic-x-tiled-legacy: SKIP (0.000s)
> Subtest framebuffer-vs-set-tiling: SKIP (0.000s)
> Subtest tile-pitch-mismatch: SKIP (0.000s)
> Subtest basic-y-tiled-legacy: SKIP (0.000s)
> Subtest invalid-get-prop-any: SKIP (0.000s)
> Subtest invalid-get-prop: SKIP (0.000s)
> Subtest invalid-set-prop-any: SKIP (0.000s)
> Subtest invalid-set-prop: SKIP (0.000s)
> Subtest master-rmfb: SKIP (0.000s)
>
>
> After re-ordering these tests (with minimum code churn) tests are 
> getting PASS.
>
> Starting subtest: bo-too-small-due-to-tiling
> Test requirement not met in function igt_require_i915, file 
> ../lib/drmtest.c:664:
> Test requirement: is_i915_device(fd)
> Subtest bo-too-small-due-to-tiling: SKIP (0.000s)
> Starting subtest: invalid-get-prop-any
> Subtest invalid-get-prop-any: SUCCESS (0.000s)
> Starting subtest: invalid-get-prop
> Subtest invalid-get-prop: SUCCESS (0.000s)
> Starting subtest: invalid-set-prop-any
> Subtest invalid-set-prop-any: SUCCESS (0.000s)
> Starting subtest: invalid-set-prop
> Subtest invalid-set-prop: SUCCESS (0.000s)
> Starting subtest: master-rmfb
> Subtest master-rmfb: SUCCESS (0.000s)
>
>
> 2. As XE subtests are tightly coupled with the xe_device_get() and 
> igt_display_fini() in tiling tests destroys xe_device will cause the 
> failures in prop & master tests (only if we enable tiling tests in 
> future).
>
> Maybe I need to re-word the commit message.
Hi,

The test reordering seems to be masking the problem in the existing 
code. I understand that this patch isn't actually introducing the issue, 
but I think we would need some code restructuring to fix the issue to 
add XE support in this binary.

I see 2 things which are causing the issue here.

1. 'igt_display_(require|fini)' being called individually inside the 
functions. 'igt_display_require' is caused 3 times and 
'igt_display_fini' is called to 2 times. And as igt_display_fini is 
internally calling 'xe_device_put', this will mess up any xe specific 
subtests after this call.

This could be fixed by using 'igt_subtest_group' to group the subtests 
which need display and call igt_display_require only once. 
'igt_display_fini' can then be called in a fixture only in the end of 
all the subtests.

2. The 'igt_require_i915' being called in a fixture outside a 
subtest_group, which is causing all following sub tests to skip.

Again this could be fixed by using 'igt_subtest_group' to group the 
subtests which are specific to i915 and have this check in a fixture 
inside the subtest group. This looks a little tricky as I see a couple 
of functions that are having a combination of i915 and generic tests, 
but I can't think of any better way to handle this currently.

Thanks,
Karthik.B.S
>
> - Bhanu
>
>>
>> Regards,
>> Kamil
>>
>>> +    igt_fixture {
>>> +        if (is_xe_device(fd))
>>> +            xe_device_put(fd);
>>>   -    igt_fixture
>>>           close(fd);
>>> +    }
>>>   }
>>> -- 
>>> 2.40.0
>>>

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

* Re: [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support
  2023-04-06  6:42       ` Karthik B S
@ 2023-04-06  7:57         ` Modem, Bhanuprakash
  0 siblings, 0 replies; 14+ messages in thread
From: Modem, Bhanuprakash @ 2023-04-06  7:57 UTC (permalink / raw)
  To: Karthik B S, Kamil Konieczny, igt-dev

Hi Karthik,

On Thu-06-04-2023 12:12 pm, Karthik B S wrote:
> 
> On 4/5/2023 11:43 AM, Modem, Bhanuprakash wrote:
>> Hi Kamil,
>>
>> On Tue-04-04-2023 08:32 pm, Kamil Konieczny wrote:
>>> Hi Bhanuprakash,
>>>
>>> On 2023-03-31 at 19:15:54 +0530, Bhanuprakash Modem wrote:
>>>> Update/fix necessary subtests for XE driver compatibility.
>>>> Also, reorder existing subtests to avoid code duplication.
>>>>
>>>> V2: - Fix invalid-smem-bo-on-discrete subtest (Zbigniew)
>>>>
>>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>>> ---
>>>>   tests/kms_addfb_basic.c | 42 
>>>> +++++++++++++++++++++++++++--------------
>>>>   1 file changed, 28 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
>>>> index b4526eee6..e27b22fe0 100644
>>>> --- a/tests/kms_addfb_basic.c
>>>> +++ b/tests/kms_addfb_basic.c
>>>> @@ -41,6 +41,8 @@
>>>>   #include "igt_rand.h"
>>>>   #include "igt_device.h"
>>>>   #include "i915/intel_memory_region.h"
>>>> +#include "xe/xe_ioctl.h"
>>>> +#include "xe/xe_query.h"
>>>>     uint32_t gem_bo;
>>>>   uint32_t gem_bo_small;
>>>> @@ -121,7 +123,7 @@ static void invalid_tests(int fd)
>>>>         igt_describe("Check if addfb2 call works for clobbered 
>>>> modifier");
>>>>       igt_subtest("clobberred-modifier") {
>>>> -        igt_require_intel(fd);
>>>> +        igt_require_i915(fd);
>>>>           igt_require(gem_available_fences(fd) > 0);
>>>>           f.flags = 0;
>>>>           f.modifier[0] = 0;
>>>> @@ -139,10 +141,17 @@ static void invalid_tests(int fd)
>>>>           uint64_t size;
>>>>             igt_require_intel(fd);
>>>> -        igt_require(gem_has_lmem(fd));
>>>>           igt_calc_fb_size(fd, f.width, f.height,
>>>>                   DRM_FORMAT_XRGB8888, 0, &size, &stride);
>>>> -        handle = gem_create_in_memory_regions(fd, size, REGION_SMEM);
>>>> +
>>>> +        if (is_i915_device(fd)) {
>>>> +            igt_require(gem_has_lmem(fd));
>>>> +            handle = gem_create_in_memory_regions(fd, size, 
>>>> REGION_SMEM);
>>>> +        } else {
>>>> +            igt_require(xe_has_vram(fd));
>>>> +            handle = xe_bo_create_flags(fd, 0, size, 
>>>> system_memory(fd));
>>>> +        }
>>>> +
>>>>           f.handles[0] = handle;
>>>>           do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EREMOTE);
>>>>       }
>>>> @@ -323,7 +332,7 @@ static void tiling_tests(int fd)
>>>>         igt_subtest_group {
>>>>           igt_fixture {
>>>> -            igt_require_intel(fd);
>>>> +            igt_require_i915(fd);
>>>>               tiled_x_bo = igt_create_bo_with_dimensions(fd, 1024, 
>>>> 1024,
>>>>                   DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_X_TILED,
>>>>                   1024*4, NULL, NULL, NULL);
>>>> @@ -494,7 +503,7 @@ static void size_tests(int fd)
>>>>         igt_describe("Test that addfb2 call fails correctly with 
>>>> small buffer object after changing tile");
>>>>       igt_subtest("bo-too-small-due-to-tiling") {
>>>> -        igt_require_intel(fd);
>>>> +        igt_require_i915(fd);
>>>>           igt_require(gem_available_fences(fd) > 0);
>>>>           gem_set_tiling(fd, gem_bo_small, I915_TILING_X, 1024*4);
>>>>           do_ioctl_err(fd, DRM_IOCTL_MODE_ADDFB2, &f, EINVAL);
>>>> @@ -548,7 +557,7 @@ static void addfb25_tests(int fd)
>>>>         igt_subtest_group {
>>>>           igt_fixture {
>>>> -            igt_require_intel(fd);
>>>> +            igt_require_i915(fd);
>>>>               igt_require(gem_available_fences(fd) > 0);
>>>>               gem_set_tiling(fd, gem_bo, I915_TILING_X, 1024*4);
>>>>               igt_require_fb_modifiers(fd);
>>>> @@ -594,6 +603,7 @@ static void addfb25_ytile(int fd)
>>>>       igt_display_t display;
>>>>         igt_fixture {
>>>> +        igt_require_i915(fd);
>>>>           igt_display_require(&display, fd);
>>>>             gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>>>> @@ -618,7 +628,6 @@ static void addfb25_ytile(int fd)
>>>>       igt_describe("Check if addfb2 call works for y-tiling");
>>>>       igt_subtest("addfb25-y-tiled-legacy") {
>>>>           igt_require_fb_modifiers(fd);
>>>> -        igt_require_intel(fd);
>>>
>>> This removes duplication (if it is intel-i915 specific subtest).
>>>
>>>>             f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>>> @@ -631,7 +640,6 @@ static void addfb25_ytile(int fd)
>>>>       igt_describe("Check if addfb2 call works for yf-tiling");
>>>>       igt_subtest("addfb25-yf-tiled-legacy") {
>>>>           igt_require_fb_modifiers(fd);
>>>> -        igt_require_intel(fd);
>>>>             f.modifier[0] = I915_FORMAT_MOD_Yf_TILED;
>>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>>> @@ -644,7 +652,6 @@ static void addfb25_ytile(int fd)
>>>>       igt_describe("Test that addfb2 call fails correctly for 
>>>> y-tiling with given height and modifier");
>>>>       igt_subtest("addfb25-y-tiled-small-legacy") {
>>>>           igt_require_fb_modifiers(fd);
>>>> -        igt_require_intel(fd);
>>>>             f.modifier[0] = I915_FORMAT_MOD_Y_TILED;
>>>>           f.height = 1023;
>>>> @@ -667,6 +674,7 @@ static void addfb25_4tile(int fd)
>>>>       igt_display_t display;
>>>>         igt_fixture {
>>>> +        igt_require_i915(fd);
>>>>           igt_display_require(&display, fd);
>>>>             gem_bo = igt_create_bo_with_dimensions(fd, 1024, 1024,
>>>> @@ -689,7 +697,6 @@ static void addfb25_4tile(int fd)
>>>>       igt_describe("Check if addfb2 call works for tiling-4");
>>>>       igt_subtest("addfb25-4-tiled") {
>>>>           igt_require_fb_modifiers(fd);
>>>> -        igt_require_intel(fd);
>>>>             f.modifier[0] = I915_FORMAT_MOD_4_TILED;
>>>>           igt_assert_eq(drmIoctl(fd, DRM_IOCTL_MODE_ADDFB2, &f),
>>>> @@ -839,6 +846,9 @@ igt_main
>>>>       igt_fixture {
>>>>           fd = drm_open_driver_master(DRIVER_ANY);
>>>>           igt_require(has_addfb2_iface(fd));
>>>> +
>>>> +        if (is_xe_device(fd))
>>>> +            xe_device_get(fd);
>>>>       }
>>>>         invalid_tests(fd);
>>>> @@ -847,6 +857,10 @@ igt_main
>>>>         size_tests(fd);
>>>>   +    prop_tests(fd);
>>>> +
>>>> +    master_tests(fd);
>>>> +
>>>>       addfb25_tests(fd);
>>>>         addfb25_ytile(fd);
>>>> @@ -855,10 +869,10 @@ igt_main
>>>>         tiling_tests(fd);
>>>>   -    prop_tests(fd);
>>>> -
>>>> -    master_tests(fd);
>>>
>>> This is just moved above, how does it avoid duplication ?
>>
>> Sorry for the incomplete information. There are 2 reasons to do this.
>>
>> 1. Due to the i915 check in igt_fixture in previous tests, these prop 
>> & master tests are getting SKIP.
>>
>> Subtest addfb25-framebuffer-vs-set-tiling: SKIP (0.000s)
>> Test requirement not met in function igt_require_i915, file 
>> ../lib/drmtest.c:664:
>> Test requirement: is_i915_device(fd)
>> Subtest addfb25-y-tiled-legacy: SKIP (0.000s)
>> Subtest addfb25-yf-tiled-legacy: SKIP (0.000s)
>> Subtest addfb25-y-tiled-small-legacy: SKIP (0.000s)
>> Subtest addfb25-4-tiled: SKIP (0.000s)
>> Subtest basic-x-tiled-legacy: SKIP (0.000s)
>> Subtest framebuffer-vs-set-tiling: SKIP (0.000s)
>> Subtest tile-pitch-mismatch: SKIP (0.000s)
>> Subtest basic-y-tiled-legacy: SKIP (0.000s)
>> Subtest invalid-get-prop-any: SKIP (0.000s)
>> Subtest invalid-get-prop: SKIP (0.000s)
>> Subtest invalid-set-prop-any: SKIP (0.000s)
>> Subtest invalid-set-prop: SKIP (0.000s)
>> Subtest master-rmfb: SKIP (0.000s)
>>
>>
>> After re-ordering these tests (with minimum code churn) tests are 
>> getting PASS.
>>
>> Starting subtest: bo-too-small-due-to-tiling
>> Test requirement not met in function igt_require_i915, file 
>> ../lib/drmtest.c:664:
>> Test requirement: is_i915_device(fd)
>> Subtest bo-too-small-due-to-tiling: SKIP (0.000s)
>> Starting subtest: invalid-get-prop-any
>> Subtest invalid-get-prop-any: SUCCESS (0.000s)
>> Starting subtest: invalid-get-prop
>> Subtest invalid-get-prop: SUCCESS (0.000s)
>> Starting subtest: invalid-set-prop-any
>> Subtest invalid-set-prop-any: SUCCESS (0.000s)
>> Starting subtest: invalid-set-prop
>> Subtest invalid-set-prop: SUCCESS (0.000s)
>> Starting subtest: master-rmfb
>> Subtest master-rmfb: SUCCESS (0.000s)
>>
>>
>> 2. As XE subtests are tightly coupled with the xe_device_get() and 
>> igt_display_fini() in tiling tests destroys xe_device will cause the 
>> failures in prop & master tests (only if we enable tiling tests in 
>> future).
>>
>> Maybe I need to re-word the commit message.
> Hi,
> 
> The test reordering seems to be masking the problem in the existing 
> code. I understand that this patch isn't actually introducing the issue, 
> but I think we would need some code restructuring to fix the issue to 
> add XE support in this binary.
> 
> I see 2 things which are causing the issue here.
> 
> 1. 'igt_display_(require|fini)' being called individually inside the 
> functions. 'igt_display_require' is caused 3 times and 
> 'igt_display_fini' is called to 2 times. And as igt_display_fini is 
> internally calling 'xe_device_put', this will mess up any xe specific 
> subtests after this call.
> 
> This could be fixed by using 'igt_subtest_group' to group the subtests 
> which need display and call igt_display_require only once. 
> 'igt_display_fini' can then be called in a fixture only in the end of 
> all the subtests.
> 
> 2. The 'igt_require_i915' being called in a fixture outside a 
> subtest_group, which is causing all following sub tests to skip.
> 
> Again this could be fixed by using 'igt_subtest_group' to group the 
> subtests which are specific to i915 and have this check in a fixture 
> inside the subtest group. This looks a little tricky as I see a couple 
> of functions that are having a combination of i915 and generic tests, 
> but I can't think of any better way to handle this currently.

I have separated this into two patches and floated a new rev [*].

1- Re-group & cleanup the code
2- Xe support

[*]: https://patchwork.freedesktop.org/series/115381/

- Bhanu

> 
> Thanks,
> Karthik.B.S
>>
>> - Bhanu
>>
>>>
>>> Regards,
>>> Kamil
>>>
>>>> +    igt_fixture {
>>>> +        if (is_xe_device(fd))
>>>> +            xe_device_put(fd);
>>>>   -    igt_fixture
>>>>           close(fd);
>>>> +    }
>>>>   }
>>>> -- 
>>>> 2.40.0
>>>>

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

end of thread, other threads:[~2023-04-06  7:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-31 13:45 [igt-dev] [i-g-t V2 0/5] Enable ADDFB tests for XE Bhanuprakash Modem
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 1/5] lib/xe/xe_ioctl: Add a helper to map the buffer Bhanuprakash Modem
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 2/5] lib/igt_fb: Add support for allocating buffers for XE Bhanuprakash Modem
2023-04-06  6:16   ` Karthik B S
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 3/5] tests/kms_addfb_basic: Add XE support Bhanuprakash Modem
2023-04-04 15:02   ` Kamil Konieczny
2023-04-05  6:13     ` Modem, Bhanuprakash
2023-04-06  6:42       ` Karthik B S
2023-04-06  7:57         ` Modem, Bhanuprakash
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 4/5] tests/kms_force_connector_basic: Set the param only if driver supports Bhanuprakash Modem
2023-04-04 14:51   ` Kamil Konieczny
2023-03-31 13:45 ` [igt-dev] [i-g-t V2 5/5] xe-fast-feedback: Add basic kms tests to XE BAT Bhanuprakash Modem
2023-03-31 15:58 ` [igt-dev] ✓ Fi.CI.BAT: success for Enable ADDFB tests for XE (rev3) Patchwork
2023-04-01 15:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

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.