All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-20 15:20 Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 01/11] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, For i915 pipe is enum id of i915's crtc object and
it is not equal to crtc offset of a pipe in mode config list.
Hence allocating upper bound array for igt_pipe and reading
pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
Using crtc offset for a pipe to do ordering pipe with crtc list.

Example:
With a non-contiguous pipe display, with PIPE_A & PIPE_D
are enabled, PIPE_C & PIPE_B disabled configuration,
the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
are '0' & '1' in mode config list using crtc offset to ordering
enabled pipes with crtc list in mode config.

v10:
Resolved build reviewed by <Hiler, Arkadiusz>

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 140 +++++++++++++++++++++++++-------
 lib/igt_kms.h                   |  43 ++++++++--
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 +++-
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 ++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 ++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 +--
 tests/kms_lease.c               |  28 +++++--
 tests/kms_pipe_crc_basic.c      |   9 +-
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 +--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 260 insertions(+), 92 deletions(-)

-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 01/11] lib/igt_kms: Add support for display with non-contiguous pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 02/11] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add support for non-contiguous pipe display by allocating
upper bound pipes array for display. With non-contiguous pipes
display, pipe mapping is always not same as crtc mapping, For i915 pipe
is enum id of i915's crtc object and it is not equal to crtc offset
of a pipe in mode config list. Hence allocating upper bound array
for igt_pipe and reading pipe id using GET_PIPE_FROM_CRTC_ID ioctl.

Example:
With a non-contiguous pipes PIPE_A & PIPE_D
are enabled, PIPE_C & PIPE_B disabled configuration,
the pipe enum for PIPE_A & D will be '0' and '3' and crtc offsets
are '0' & '1' in mode config list, to ordering crtcs in drm with
enabled pipes allocating upper bound pipes array.

v6:
    Updated commit description as per review comments <Hiler, Arkadiusz>

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 68 ++++++++++++++++++++++++++++++++++++++++++++-------
 lib/igt_kms.h | 14 +++++++----
 2 files changed, 68 insertions(+), 14 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 27f85859..5a80d17f 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1873,6 +1873,21 @@ void igt_display_reset(igt_display_t *display)
 static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane);
 static void igt_fill_display_format_mod(igt_display_t *display);
 
+/* Get crtc mask for a pipe using crtc id */
+static int
+__get_crtc_mask_for_pipe(drmModeRes *resources, igt_pipe_t *pipe)
+{
+	int offset;
+
+	for (offset = 0; offset < resources->count_crtcs; offset++)
+	{
+		if(pipe->crtc_id == resources->crtcs[offset])
+			break;
+	}
+
+	return (1 << offset);
+}
+
 /**
  * igt_display_require:
  * @display: a pointer to an #igt_display_t structure
@@ -1889,12 +1904,14 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	drmModeRes *resources;
 	drmModePlaneRes *plane_resources;
 	int i;
+	bool is_i915_dev;
 
 	memset(display, 0, sizeof(igt_display_t));
 
 	LOG_INDENT(display, "init");
 
 	display->drm_fd = drm_fd;
+	is_i915_dev = is_i915_device(drm_fd);
 
 	resources = drmModeGetResources(display->drm_fd);
 	if (!resources)
@@ -1918,13 +1935,39 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 #endif
 
 	/*
-	 * We cache the number of pipes, that number is a physical limit of the
-	 * hardware and cannot change of time (for now, at least).
+	 * With non-contiguous pipes display, crtc mapping is not always same
+	 * as pipe mapping, In i915 pipe is enum id of i915's crtc object.
+	 * hence allocating upper bound igt_pipe array to support non-contiguos
+	 * pipe display and reading pipe enum for a crtc using GET_PIPE_FROM_CRTC_ID ioctl
+	 * for a pipe to do pipe ordering with respect to crtc list.
 	 */
-	display->n_pipes = resources->count_crtcs;
+	display->n_pipes = IGT_MAX_PIPES;
 	display->pipes = calloc(sizeof(igt_pipe_t), display->n_pipes);
 	igt_assert_f(display->pipes, "Failed to allocate memory for %d pipes\n", display->n_pipes);
 
+	for (i = 0; i < resources->count_crtcs; i++) {
+		igt_pipe_t *pipe;
+
+		if (is_i915_dev) {
+			struct drm_i915_get_pipe_from_crtc_id get_pipe;
+
+			get_pipe.pipe = 0;
+			get_pipe.crtc_id =  resources->crtcs[i];
+			do_ioctl(display->drm_fd,
+					DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID, &get_pipe);
+			pipe = &display->pipes[get_pipe.pipe];
+			pipe->pipe = get_pipe.pipe;
+		}
+		else {
+			pipe = &display->pipes[i];
+			pipe->pipe = i;
+		}
+
+		/* pipe is enabled/disabled */
+		pipe->enabled = true;
+		pipe->crtc_id = resources->crtcs[i];
+	}
+
 	drmSetClientCap(drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
 	if (drmSetClientCap(drm_fd, DRM_CLIENT_CAP_ATOMIC, 1) == 0)
 		display->is_atomic = 1;
@@ -1955,25 +1998,26 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	for_each_pipe(display, i) {
 		igt_pipe_t *pipe = &display->pipes[i];
 		igt_plane_t *plane;
-		int p = 1;
+		int p = 1, crtc_mask = 0;
 		int j, type;
 		uint8_t last_plane = 0, n_planes = 0;
 
-		pipe->crtc_id = resources->crtcs[i];
 		pipe->display = display;
-		pipe->pipe = i;
 		pipe->plane_cursor = -1;
 		pipe->plane_primary = -1;
 		pipe->planes = NULL;
 
 		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
+		/* Get valid crtc index from crtcs for a pipe */
+		crtc_mask = __get_crtc_mask_for_pipe(resources, pipe);
+
 		/* count number of valid planes */
 		for (j = 0; j < display->n_planes; j++) {
 			drmModePlane *drm_plane = display->planes[j].drm_plane;
 			igt_assert(drm_plane);
 
-			if (drm_plane->possible_crtcs & (1 << i))
+			if (drm_plane->possible_crtcs & crtc_mask)
 				n_planes++;
 		}
 
@@ -1987,7 +2031,7 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 			igt_plane_t *global_plane = &display->planes[j];
 			drmModePlane *drm_plane = global_plane->drm_plane;
 
-			if (!(drm_plane->possible_crtcs & (1 << i)))
+			if (!(drm_plane->possible_crtcs & crtc_mask))
 				continue;
 
 			type = global_plane->type;
@@ -2409,12 +2453,18 @@ static bool output_is_internal_panel(igt_output_t *output)
 
 igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display, igt_output_t **chosen_outputs)
 {
-	unsigned full_pipe_mask = (1 << (display->n_pipes)) - 1, assigned_pipes = 0;
+	unsigned full_pipe_mask, assigned_pipes = 0;
 	igt_output_t *output;
 	int i, j;
 
 	memset(chosen_outputs, 0, sizeof(*chosen_outputs) * display->n_pipes);
 
+	for (i = 0; i < display->n_pipes; i++) {
+		igt_pipe_t *pipe = &display->pipes[i];
+		if (pipe->enabled)
+			full_pipe_mask |= (1 << i);
+	}
+
 	/*
 	 * Try to assign all outputs to the first available CRTC for
 	 * it, start with the outputs restricted to 1 pipe, then increase
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 416e737c..f9bbddc5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -341,6 +341,8 @@ typedef struct igt_plane {
 struct igt_pipe {
 	igt_display_t *display;
 	enum pipe pipe;
+	/* pipe is enabled or not */
+	bool enabled;
 
 	int n_planes;
 	int plane_cursor;
@@ -510,8 +512,9 @@ static inline bool igt_output_is_connected(igt_output_t *output)
  * depends upon runtime probing of the actual kms driver that is being tested.
  * Use #for_each_pipe_static instead.
  */
-#define for_each_pipe(display, pipe)					\
-	for (pipe = 0; assert(igt_can_fail()), pipe < igt_display_get_n_pipes(display); pipe++)
+#define for_each_pipe(display, pipe) \
+	for_each_pipe_static(pipe) \
+		for_each_if((display)->pipes[(pipe)].enabled)
 
 /**
  * for_each_pipe_with_valid_output:
@@ -530,8 +533,9 @@ static inline bool igt_output_is_connected(igt_output_t *output)
 	for (int con__ = (pipe) = 0; \
 	     assert(igt_can_fail()), (pipe) < igt_display_get_n_pipes((display)) && con__ < (display)->n_outputs; \
 	     con__ = (con__ + 1 < (display)->n_outputs) ? con__ + 1 : (pipe = pipe + 1, 0)) \
-		for_each_if ((((output) = &(display)->outputs[con__]), \
-			     igt_pipe_connector_valid((pipe), (output))))
+		 for_each_if((display)->pipes[pipe].enabled) \
+			for_each_if ((((output) = &(display)->outputs[con__]), \
+						igt_pipe_connector_valid((pipe), (output))))
 
 igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
 					   igt_output_t **chosen_outputs);
@@ -549,7 +553,7 @@ igt_output_t **__igt_pipe_populate_outputs(igt_display_t *display,
 #define for_each_pipe_with_single_output(display, pipe, output) \
 	for (igt_output_t *__outputs[(display)->n_pipes], \
 	     **__output = __igt_pipe_populate_outputs((display), __outputs); \
-	     __output < &__outputs[(display)->n_pipes]; __output++) \
+		 __output < &__outputs[(display)->n_pipes]; __output++) \
 		for_each_if (*__output && \
 			     ((pipe) = (__output - __outputs), (output) = *__output, 1))
 
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 02/11] lib/igt_kms: Add igt_require_pipe() function
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 01/11] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 03/11] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Add igt_require_pipe() fn to check whether a pipe is enabled or not

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 17 +++++++++++++++++
 lib/igt_kms.h | 13 +++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 5a80d17f..5b68ffda 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1873,6 +1873,23 @@ void igt_display_reset(igt_display_t *display)
 static void igt_fill_plane_format_mod(igt_display_t *display, igt_plane_t *plane);
 static void igt_fill_display_format_mod(igt_display_t *display);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display, enum pipe pipe)
+{
+	igt_skip_on_f(!display->pipes[pipe].enabled,
+			"Pipe %s does not exist or not enabled\n",
+			kmstest_pipe_name(pipe));
+}
+
 /* Get crtc mask for a pipe using crtc id */
 static int
 __get_crtc_mask_for_pipe(drmModeRes *resources, igt_pipe_t *pipe)
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index f9bbddc5..7109c9a5 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -858,4 +858,17 @@ int igt_connector_sysfs_open(int drm_fd,
 			     drmModeConnector *connector);
 uint32_t igt_reduce_format(uint32_t format);
 
+/*
+ * igt_require_pipe:
+ * @display: pointer to igt_display_t
+ * @pipe: pipe which need to check
+ *
+ * Skip a (sub-)test if the pipe not enabled.
+ *
+ * Should be used everywhere where a test checks pipe and skip
+ * test when pipe is not enabled.
+ */
+void igt_require_pipe(igt_display_t *display,
+		enum pipe pipe);
+
 #endif /* __IGT_KMS_H__ */
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 03/11] tests/kms_cursor_legacy: Read crtc id for enable pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 01/11] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 02/11] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 04/11] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Read the crtc ids for enable pipes only in display.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_cursor_legacy.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 344442e8..e631f087 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -58,7 +58,7 @@ static void stress(igt_display_t *display,
 	uint64_t *results;
 	bool torture;
 	int n;
-	unsigned crtc_id[IGT_MAX_PIPES], num_crtcs;
+	unsigned crtc_id[IGT_MAX_PIPES] = {0}, num_crtcs;
 
 	torture = false;
 	if (num_children < 0) {
@@ -84,8 +84,10 @@ static void stress(igt_display_t *display,
 		}
 	} else {
 		num_crtcs = 1;
-		arg.crtc_id = crtc_id[0] = display->pipes[pipe].crtc_id;
-		do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+		if(display->pipes[pipe].enabled) {
+			arg.crtc_id = crtc_id[0] = display->pipes[pipe].crtc_id;
+			do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+		}
 	}
 
 	arg.flags = mode;
@@ -103,7 +105,8 @@ static void stress(igt_display_t *display,
 		hars_petruska_f54_1_random_perturb(child);
 		igt_until_timeout(timeout) {
 			arg.crtc_id = crtc_id[hars_petruska_f54_1_random_unsafe() % num_crtcs];
-			do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
+			if (arg.crtc_id)
+				do_ioctl(display->drm_fd, DRM_IOCTL_MODE_CURSOR, &arg);
 			count++;
 		}
 
@@ -1390,7 +1393,7 @@ igt_main
 			errno = 0;
 
 			igt_fixture {
-				igt_skip_on(n >= display.n_pipes);
+				igt_require_pipe(&display, n);
 			}
 
 			igt_subtest_f("pipe-%s-single-bo", kmstest_pipe_name(n))
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 04/11] tests/kms_lease: Get pipe from crtc for enable pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (2 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 03/11] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 05/11] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Get pipe from drm crtc for enabled pipes only.

v3:
    Beak the for_each_pipe() loop for a bad crtc <Hiler, Arkadiusz>

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_lease.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 2e6cf9b0..4ec9d49f 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -683,7 +683,10 @@ static void lease_unleased_crtc(data_t *data)
 
 	/* Find another CRTC that we don't control */
 	bad_crtc_id = 0;
-	for (p = 0; bad_crtc_id == 0 && p < data->master.display.n_pipes; p++) {
+
+	for_each_pipe(&data->master.display, p) {
+		if (bad_crtc_id != 0)
+			break;
 		if (pipe_to_crtc_id(&data->master.display, p) != data->crtc_id)
 			bad_crtc_id = pipe_to_crtc_id(&data->master.display, p);
 	}
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 05/11] tests/kms_lease: Read crtc id for a valid pipe
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (3 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 04/11] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 06/11] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Read crtc id for enabled pipes only.

v2:
    Using for_each_pipe() macro for enabled pipes <Hiler, Arkadiusz>

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_lease.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index 4ec9d49f..bafb3bfb 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -136,9 +136,10 @@ static enum pipe crtc_id_to_pipe(igt_display_t *display, uint32_t crtc_id)
 {
 	enum pipe pipe;
 
-	for (pipe = 0; pipe < display->n_pipes; pipe++)
-		if (display->pipes[pipe].crtc_id == crtc_id)
+	for_each_pipe(display, pipe) {
+		if(display->pipes[pipe].crtc_id == crtc_id)
 			return pipe;
+	}
 	return -1;
 }
 
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 06/11] lib/kms: Skip igt test cases for disabled display pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (4 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 05/11] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 07/11] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Skip igt test cases for disabled pipes.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 5b68ffda..d56f2e56 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2191,8 +2191,7 @@ void igt_display_require_output_on_pipe(igt_display_t *display, enum pipe pipe)
 {
 	igt_output_t *output;
 
-	igt_skip_on_f(pipe >= igt_display_get_n_pipes(display),
-		      "Pipe %s does not exist.\n", kmstest_pipe_name(pipe));
+	igt_require_pipe(display, pipe);
 
 	for_each_valid_output_on_pipe(display, pipe, output)
 		return;
@@ -2547,7 +2546,7 @@ igt_output_t *igt_get_single_output_for_pipe(igt_display_t *display, enum pipe p
 	igt_output_t *chosen_outputs[display->n_pipes];
 
 	igt_assert(pipe != PIPE_NONE);
-	igt_require(pipe < display->n_pipes);
+	igt_require_pipe(display, pipe);
 
 	__igt_pipe_populate_outputs(display, chosen_outputs);
 
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 07/11] tests/kms: Skip kms test cases for disabled pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (5 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 06/11] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 08/11] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Skip the kms test cases for disabled pipes with
non-contiguous pipe display.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_color.c           |  2 +-
 tests/kms_color_chamelium.c |  2 +-
 tests/kms_concurrent.c      |  2 +-
 tests/kms_pipe_crc_basic.c  |  4 ++--
 tests/kms_plane.c           |  2 +-
 tests/kms_plane_lowres.c    |  2 +-
 tests/kms_plane_multiple.c  |  2 +-
 tests/kms_universal_plane.c | 12 ++++++------
 8 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/tests/kms_color.c b/tests/kms_color.c
index 7f2fbd4a..8c50ee66 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -628,7 +628,7 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 	igt_fixture {
 		igt_require_pipe_crc(data->drm_fd);
 
-		igt_require(p < data->display.n_pipes);
+		igt_require_pipe(&data->display, p);
 
 		pipe = &data->display.pipes[p];
 		igt_require(pipe->n_planes >= 0);
diff --git a/tests/kms_color_chamelium.c b/tests/kms_color_chamelium.c
index 7f5a911c..310c021a 100644
--- a/tests/kms_color_chamelium.c
+++ b/tests/kms_color_chamelium.c
@@ -519,7 +519,7 @@ run_tests_for_pipe(data_t *data, enum pipe p)
 
 	igt_fixture {
 
-		igt_require(p < data->display.n_pipes);
+		igt_require_pipe(&data->display, p);
 
 		pipe = &data->display.pipes[p];
 		igt_require(pipe->n_planes >= 0);
diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
index 9a4dab24..573631e0 100644
--- a/tests/kms_concurrent.c
+++ b/tests/kms_concurrent.c
@@ -320,7 +320,7 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
 	igt_fixture {
 		int valid_tests = 0;
 
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 
 		for_each_valid_output_on_pipe(&data->display, pipe, output)
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index d169b7bd..82856efa 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -71,7 +71,7 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 	igt_crc_t *crcs = NULL;
 	int c, j;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(display, pipe);
 	igt_require_f(output, "No connector found for pipe %s\n",
 		      kmstest_pipe_name(pipe));
 
@@ -187,7 +187,7 @@ igt_main
 			test_read_crc(&data, pipe, TEST_SEQUENCE | TEST_NONBLOCK);
 
 		igt_subtest_f("suspend-read-crc-pipe-%s", kmstest_pipe_name(pipe)) {
-			igt_skip_on(pipe >= data.display.n_pipes);
+			igt_require_pipe(&data.display, pipe);
 
 			test_read_crc(&data, pipe, 0);
 
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index e75c045b..42088488 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -940,7 +940,7 @@ static void
 run_tests_for_pipe_plane(data_t *data, enum pipe pipe)
 {
 	igt_fixture {
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 	}
 
diff --git a/tests/kms_plane_lowres.c b/tests/kms_plane_lowres.c
index 94b18df6..a5af1f8a 100644
--- a/tests/kms_plane_lowres.c
+++ b/tests/kms_plane_lowres.c
@@ -259,7 +259,7 @@ test_planes_on_pipe(data_t *data, uint64_t modifier)
 	igt_plane_t *plane;
 	unsigned tested = 0;
 
-	igt_skip_on(data->pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, data->pipe);
 	igt_display_require_output_on_pipe(&data->display, data->pipe);
 	igt_skip_on(!igt_display_has_format_mod(&data->display,
 						DRM_FORMAT_XRGB8888, modifier));
diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
index 29b6397b..8310981c 100644
--- a/tests/kms_plane_multiple.c
+++ b/tests/kms_plane_multiple.c
@@ -378,7 +378,7 @@ static void
 run_tests_for_pipe(data_t *data, enum pipe pipe)
 {
 	igt_fixture {
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 		igt_require(data->display.pipes[pipe].n_planes > 0);
 	}
 
diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
index 676be633..46d6d180 100644
--- a/tests/kms_universal_plane.c
+++ b/tests/kms_universal_plane.c
@@ -135,7 +135,7 @@ functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int num_primary = 0, num_cursor = 0;
 	int i;
 
-	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_pipe(display, pipe);
 
 	igt_info("Testing connector %s using pipe %s\n", igt_output_name(output),
 		 kmstest_pipe_name(pipe));
@@ -364,7 +364,7 @@ sanity_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int i;
 	int expect;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 	mode = igt_output_get_mode(output);
@@ -476,7 +476,7 @@ pageflip_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	fd_set fds;
 	int ret = 0;
 
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 
@@ -577,7 +577,7 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int r, g, b;
 	int count1, count2;
 
-	igt_skip_on(pipe >= display->n_pipes);
+	igt_require_pipe(display, pipe);
 	igt_require(display->has_cursor_plane);
 
 	igt_output_set_pipe(output, pipe);
@@ -705,7 +705,7 @@ gen9_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
 	int ret = 0;
 
 	igt_skip_on(data->gen < 9);
-	igt_skip_on(pipe >= data->display.n_pipes);
+	igt_require_pipe(&data->display, pipe);
 
 	igt_output_set_pipe(output, pipe);
 
@@ -750,7 +750,7 @@ run_tests_for_pipe(data_t *data, enum pipe pipe)
 	igt_fixture {
 		int valid_tests = 0;
 
-		igt_skip_on(pipe >= data->display.n_pipes);
+		igt_require_pipe(&data->display, pipe);
 
 		for_each_valid_output_on_pipe(&data->display, pipe, output)
 			valid_tests++;
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 08/11] tests/kms_atomic_transition: Set modeset for enable pipes only
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (6 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 07/11] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 09/11] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Set the modeset for enable pipes only by using max iteration
from enable pipe count.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/kms_atomic_transition.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 656bd51e..1430884c 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -738,8 +738,8 @@ static void collect_crcs_mask(igt_pipe_crc_t **pipe_crcs, unsigned mask, igt_crc
 static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblocking, bool fencing)
 {
 	struct igt_fb fbs[2];
-	int i, j;
-	unsigned iter_max = 1 << display->n_pipes;
+	int i, j = 0;
+	unsigned iter_max;
 	igt_pipe_crc_t *pipe_crcs[IGT_MAX_PIPES] = { 0 };
 	igt_output_t *output;
 	unsigned width = 0, height = 0;
@@ -764,6 +764,9 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock
 		igt_plane_t *plane = igt_pipe_get_plane_type(pipe, DRM_PLANE_TYPE_PRIMARY);
 		drmModeModeInfo *mode = NULL;
 
+		/* count enable pipes to set max iteration */
+		j += 1;
+
 		if (is_i915_device(display->drm_fd))
 			pipe_crcs[i] = igt_pipe_crc_new(display->drm_fd, i, INTEL_PIPE_CRC_SOURCE_AUTO);
 
@@ -787,6 +790,8 @@ static void run_modeset_tests(igt_display_t *display, int howmany, bool nonblock
 			igt_plane_set_fb(plane, NULL);
 	}
 
+	iter_max = 1 << j;
+
 	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	for (i = 0; i < iter_max; i++) {
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 09/11] i915/gem_eio: Set modeset for enable pipes
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (7 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 08/11] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 10/11] lib/kms: Convert pipe id flags for a vblank using crtc offset Mohammed Khajapasha
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Set modeset for enable pipes only in kms test

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/i915/gem_eio.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/i915/gem_eio.c b/tests/i915/gem_eio.c
index cfc3f668..c5ef61bd 100644
--- a/tests/i915/gem_eio.c
+++ b/tests/i915/gem_eio.c
@@ -851,6 +851,8 @@ static void display_helper(igt_display_t *dpy, int *done)
 		int pipe;
 
 		pipe = rand() % dpy->n_pipes;
+		if (!dpy->pipes[pipe].enabled)
+			continue;
 		output = igt_get_single_output_for_pipe(dpy, pipe);
 		if (!output)
 			continue;
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 10/11] lib/kms: Convert pipe id flags for a vblank using crtc offset
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (8 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 09/11] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 11/11] tests/kms: Use crtc offset to read vblank event for a pipe Mohammed Khajapasha
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

In i915 with non-contiguous pipes display, pipes always not same
as crtc index in display pipes array. Hence reading pipe id flags
for a vblank event using crtc offset.

Example:
With PIPE_A & PIPE_D enabled and PIPE_B & PIPE_C disabled
configuration, pipe enum ids for pipe A & D are '0' and '3',
and crtc offsets in mode config list for pipe A & D are '0' and '1'
hence using crtc offset to read a vblank event for a pipe, as
DRM vblank ioctl expect crtc offset for a pipe.

v3:
    Addressed review comments for documentation <Hiler, Arkadiusz>

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 lib/igt_kms.c | 50 ++++++++++++++++++++++++++++++++++----------------
 lib/igt_kms.h | 16 +++++++++++++---
 2 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index d56f2e56..f57972f1 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1983,6 +1983,8 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 		/* pipe is enabled/disabled */
 		pipe->enabled = true;
 		pipe->crtc_id = resources->crtcs[i];
+		/* offset of a pipe in crtcs list */
+		pipe->crtc_offset = i;
 	}
 
 	drmSetClientCap(drm_fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1);
@@ -4131,18 +4133,27 @@ void igt_pipe_request_out_fence(igt_pipe_t *pipe)
 /**
  * igt_wait_for_vblank_count:
  * @drm_fd: A drm file descriptor
- * @pipe: Pipe to wait_for_vblank on
+ * @crtc_offset: offset of the crtc in drmModeRes.crtcs
  * @count: Number of vblanks to wait on
  *
  * Waits for a given number of vertical blank intervals
+ *
+ * In DRM, 'Pipe', as understood by DRM_IOCTL_WAIT_VBLANK,
+ * is actually an offset of crtc in drmModeRes.crtcs
+ * and it has nothing to do with a hardware concept of a pipe.
+ * They can match but don't have to in case of DRM lease or
+ * non-contiguous pipes.
+ *
+ * To make thing clear we are calling DRM_IOCTL_WAIT_VBLANK's 'pipe'
+ * a crtc_offset.
  */
-void igt_wait_for_vblank_count(int drm_fd, enum pipe pipe, int count)
+void igt_wait_for_vblank_count(int drm_fd, int crtc_offset, int count)
 {
 	drmVBlank wait_vbl;
 	uint32_t pipe_id_flag;
 
 	memset(&wait_vbl, 0, sizeof(wait_vbl));
-	pipe_id_flag = kmstest_get_vbl_flag(pipe);
+	pipe_id_flag = kmstest_get_vbl_flag(crtc_offset);
 
 	wait_vbl.request.type = DRM_VBLANK_RELATIVE;
 	wait_vbl.request.type |= pipe_id_flag;
@@ -4154,13 +4165,15 @@ void igt_wait_for_vblank_count(int drm_fd, enum pipe pipe, int count)
 /**
  * igt_wait_for_vblank:
  * @drm_fd: A drm file descriptor
- * @pipe: Pipe to wait_for_vblank on
+ * @crtc_offset: offset of a crtc in drmModeRes.crtcs
+ *
+ * See #igt_wait_for_vblank_count for more details
  *
  * Waits for 1 vertical blank intervals
  */
-void igt_wait_for_vblank(int drm_fd, enum pipe pipe)
+void igt_wait_for_vblank(int drm_fd, int crtc_offset)
 {
-	igt_wait_for_vblank_count(drm_fd, pipe, 1);
+	igt_wait_for_vblank_count(drm_fd, crtc_offset, 1);
 }
 
 /**
@@ -4383,22 +4396,27 @@ void igt_cleanup_uevents(struct udev_monitor *mon)
 
 /**
  * kmstest_get_vbl_flag:
- * @pipe_id: Pipe to convert to flag representation.
+ * @crtc_offset: CRTC offset to convert into pipe flag representation.
  *
- * Convert a pipe id into the flag representation
- * expected in DRM while processing DRM_IOCTL_WAIT_VBLANK.
+ * Convert an offset of an crtc in drmModeRes.crtcs into flag representation
+ * expected by DRM_IOCTL_WAIT_VBLANK.
+ * See #igt_wait_for_vblank_count for details
  */
-uint32_t kmstest_get_vbl_flag(uint32_t pipe_id)
+uint32_t kmstest_get_vbl_flag(int crtc_offset)
 {
-	if (pipe_id == 0)
-		return 0;
-	else if (pipe_id == 1)
-		return _DRM_VBLANK_SECONDARY;
+	uint32_t pipe_id;
+
+	if (crtc_offset == 0)
+		pipe_id = 0;
+	else if (crtc_offset == 1)
+		pipe_id = _DRM_VBLANK_SECONDARY;
 	else {
-		uint32_t pipe_flag = pipe_id << 1;
+		uint32_t pipe_flag = crtc_offset << 1;
 		igt_assert(!(pipe_flag & ~DRM_VBLANK_HIGH_CRTC_MASK));
-		return pipe_flag;
+		pipe_id = pipe_flag;
 	}
+
+	return pipe_id;
 }
 
 static inline const uint32_t *
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index 7109c9a5..26dc9f5f 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -338,8 +338,15 @@ typedef struct igt_plane {
 	int format_mod_count;
 } igt_plane_t;
 
+/*
+ * This struct represents a hardware pipe
+ *
+ * DRM_IOCTL_WAIT_VBLANK notion of pipe is confusing and we are using
+ * crtc_offset instead (refer people to #igt_wait_for_vblank_count)
+ */
 struct igt_pipe {
 	igt_display_t *display;
+	/* ID of a hardware pipe */
 	enum pipe pipe;
 	/* pipe is enabled or not */
 	bool enabled;
@@ -353,7 +360,10 @@ struct igt_pipe {
 	uint32_t props[IGT_NUM_CRTC_PROPS];
 	uint64_t values[IGT_NUM_CRTC_PROPS];
 
+	/* ID of KMS CRTC object */
 	uint32_t crtc_id;
+	/* offset of a pipe in drmModeRes.crtcs */
+	uint32_t crtc_offset;
 
 	int32_t out_fence_fd;
 };
@@ -448,8 +458,8 @@ void igt_fb_set_position(struct igt_fb *fb, igt_plane_t *plane,
 void igt_fb_set_size(struct igt_fb *fb, igt_plane_t *plane,
 	uint32_t w, uint32_t h);
 
-void igt_wait_for_vblank(int drm_fd, enum pipe pipe);
-void igt_wait_for_vblank_count(int drm_fd, enum pipe pipe, int count);
+void igt_wait_for_vblank(int drm_fd, int crtc_offset);
+void igt_wait_for_vblank_count(int drm_fd, int crtc_offset, int count);
 
 static inline bool igt_output_is_connected(igt_output_t *output)
 {
@@ -769,7 +779,7 @@ void igt_pipe_refresh(igt_display_t *display, enum pipe pipe, bool force);
 void igt_enable_connectors(int drm_fd);
 void igt_reset_connectors(void);
 
-uint32_t kmstest_get_vbl_flag(uint32_t pipe_id);
+uint32_t kmstest_get_vbl_flag(int crtc_offset);
 
 const struct edid *igt_kms_get_base_edid(void);
 const struct edid *igt_kms_get_alt_edid(void);
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 11/11] tests/kms: Use crtc offset to read vblank event for a pipe
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (9 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 10/11] lib/kms: Convert pipe id flags for a vblank using crtc offset Mohammed Khajapasha
@ 2020-07-20 15:20 ` Mohammed Khajapasha
  2020-07-20 15:44 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev10) Patchwork
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 15:20 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

Pass crtc_offset parameter to read a vblank event for a pipe
to vblank helper functions.

Signed-off-by: Mohammed Khajapasha <mohammed.khajapasha@intel.com>
---
 tests/i915/perf_pmu.c           |  3 ++-
 tests/kms_atomic_transition.c   |  6 ++++--
 tests/kms_available_modes_crc.c |  4 +++-
 tests/kms_color.c               | 35 +++++++++++++++++++++++----------
 tests/kms_cursor_crc.c          | 18 +++++++++++------
 tests/kms_cursor_edge_walk.c    |  4 +++-
 tests/kms_lease.c               | 18 ++++++++++++-----
 tests/kms_pipe_crc_basic.c      |  5 +++--
 tests/kms_plane.c               |  8 ++++++--
 tests/kms_sequence.c            |  3 ++-
 tests/kms_vblank.c              |  3 ++-
 11 files changed, 75 insertions(+), 32 deletions(-)

diff --git a/tests/i915/perf_pmu.c b/tests/i915/perf_pmu.c
index f4db3c10..13e1bd93 100644
--- a/tests/i915/perf_pmu.c
+++ b/tests/i915/perf_pmu.c
@@ -874,7 +874,8 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 
 	igt_display_commit(display);
 
-	igt_wait_for_vblank(fd, data->pipe);
+	igt_wait_for_vblank(fd,
+			display->pipes[data->pipe].crtc_offset);
 }
 
 static void cleanup_crtc(data_t *data, int fd, igt_output_t *output)
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
index 1430884c..f54591e6 100644
--- a/tests/kms_atomic_transition.c
+++ b/tests/kms_atomic_transition.c
@@ -77,13 +77,15 @@ run_primary_test(igt_display_t *display, enum pipe pipe, igt_output_t *output)
 		igt_display_commit2(display, COMMIT_ATOMIC);
 
 		if (!(i & 1))
-			igt_wait_for_vblank(display->drm_fd, pipe);
+			igt_wait_for_vblank(display->drm_fd,
+					display->pipes[pipe].crtc_offset);
 
 		igt_plane_set_fb(primary, (i & 1) ? &fb : NULL);
 		igt_display_commit2(display, COMMIT_ATOMIC);
 
 		if (i & 1)
-			igt_wait_for_vblank(display->drm_fd, pipe);
+			igt_wait_for_vblank(display->drm_fd,
+					display->pipes[pipe].crtc_offset);
 
 		igt_plane_set_fb(primary, (i & 1) ? NULL : &fb);
 	}
diff --git a/tests/kms_available_modes_crc.c b/tests/kms_available_modes_crc.c
index 23d035f7..09785ed8 100644
--- a/tests/kms_available_modes_crc.c
+++ b/tests/kms_available_modes_crc.c
@@ -285,6 +285,7 @@ test_one_mode(data_t* data, igt_output_t *output, igt_plane_t* plane,
 	igt_crc_t current_crc;
 	signed rVal = 0;
 	int i;
+	igt_display_t *display = &data->display;
 
 	/*
 	 * Limit tests only to those fb formats listed in fillers table
@@ -304,7 +305,8 @@ test_one_mode(data_t* data, igt_output_t *output, igt_plane_t* plane,
 		igt_fb_set_position(&data->fb, plane, 0, 0);
 		igt_display_commit2(&data->display, data->commit);
 
-		igt_wait_for_vblank(data->gfx_fd, pipe);
+		igt_wait_for_vblank(data->gfx_fd,
+				display->pipes[pipe].crtc_offset);
 		igt_pipe_crc_get_current(data->gfx_fd, data->pipe_crc, &current_crc);
 
 		if (plane->type != DRM_PLANE_TYPE_CURSOR) {
diff --git a/tests/kms_color.c b/tests/kms_color.c
index 8c50ee66..f2686f57 100644
--- a/tests/kms_color.c
+++ b/tests/kms_color.c
@@ -30,6 +30,7 @@ static void test_pipe_degamma(data_t *data,
 			      igt_plane_t *primary)
 {
 	igt_output_t *output;
+	igt_display_t *display = &data->display;
 	gamma_lut_t *degamma_linear, *degamma_full;
 	gamma_lut_t *gamma_linear;
 	color_t red_green_blue[] = {
@@ -82,7 +83,8 @@ static void test_pipe_degamma(data_t *data,
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
 		/* Draw a gradient with degamma LUT to remap all
@@ -92,7 +94,8 @@ static void test_pipe_degamma(data_t *data,
 		igt_plane_set_fb(primary, &fb);
 		set_degamma(data, primary->pipe, degamma_full);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
 		/* Verify that the CRC of the software computed output is
@@ -117,6 +120,7 @@ static void test_pipe_gamma(data_t *data,
 			    igt_plane_t *primary)
 {
 	igt_output_t *output;
+	igt_display_t *display = &data->display;
 	gamma_lut_t *gamma_full;
 	color_t red_green_blue[] = {
 		{ 1.0, 0.0, 0.0 },
@@ -164,7 +168,8 @@ static void test_pipe_gamma(data_t *data,
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
 		/* Draw a gradient with gamma LUT to remap all values
@@ -173,7 +178,8 @@ static void test_pipe_gamma(data_t *data,
 		paint_gradient_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
 		/* Verify that the CRC of the software computed output is
@@ -197,6 +203,7 @@ static void test_pipe_legacy_gamma(data_t *data,
 				   igt_plane_t *primary)
 {
 	igt_output_t *output;
+	igt_display_t *display = &data->display;
 	color_t red_green_blue[] = {
 		{ 1.0, 0.0, 0.0 },
 		{ 0.0, 1.0, 0.0 },
@@ -250,7 +257,8 @@ static void test_pipe_legacy_gamma(data_t *data,
 		paint_rectangles(data, mode, red_green_blue, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullcolors);
 
 		/* Draw a gradient with gamma LUT to remap all values
@@ -265,7 +273,8 @@ static void test_pipe_legacy_gamma(data_t *data,
 		igt_assert_eq(drmModeCrtcSetGamma(data->drm_fd, primary->pipe->crtc_id,
 						  legacy_lut_size, red_lut, green_lut, blue_lut), 0);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_fullgamma);
 
 		/* Verify that the CRC of the software computed output is
@@ -426,6 +435,7 @@ static bool test_pipe_ctm(data_t *data,
 	gamma_lut_t *degamma_linear, *gamma_linear;
 	igt_output_t *output;
 	bool ret = true;
+	igt_display_t *display = &data->display;
 
 	igt_require(igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM));
 
@@ -480,7 +490,8 @@ static bool test_pipe_ctm(data_t *data,
 		igt_plane_set_fb(primary, &fb);
 		set_ctm(primary->pipe, ctm_identity);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_software);
 
 		/* With CTM transformation. */
@@ -488,7 +499,8 @@ static bool test_pipe_ctm(data_t *data,
 		igt_plane_set_fb(primary, &fb);
 		set_ctm(primary->pipe, ctm_matrix);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_hardware);
 
 		/* Verify that the CRC of the software computed output is
@@ -539,6 +551,7 @@ static void test_pipe_limited_range_ctm(data_t *data,
 	gamma_lut_t *degamma_linear, *gamma_linear;
 	igt_output_t *output;
 	bool has_broadcast_rgb_output = false;
+	igt_display_t *display = &data->display;
 
 	degamma_linear = generate_table(data->degamma_lut_size, 1.0);
 	gamma_linear = generate_table(data->gamma_lut_size, 1.0);
@@ -583,7 +596,8 @@ static void test_pipe_limited_range_ctm(data_t *data,
 		paint_rectangles(data, mode, red_green_blue_limited, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_full);
 
 		/* Set the output into limited range. */
@@ -591,7 +605,8 @@ static void test_pipe_limited_range_ctm(data_t *data,
 		paint_rectangles(data, mode, red_green_blue_full, &fb);
 		igt_plane_set_fb(primary, &fb);
 		igt_display_commit(&data->display);
-		igt_wait_for_vblank(data->drm_fd, primary->pipe->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[primary->pipe->pipe].crtc_offset);
 		igt_pipe_crc_collect_crc(data->pipe_crc, &crc_limited);
 
 		/* And reset.. */
diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
index 7e6b24cc..88265fd9 100644
--- a/tests/kms_cursor_crc.c
+++ b/tests/kms_cursor_crc.c
@@ -199,7 +199,8 @@ static void do_single_test(data_t *data, int x, int y)
 	igt_display_commit(display);
 
 	/* Extra vblank wait is because nonblocking cursor ioctl */
-	igt_wait_for_vblank(data->drm_fd, data->pipe);
+	igt_wait_for_vblank(data->drm_fd,
+			display->pipes[data->pipe].crtc_offset);
 	igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
 
 	if (data->flags & (TEST_DPMS | TEST_SUSPEND)) {
@@ -238,7 +239,8 @@ static void do_single_test(data_t *data, int x, int y)
 	igt_display_commit(display);
 	igt_dirty_fb(data->drm_fd, &data->primary_fb[FRONTBUFFER]);
 	/* Extra vblank wait is because nonblocking cursor ioctl */
-	igt_wait_for_vblank(data->drm_fd, data->pipe);
+	igt_wait_for_vblank(data->drm_fd,
+			display->pipes[data->pipe].crtc_offset);
 
 	igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc);
 	igt_assert_crc_equal(&crc, &ref_crc);
@@ -496,7 +498,8 @@ static void test_cursor_alpha(data_t *data, double a)
 	/*Hardware Test*/
 	cursor_enable(data);
 	igt_display_commit(display);
-	igt_wait_for_vblank(data->drm_fd, data->pipe);
+	igt_wait_for_vblank(data->drm_fd,
+			display->pipes[data->pipe].crtc_offset);
 	igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
 	cursor_disable(data);
 	igt_remove_fb(data->drm_fd, &data->fb);
@@ -507,7 +510,8 @@ static void test_cursor_alpha(data_t *data, double a)
 	igt_put_cairo_ctx(cr);
 
 	igt_display_commit(display);
-	igt_wait_for_vblank(data->drm_fd, data->pipe);
+	igt_wait_for_vblank(data->drm_fd,
+			display->pipes[data->pipe].crtc_offset);
 	igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc);
 	igt_assert_crc_equal(&crc, &ref_crc);
 
@@ -612,7 +616,8 @@ static void test_cursor_size(data_t *data)
 		igt_plane_set_size(data->cursor, size, size);
 		igt_fb_set_size(&data->fb, data->cursor, size, size);
 		igt_display_commit(display);
-		igt_wait_for_vblank(data->drm_fd, data->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[data->pipe].crtc_offset);
 		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc[i]);
 	}
 	cursor_disable(data);
@@ -626,7 +631,8 @@ static void test_cursor_size(data_t *data)
 		igt_put_cairo_ctx(cr);
 
 		igt_display_commit(display);
-		igt_wait_for_vblank(data->drm_fd, data->pipe);
+		igt_wait_for_vblank(data->drm_fd,
+				display->pipes[data->pipe].crtc_offset);
 		igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &ref_crc);
 		/* Clear screen afterwards */
 		cr = igt_get_cairo_ctx(data->drm_fd, &data->primary_fb[FRONTBUFFER]);
diff --git a/tests/kms_cursor_edge_walk.c b/tests/kms_cursor_edge_walk.c
index 96a78792..32b8e711 100644
--- a/tests/kms_cursor_edge_walk.c
+++ b/tests/kms_cursor_edge_walk.c
@@ -84,6 +84,7 @@ static void create_cursor_fb(data_t *data, int cur_w, int cur_h)
 static void cursor_move(data_t *data, int x, int y, int i)
 {
 	int crtc_id = data->output->config.crtc->crtc_id;
+	igt_display_t *display = &data->display;
 
 	igt_debug("[%d] x=%d, y=%d\n", i, x, y);
 
@@ -95,7 +96,8 @@ static void cursor_move(data_t *data, int x, int y, int i)
 	igt_assert(drmModeMoveCursor(data->drm_fd, crtc_id, x, y) == 0 ||
 		   (IS_CHERRYVIEW(data->devid) && data->pipe == PIPE_C &&
 		    x < 0 && x > -data->curw));
-	igt_wait_for_vblank(data->drm_fd, data->pipe);
+	igt_wait_for_vblank(data->drm_fd,
+			display->pipes[data->pipe].crtc_offset);
 }
 
 #define XSTEP 8
diff --git a/tests/kms_lease.c b/tests/kms_lease.c
index bafb3bfb..ca8fa5b7 100644
--- a/tests/kms_lease.c
+++ b/tests/kms_lease.c
@@ -182,7 +182,7 @@ static int prepare_crtc(lease_t *lease, uint32_t connector_id, uint32_t crtc_id)
 	if (ret)
 		return ret;
 
-	igt_wait_for_vblank(lease->fd, pipe);
+	igt_wait_for_vblank(lease->fd, display->pipes[pipe].crtc_offset);
 
 	lease->output = output;
 	lease->mode = mode;
@@ -320,6 +320,8 @@ static void page_flip_implicit_plane(data_t *data)
 	drmModePlaneRes *plane_resources;
 	uint32_t wrong_plane_id = 0;
 	int i;
+	enum pipe pipe;
+	igt_display_t *display;
 
 	/* find a plane which isn't the primary one for us */
 	plane_resources = drmModeGetPlaneResources(data->master.fd);
@@ -350,9 +352,13 @@ static void page_flip_implicit_plane(data_t *data)
 	do_or_die(drmModePageFlip(data->master.fd, data->crtc_id,
 			      data->master.primary_fb.fb_id,
 			      0, NULL));
+
+	display = &data->master.display;
+	pipe = crtc_id_to_pipe(display, data->crtc_id);
+
 	igt_wait_for_vblank_count(data->master.fd,
-				  crtc_id_to_pipe(&data->master.display, data->crtc_id),
-				  1);
+			display->pipes[pipe].crtc_offset, 1);
+
 	do_or_die(drmModePageFlip(mcl.fd, data->crtc_id,
 			      data->master.primary_fb.fb_id,
 			      0, NULL));
@@ -361,9 +367,11 @@ static void page_flip_implicit_plane(data_t *data)
 	object_ids[mcl.object_count++] = wrong_plane_id;
 	do_or_die(create_lease(data->master.fd, &mcl));
 
+	pipe = crtc_id_to_pipe(display, data->crtc_id);
+
 	igt_wait_for_vblank_count(data->master.fd,
-				  crtc_id_to_pipe(&data->master.display, data->crtc_id),
-				  1);
+			display->pipes[pipe].crtc_offset, 1);
+
 	igt_assert_eq(drmModePageFlip(mcl.fd, data->crtc_id,
 				      data->master.primary_fb.fb_id,
 				      0, NULL),
diff --git a/tests/kms_pipe_crc_basic.c b/tests/kms_pipe_crc_basic.c
index 82856efa..cb93c1ad 100644
--- a/tests/kms_pipe_crc_basic.c
+++ b/tests/kms_pipe_crc_basic.c
@@ -105,10 +105,11 @@ static void test_read_crc(data_t *data, enum pipe pipe, unsigned flags)
 			igt_pipe_crc_t *pipe_crc;
 
 			pipe_crc = igt_pipe_crc_new_nonblock(data->drm_fd, pipe, INTEL_PIPE_CRC_SOURCE_AUTO);
-			igt_wait_for_vblank(data->drm_fd, pipe);
+			igt_wait_for_vblank(data->drm_fd, display->pipes[pipe].crtc_offset);
 			igt_pipe_crc_start(pipe_crc);
 
-			igt_wait_for_vblank_count(data->drm_fd, pipe, N_CRCS);
+			igt_wait_for_vblank_count(data->drm_fd,
+					display->pipes[pipe].crtc_offset, N_CRCS);
 			n_crcs = igt_pipe_crc_get_crcs(pipe_crc, N_CRCS+1, &crcs);
 			igt_pipe_crc_stop(pipe_crc);
 			igt_pipe_crc_free(pipe_crc);
diff --git a/tests/kms_plane.c b/tests/kms_plane.c
index 42088488..430210d8 100644
--- a/tests/kms_plane.c
+++ b/tests/kms_plane.c
@@ -593,8 +593,12 @@ static void capture_format_crcs(data_t *data, enum pipe pipe,
 			igt_display_commit2(&data->display, COMMIT_UNIVERSAL);
 
 			/* setplane for the cursor does not block */
-			if (plane->type == DRM_PLANE_TYPE_CURSOR)
-				igt_wait_for_vblank(data->drm_fd, pipe);
+			if (plane->type == DRM_PLANE_TYPE_CURSOR) {
+				igt_display_t *display = &data->display;
+
+				igt_wait_for_vblank(data->drm_fd,
+						display->pipes[pipe].crtc_offset);
+			}
 		}
 
 		igt_remove_fb(data->drm_fd, &old_fb);
diff --git a/tests/kms_sequence.c b/tests/kms_sequence.c
index ff2d73cd..a21ab55c 100644
--- a/tests/kms_sequence.c
+++ b/tests/kms_sequence.c
@@ -117,7 +117,8 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 
 	igt_display_commit(display);
 
-	igt_wait_for_vblank(fd, data->pipe);
+	igt_wait_for_vblank(fd,
+			display->pipes[data->pipe].crtc_offset);
 }
 
 static void cleanup_crtc(data_t *data, int fd, igt_output_t *output)
diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index a895ab80..be001312 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -92,7 +92,8 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 
 	igt_display_commit(display);
 
-	igt_wait_for_vblank(fd, data->pipe);
+	igt_wait_for_vblank(fd,
+			display->pipes[data->pipe].crtc_offset);
 }
 
 static void cleanup_crtc(data_t *data, int fd, igt_output_t *output)
-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev10)
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (10 preceding siblings ...)
  2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 11/11] tests/kms: Use crtc offset to read vblank event for a pipe Mohammed Khajapasha
@ 2020-07-20 15:44 ` Patchwork
  2020-07-20 17:59 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2020-07-21  2:00 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2020-07-20 15:44 UTC (permalink / raw)
  To: Mohammed Khajapasha; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 7266 bytes --]

== Series Details ==

Series: lib/igt_kms: Add support for display with (rev10)
URL   : https://patchwork.freedesktop.org/series/78482/
State : success

== Summary ==

CI Bug Log - changes from IGT_5741 -> IGTPW_4781
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@read_all_entries:
    - fi-bsw-nick:        [PASS][1] -> [INCOMPLETE][2] ([i915#1250] / [i915#1436])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-bsw-nick/igt@debugfs_test@read_all_entries.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-bsw-nick/igt@debugfs_test@read_all_entries.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-tgl-u2:          [PASS][3] -> [FAIL][4] ([i915#1888])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-u2/igt@gem_exec_suspend@basic-s0.html

  * igt@i915_selftest@live@gt_lrc:
    - fi-tgl-u2:          [PASS][5] -> [DMESG-FAIL][6] ([i915#1233])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-u2/igt@i915_selftest@live@gt_lrc.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-u2/igt@i915_selftest@live@gt_lrc.html

  * igt@kms_busy@basic@flip:
    - fi-kbl-x1275:       [PASS][7] -> [DMESG-WARN][8] ([i915#62] / [i915#92] / [i915#95])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-kbl-x1275/igt@kms_busy@basic@flip.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-kbl-x1275/igt@kms_busy@basic@flip.html

  * igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1:
    - fi-icl-u2:          [PASS][9] -> [DMESG-WARN][10] ([i915#1982])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-icl-u2/igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-icl-u2/igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1.html

  * igt@vgem_basic@setversion:
    - fi-tgl-y:           [PASS][11] -> [DMESG-WARN][12] ([i915#402]) +2 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-y/igt@vgem_basic@setversion.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-y/igt@vgem_basic@setversion.html

  
#### Possible fixes ####

  * igt@i915_module_load@reload:
    - fi-byt-j1900:       [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-byt-j1900/igt@i915_module_load@reload.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-byt-j1900/igt@i915_module_load@reload.html
    - fi-bxt-dsi:         [DMESG-WARN][15] ([i915#1635] / [i915#1982]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-bxt-dsi/igt@i915_module_load@reload.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-bxt-dsi/igt@i915_module_load@reload.html
    - fi-tgl-u2:          [DMESG-WARN][17] ([i915#402]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-u2/igt@i915_module_load@reload.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-u2/igt@i915_module_load@reload.html

  * igt@kms_busy@basic@flip:
    - fi-tgl-y:           [DMESG-WARN][19] ([i915#1982]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-y/igt@kms_busy@basic@flip.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-y/igt@kms_busy@basic@flip.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-tgl-y:           [DMESG-WARN][21] ([i915#402]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-tgl-y/igt@prime_vgem@basic-fence-flip.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-tgl-y/igt@prime_vgem@basic-fence-flip.html

  
#### Warnings ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-kbl-guc:         [SKIP][23] ([fdo#109271]) -> [DMESG-FAIL][24] ([i915#2203])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-kbl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-kbl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-x1275:       [SKIP][25] ([fdo#109271]) -> [DMESG-FAIL][26] ([i915#62])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-kbl-x1275/igt@i915_pm_rpm@module-reload.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - fi-kbl-x1275:       [DMESG-WARN][27] ([i915#62] / [i915#92] / [i915#95]) -> [DMESG-WARN][28] ([i915#62] / [i915#92]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-kbl-x1275/igt@kms_force_connector_basic@prune-stale-modes.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-kbl-x1275/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-x1275:       [DMESG-WARN][29] ([i915#62] / [i915#92]) -> [DMESG-WARN][30] ([i915#62] / [i915#92] / [i915#95]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/fi-kbl-x1275/igt@prime_vgem@basic-fence-flip.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
  [i915#1233]: https://gitlab.freedesktop.org/drm/intel/issues/1233
  [i915#1250]: https://gitlab.freedesktop.org/drm/intel/issues/1250
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2203]: https://gitlab.freedesktop.org/drm/intel/issues/2203
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (47 -> 40)
------------------------------

  Missing    (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5741 -> IGTPW_4781

  CI-20190529: 20190529
  CI_DRM_8766: 947ce595ea05b4baaea060a7e018cc3f49eaf413 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4781: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/index.html
  IGT_5741: 96a8c8c1371995b73916989880b29b01f5657ba3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 9319 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_kms: Add support for display with (rev10)
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (11 preceding siblings ...)
  2020-07-20 15:44 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev10) Patchwork
@ 2020-07-20 17:59 ` Patchwork
  2020-07-21  2:00 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2020-07-20 17:59 UTC (permalink / raw)
  To: Mohammed Khajapasha; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 22804 bytes --]

== Series Details ==

Series: lib/igt_kms: Add support for display with (rev10)
URL   : https://patchwork.freedesktop.org/series/78482/
State : failure

== Summary ==

CI Bug Log - changes from IGT_5741_full -> IGTPW_4781_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_4781_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4781_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_4781/index.html

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge:
    - shard-iclb:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb1/igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge.html

  * igt@perf_pmu@enable-race@rcs0:
    - shard-tglb:         [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@perf_pmu@enable-race@rcs0.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb5/igt@perf_pmu@enable-race@rcs0.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@throttle:
    - shard-hsw:          [PASS][5] -> [TIMEOUT][6] ([i915#1958] / [i915#2119]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw6/igt@gem_eio@throttle.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@gem_eio@throttle.html

  * igt@gem_exec_whisper@basic-queues-forked-all:
    - shard-glk:          [PASS][7] -> [DMESG-WARN][8] ([i915#118] / [i915#95]) +5 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk4/igt@gem_exec_whisper@basic-queues-forked-all.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk5/igt@gem_exec_whisper@basic-queues-forked-all.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-apl:          [PASS][9] -> [DMESG-WARN][10] ([i915#1436] / [i915#1635] / [i915#716])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl4/igt@gen9_exec_parse@allowed-all.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl2/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([i915#1899])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@i915_pm_dc@dc5-psr.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb4/igt@i915_pm_dc@dc5-psr.html
    - shard-tglb:         [PASS][13] -> [FAIL][14] ([i915#1899])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb3/igt@i915_pm_dc@dc5-psr.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb8/igt@i915_pm_dc@dc5-psr.html

  * igt@kms_color@pipe-a-ctm-blue-to-red:
    - shard-kbl:          [PASS][15] -> [FAIL][16] ([i915#129])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl1/igt@kms_color@pipe-a-ctm-blue-to-red.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl7/igt@kms_color@pipe-a-ctm-blue-to-red.html
    - shard-apl:          [PASS][17] -> [FAIL][18] ([i915#129] / [i915#1635])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl2/igt@kms_color@pipe-a-ctm-blue-to-red.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl6/igt@kms_color@pipe-a-ctm-blue-to-red.html

  * igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge:
    - shard-glk:          [PASS][19] -> [DMESG-WARN][20] ([i915#1982])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk3/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk6/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html

  * igt@kms_cursor_legacy@short-flip-after-cursor-toggle:
    - shard-iclb:         [PASS][21] -> [DMESG-WARN][22] ([i915#1226])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb5/igt@kms_cursor_legacy@short-flip-after-cursor-toggle.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_legacy@short-flip-after-cursor-toggle.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled:
    - shard-iclb:         [PASS][23] -> [FAIL][24] ([i915#52] / [i915#54]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb6/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled:
    - shard-glk:          [PASS][25] -> [FAIL][26] ([i915#52] / [i915#54]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk4/igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk8/igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
    - shard-glk:          [PASS][27] -> [FAIL][28] ([i915#79])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp1:
    - shard-kbl:          [PASS][29] -> [FAIL][30] ([i915#79])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl7/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl6/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-hdmi-a1:
    - shard-hsw:          [PASS][31] -> [INCOMPLETE][32] ([i915#2055])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw1/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw7/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([i915#49])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy:
    - shard-tglb:         [PASS][35] -> [DMESG-WARN][36] ([i915#1982]) +3 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-kbl:          [PASS][37] -> [DMESG-WARN][38] ([i915#180]) +6 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl6/igt@kms_hdr@bpc-switch-suspend.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl7/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][39] -> [FAIL][40] ([i915#173])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb2/igt@kms_psr@no_drrs.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_basic:
    - shard-iclb:         [PASS][41] -> [SKIP][42] ([fdo#109441]) +2 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb2/igt@kms_psr@psr2_basic.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb7/igt@kms_psr@psr2_basic.html

  * igt@kms_vblank@pipe-c-query-busy:
    - shard-apl:          [PASS][43] -> [DMESG-WARN][44] ([i915#1635] / [i915#1982])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl7/igt@kms_vblank@pipe-c-query-busy.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl3/igt@kms_vblank@pipe-c-query-busy.html

  * igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
    - shard-tglb:         [PASS][45] -> [INCOMPLETE][46] ([i915#1602] / [i915#1887] / [i915#456])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html

  
#### Possible fixes ####

  * igt@gem_exec_reloc@basic-concurrent0:
    - shard-glk:          [FAIL][47] ([i915#1930]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk6/igt@gem_exec_reloc@basic-concurrent0.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk2/igt@gem_exec_reloc@basic-concurrent0.html

  * igt@gem_exec_schedule@smoketest-all:
    - shard-glk:          [DMESG-WARN][49] ([i915#118] / [i915#95]) -> [PASS][50] +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk5/igt@gem_exec_schedule@smoketest-all.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk3/igt@gem_exec_schedule@smoketest-all.html

  * igt@kms_addfb_basic@invalid-set-prop:
    - shard-tglb:         [DMESG-WARN][51] ([i915#402]) -> [PASS][52] +3 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@kms_addfb_basic@invalid-set-prop.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_addfb_basic@invalid-set-prop.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-glk:          [DMESG-FAIL][53] ([i915#118] / [i915#95]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
    - shard-apl:          [FAIL][55] ([i915#1635] / [i915#79]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [DMESG-WARN][57] ([i915#180]) -> [PASS][58] +7 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl2/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc:
    - shard-tglb:         [DMESG-WARN][59] ([i915#1982]) -> [PASS][60] +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc.html

  * igt@kms_lease@multimaster-lease:
    - shard-hsw:          [TIMEOUT][61] ([i915#1958] / [i915#2119]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw6/igt@kms_lease@multimaster-lease.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw7/igt@kms_lease@multimaster-lease.html
    - shard-snb:          [TIMEOUT][63] ([i915#1958] / [i915#2119]) -> [PASS][64] +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@kms_lease@multimaster-lease.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb5/igt@kms_lease@multimaster-lease.html

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
    - shard-hsw:          [INCOMPLETE][65] -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw1/igt@kms_plane_multiple@atomic-pipe-c-tiling-x.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_plane_multiple@atomic-pipe-c-tiling-x.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [SKIP][67] ([fdo#109441]) -> [PASS][68] +1 similar issue
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html

  
#### Warnings ####

  * igt@gem_exec_reloc@basic-concurrent16:
    - shard-snb:          [TIMEOUT][69] ([i915#1958] / [i915#2119]) -> [FAIL][70] ([i915#1930])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@gem_exec_reloc@basic-concurrent16.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb4/igt@gem_exec_reloc@basic-concurrent16.html

  * igt@kms_color@pipe-d-ctm-0-25:
    - shard-iclb:         [SKIP][71] ([fdo#109278] / [fdo#112010] / [i915#1149]) -> [SKIP][72] ([fdo#109278] / [i915#1149]) +7 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb5/igt@kms_color@pipe-d-ctm-0-25.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb2/igt@kms_color@pipe-d-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-a-gamma:
    - shard-hsw:          [SKIP][73] ([fdo#109271] / [fdo#111827]) -> [TIMEOUT][74] ([i915#1958] / [i915#2119])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw2/igt@kms_color_chamelium@pipe-a-gamma.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_color_chamelium@pipe-a-gamma.html

  * igt@kms_content_protection@uevent:
    - shard-hsw:          [SKIP][75] ([fdo#109271]) -> [TIMEOUT][76] ([i915#1958] / [i915#2119]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw2/igt@kms_content_protection@uevent.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding:
    - shard-iclb:         [SKIP][77] ([fdo#109279]) -> [SKIP][78] ([fdo#109278] / [fdo#109279]) +24 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb7/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding:
    - shard-iclb:         [SKIP][79] ([fdo#109278] / [fdo#112010] / [i915#508]) -> [SKIP][80] ([fdo#109278])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-iclb:         [SKIP][81] ([fdo#109274]) -> [SKIP][82] ([fdo#109274] / [fdo#109278]) +25 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@pipe-d-single-move:
    - shard-iclb:         [SKIP][83] ([fdo#109278] / [fdo#112010]) -> [SKIP][84] ([fdo#109278]) +83 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb7/igt@kms_cursor_legacy@pipe-d-single-move.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_cursor_legacy@pipe-d-single-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-snb:          [TIMEOUT][85] ([i915#1958] / [i915#2119]) -> [SKIP][86] ([fdo#109271])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf:
    - shard-tglb:         [SKIP][87] ([fdo#112025] / [fdo#112054]) -> [SKIP][88] ([fdo#112054])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-tglb:         [SKIP][89] ([fdo#111825] / [fdo#112015]) -> [SKIP][90] ([fdo#111825])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][91], [FAIL][92], [FAIL][93]) ([i915#1784] / [i915#2110]) -> [FAIL][94] ([i915#1436] / [i915#1784] / [i915#2110])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl6/igt@runner@aborted.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl2/igt@runner@aborted.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl3/igt@runner@aborted.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl4/igt@runner@aborted.html
    - shard-apl:          ([FAIL][95], [FAIL][96], [FAIL][97]) ([i915#1610] / [i915#1635] / [i915#2110]) -> ([FAIL][98], [FAIL][99]) ([fdo#109271] / [i915#1635] / [i915#2110] / [i915#716])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl1/igt@runner@aborted.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl6/igt@runner@aborted.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl4/igt@runner@aborted.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl3/igt@runner@aborted.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl2/igt@runner@aborted.html
    - shard-tglb:         ([FAIL][100], [FAIL][101], [FAIL][102], [FAIL][103]) ([i915#1764] / [i915#2110]) -> ([FAIL][104], [FAIL][105]) ([i915#1602] / [i915#2110])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb7/igt@runner@aborted.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@runner@aborted.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb8/igt@runner@aborted.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb3/igt@runner@aborted.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb1/igt@runner@aborted.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@runner@aborted.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010
  [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015
  [fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
  [i915#129]: https://gitlab.freedesktop.org/drm/intel/issues/129
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
  [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635
  [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
  [i915#1764]: https://gitlab.freedesktop.org/drm/intel/issues/1764
  [i915#1784]: https://gitlab.freedesktop.org/drm/intel/issues/1784
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1887]: https://gitlab.freedesktop.org/drm/intel/issues/1887
  [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
  [i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930
  [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2055]: https://gitlab.freedesktop.org/drm/intel/issues/2055
  [i915#2110]: https://gitlab.freedesktop.org/drm/intel/issues/2110
  [i915#2119]: https://gitlab.freedesktop.org/drm/intel/issues/2119
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#508]: https://gitlab.freedesktop.org/drm/intel/issues/508
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5741 -> IGTPW_4781

  CI-20190529: 20190529
  CI_DRM_8766: 947ce595ea05b4baaea060a7e018cc3f49eaf413 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4781: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/index.html
  IGT_5741: 96a8c8c1371995b73916989880b29b01f5657ba3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 28734 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✓ Fi.CI.IGT: success for lib/igt_kms: Add support for display with (rev10)
  2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
                   ` (12 preceding siblings ...)
  2020-07-20 17:59 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-07-21  2:00 ` Patchwork
  13 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2020-07-21  2:00 UTC (permalink / raw)
  To: Mohammed Khajapasha; +Cc: igt-dev


[-- Attachment #1.1: Type: text/plain, Size: 22485 bytes --]

== Series Details ==

Series: lib/igt_kms: Add support for display with (rev10)
URL   : https://patchwork.freedesktop.org/series/78482/
State : success

== Summary ==

CI Bug Log - changes from IGT_5741_full -> IGTPW_4781_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_eio@throttle:
    - shard-hsw:          [PASS][1] -> [TIMEOUT][2] ([i915#1958] / [i915#2119]) +2 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw6/igt@gem_eio@throttle.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@gem_eio@throttle.html

  * igt@gem_exec_whisper@basic-queues-forked-all:
    - shard-glk:          [PASS][3] -> [DMESG-WARN][4] ([i915#118] / [i915#95]) +5 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk4/igt@gem_exec_whisper@basic-queues-forked-all.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk5/igt@gem_exec_whisper@basic-queues-forked-all.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-apl:          [PASS][5] -> [DMESG-WARN][6] ([i915#1436] / [i915#1635] / [i915#716])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl4/igt@gen9_exec_parse@allowed-all.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl2/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc5-psr:
    - shard-iclb:         [PASS][7] -> [FAIL][8] ([i915#1899])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@i915_pm_dc@dc5-psr.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb4/igt@i915_pm_dc@dc5-psr.html
    - shard-tglb:         [PASS][9] -> [FAIL][10] ([i915#1899])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb3/igt@i915_pm_dc@dc5-psr.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb8/igt@i915_pm_dc@dc5-psr.html

  * igt@kms_color@pipe-a-ctm-blue-to-red:
    - shard-kbl:          [PASS][11] -> [FAIL][12] ([i915#129])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl1/igt@kms_color@pipe-a-ctm-blue-to-red.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl7/igt@kms_color@pipe-a-ctm-blue-to-red.html
    - shard-apl:          [PASS][13] -> [FAIL][14] ([i915#129] / [i915#1635])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl2/igt@kms_color@pipe-a-ctm-blue-to-red.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl6/igt@kms_color@pipe-a-ctm-blue-to-red.html

  * igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge:
    - shard-iclb:         [PASS][15] -> [FAIL][16] ([i915#2207])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb1/igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_edge_walk@pipe-b-128x128-bottom-edge.html

  * igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge:
    - shard-glk:          [PASS][17] -> [DMESG-WARN][18] ([i915#1982])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk3/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk6/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html

  * igt@kms_cursor_legacy@short-flip-after-cursor-toggle:
    - shard-iclb:         [PASS][19] -> [DMESG-WARN][20] ([i915#1226])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb5/igt@kms_cursor_legacy@short-flip-after-cursor-toggle.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_legacy@short-flip-after-cursor-toggle.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([i915#52] / [i915#54]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb6/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_draw_crc@draw-method-xrgb2101010-render-xtiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled:
    - shard-glk:          [PASS][23] -> [FAIL][24] ([i915#52] / [i915#54]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk4/igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk8/igt@kms_draw_crc@draw-method-xrgb8888-blt-ytiled.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
    - shard-glk:          [PASS][25] -> [FAIL][26] ([i915#79])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk5/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank@c-dp1:
    - shard-kbl:          [PASS][27] -> [FAIL][28] ([i915#79])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl7/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl6/igt@kms_flip@flip-vs-expired-vblank@c-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-hdmi-a1:
    - shard-hsw:          [PASS][29] -> [INCOMPLETE][30] ([i915#2055])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw1/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw7/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
    - shard-glk:          [PASS][31] -> [FAIL][32] ([i915#49])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy:
    - shard-tglb:         [PASS][33] -> [DMESG-WARN][34] ([i915#1982]) +3 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-kbl:          [PASS][35] -> [DMESG-WARN][36] ([i915#180]) +6 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl6/igt@kms_hdr@bpc-switch-suspend.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl7/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][37] -> [FAIL][38] ([i915#173])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb2/igt@kms_psr@no_drrs.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_psr@psr2_basic:
    - shard-iclb:         [PASS][39] -> [SKIP][40] ([fdo#109441]) +2 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb2/igt@kms_psr@psr2_basic.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb7/igt@kms_psr@psr2_basic.html

  * igt@kms_vblank@pipe-c-query-busy:
    - shard-apl:          [PASS][41] -> [DMESG-WARN][42] ([i915#1635] / [i915#1982])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl7/igt@kms_vblank@pipe-c-query-busy.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl3/igt@kms_vblank@pipe-c-query-busy.html

  * igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
    - shard-tglb:         [PASS][43] -> [INCOMPLETE][44] ([i915#1602] / [i915#1887] / [i915#456])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html

  * igt@perf_pmu@enable-race@rcs0:
    - shard-tglb:         [PASS][45] -> [INCOMPLETE][46] ([i915#750])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@perf_pmu@enable-race@rcs0.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb5/igt@perf_pmu@enable-race@rcs0.html

  
#### Possible fixes ####

  * igt@gem_exec_reloc@basic-concurrent0:
    - shard-glk:          [FAIL][47] ([i915#1930]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk6/igt@gem_exec_reloc@basic-concurrent0.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk2/igt@gem_exec_reloc@basic-concurrent0.html

  * igt@gem_exec_schedule@smoketest-all:
    - shard-glk:          [DMESG-WARN][49] ([i915#118] / [i915#95]) -> [PASS][50] +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk5/igt@gem_exec_schedule@smoketest-all.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk3/igt@gem_exec_schedule@smoketest-all.html

  * igt@kms_addfb_basic@invalid-set-prop:
    - shard-tglb:         [DMESG-WARN][51] ([i915#402]) -> [PASS][52] +3 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@kms_addfb_basic@invalid-set-prop.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_addfb_basic@invalid-set-prop.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-0:
    - shard-glk:          [DMESG-FAIL][53] ([i915#118] / [i915#95]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-glk8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-glk5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
    - shard-apl:          [FAIL][55] ([i915#1635] / [i915#79]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [DMESG-WARN][57] ([i915#180]) -> [PASS][58] +7 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl2/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc:
    - shard-tglb:         [DMESG-WARN][59] ([i915#1982]) -> [PASS][60] +1 similar issue
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc.html

  * igt@kms_lease@multimaster-lease:
    - shard-hsw:          [TIMEOUT][61] ([i915#1958] / [i915#2119]) -> [PASS][62] +2 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw6/igt@kms_lease@multimaster-lease.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw7/igt@kms_lease@multimaster-lease.html
    - shard-snb:          [TIMEOUT][63] ([i915#1958] / [i915#2119]) -> [PASS][64] +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@kms_lease@multimaster-lease.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb5/igt@kms_lease@multimaster-lease.html

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-x:
    - shard-hsw:          [INCOMPLETE][65] -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw1/igt@kms_plane_multiple@atomic-pipe-c-tiling-x.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_plane_multiple@atomic-pipe-c-tiling-x.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [SKIP][67] ([fdo#109441]) -> [PASS][68] +1 similar issue
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html

  
#### Warnings ####

  * igt@gem_exec_reloc@basic-concurrent16:
    - shard-snb:          [TIMEOUT][69] ([i915#1958] / [i915#2119]) -> [FAIL][70] ([i915#1930])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@gem_exec_reloc@basic-concurrent16.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb4/igt@gem_exec_reloc@basic-concurrent16.html

  * igt@kms_color@pipe-d-ctm-0-25:
    - shard-iclb:         [SKIP][71] ([fdo#109278] / [fdo#112010] / [i915#1149]) -> [SKIP][72] ([fdo#109278] / [i915#1149]) +7 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb5/igt@kms_color@pipe-d-ctm-0-25.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb2/igt@kms_color@pipe-d-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-a-gamma:
    - shard-hsw:          [SKIP][73] ([fdo#109271] / [fdo#111827]) -> [TIMEOUT][74] ([i915#1958] / [i915#2119])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw2/igt@kms_color_chamelium@pipe-a-gamma.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_color_chamelium@pipe-a-gamma.html

  * igt@kms_content_protection@uevent:
    - shard-hsw:          [SKIP][75] ([fdo#109271]) -> [TIMEOUT][76] ([i915#1958] / [i915#2119]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-hsw2/igt@kms_content_protection@uevent.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-hsw4/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding:
    - shard-iclb:         [SKIP][77] ([fdo#109279]) -> [SKIP][78] ([fdo#109278] / [fdo#109279]) +24 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb7/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding:
    - shard-iclb:         [SKIP][79] ([fdo#109278] / [fdo#112010] / [i915#508]) -> [SKIP][80] ([fdo#109278])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-64x21-sliding.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-iclb:         [SKIP][81] ([fdo#109274]) -> [SKIP][82] ([fdo#109274] / [fdo#109278]) +25 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb4/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb6/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@pipe-d-single-move:
    - shard-iclb:         [SKIP][83] ([fdo#109278] / [fdo#112010]) -> [SKIP][84] ([fdo#109278]) +83 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-iclb7/igt@kms_cursor_legacy@pipe-d-single-move.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-iclb1/igt@kms_cursor_legacy@pipe-d-single-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-snb:          [TIMEOUT][85] ([i915#1958] / [i915#2119]) -> [SKIP][86] ([fdo#109271])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-snb4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-snb2/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_plane_multiple@atomic-pipe-d-tiling-yf:
    - shard-tglb:         [SKIP][87] ([fdo#112025] / [fdo#112054]) -> [SKIP][88] ([fdo#112054])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_plane_multiple@atomic-pipe-d-tiling-yf.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-tglb:         [SKIP][89] ([fdo#111825] / [fdo#112015]) -> [SKIP][90] ([fdo#111825])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][91], [FAIL][92], [FAIL][93]) ([i915#1784] / [i915#2110]) -> [FAIL][94] ([i915#1436] / [i915#1784] / [i915#2110])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl6/igt@runner@aborted.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl2/igt@runner@aborted.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-kbl3/igt@runner@aborted.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-kbl4/igt@runner@aborted.html
    - shard-apl:          ([FAIL][95], [FAIL][96], [FAIL][97]) ([i915#1610] / [i915#1635] / [i915#2110]) -> ([FAIL][98], [FAIL][99]) ([fdo#109271] / [i915#1635] / [i915#2110] / [i915#716])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl1/igt@runner@aborted.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl6/igt@runner@aborted.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-apl4/igt@runner@aborted.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl3/igt@runner@aborted.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-apl2/igt@runner@aborted.html
    - shard-tglb:         ([FAIL][100], [FAIL][101], [FAIL][102], [FAIL][103]) ([i915#1764] / [i915#2110]) -> ([FAIL][104], [FAIL][105]) ([i915#1602] / [i915#2110])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb7/igt@runner@aborted.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb2/igt@runner@aborted.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb8/igt@runner@aborted.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5741/shard-tglb3/igt@runner@aborted.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb1/igt@runner@aborted.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/shard-tglb3/igt@runner@aborted.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112010]: https://bugs.freedesktop.org/show_bug.cgi?id=112010
  [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015
  [fdo#112025]: https://bugs.freedesktop.org/show_bug.cgi?id=112025
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1226]: https://gitlab.freedesktop.org/drm/intel/issues/1226
  [i915#129]: https://gitlab.freedesktop.org/drm/intel/issues/129
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
  [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635
  [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
  [i915#1764]: https://gitlab.freedesktop.org/drm/intel/issues/1764
  [i915#1784]: https://gitlab.freedesktop.org/drm/intel/issues/1784
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1887]: https://gitlab.freedesktop.org/drm/intel/issues/1887
  [i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
  [i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930
  [i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2055]: https://gitlab.freedesktop.org/drm/intel/issues/2055
  [i915#2110]: https://gitlab.freedesktop.org/drm/intel/issues/2110
  [i915#2119]: https://gitlab.freedesktop.org/drm/intel/issues/2119
  [i915#2207]: https://gitlab.freedesktop.org/drm/intel/issues/2207
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#508]: https://gitlab.freedesktop.org/drm/intel/issues/508
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#750]: https://gitlab.freedesktop.org/drm/intel/issues/750
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5741 -> IGTPW_4781

  CI-20190529: 20190529
  CI_DRM_8766: 947ce595ea05b4baaea060a7e018cc3f49eaf413 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4781: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4781/index.html
  IGT_5741: 96a8c8c1371995b73916989880b29b01f5657ba3 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 28382 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-20 11:48 Mohammed Khajapasha
  0 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-20 11:48 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, For i915 pipe is enum id of i915's crtc object and
it is not equal to crtc offset of a pipe in mode config list.
Hence allocating upper bound array for igt_pipe and reading
pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
Using crtc offset for a pipe to do ordering pipe with crtc list.

Example:
With a non-contiguous pipe display, with PIPE_A & PIPE_D
are enabled, PIPE_C & PIPE_B disabled configuration,
the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
are '0' & '1' in mode config list using crtc offset to ordering
enabled pipes with crtc list in mode config.

v9:
Modified documentation as per review comments by <Hiler, Arkadiusz>

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                 | 140 +++++++++++++++++++++++++++-------
 lib/igt_kms.h                 |  43 +++++++++--
 tests/i915/gem_eio.c          |   2 +
 tests/kms_atomic_transition.c |   9 ++-
 tests/kms_color.c             |   2 +-
 tests/kms_color_chamelium.c   |   2 +-
 tests/kms_concurrent.c        |   2 +-
 tests/kms_cursor_crc.c        |  18 +++--
 tests/kms_cursor_legacy.c     |  13 ++--
 tests/kms_lease.c             |  10 ++-
 tests/kms_pipe_crc_basic.c    |   4 +-
 tests/kms_plane.c             |   2 +-
 tests/kms_plane_lowres.c      |   2 +-
 tests/kms_plane_multiple.c    |   2 +-
 tests/kms_universal_plane.c   |  12 +--
 15 files changed, 197 insertions(+), 66 deletions(-)

-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
  2020-07-17 15:40 Mohammed Khajapasha
@ 2020-07-20  9:39 ` Arkadiusz Hiler
  0 siblings, 0 replies; 21+ messages in thread
From: Arkadiusz Hiler @ 2020-07-20  9:39 UTC (permalink / raw)
  To: Mohammed Khajapasha; +Cc: igt-dev, petri.latvala, kishore.kunche

On Fri, Jul 17, 2020 at 03:40:50PM +0000, Mohammed Khajapasha wrote:
> With non-contiguous pipes display, pipe mapping is always not same as
> crtc mapping, For i915 pipe is enum id of i915's crtc object and
> it is not equal to crtc offset of a pipe in mode config list.
> Hence allocating upper bound array for igt_pipe and reading
> pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
> Using crtc offset for a pipe to do ordering pipe with crtc list.
> 
> Example:
> 	With a non-contiguous pipe display, with PIPE_A & PIPE_D
> 	are enabled, PIPE_C & PIPE_B disabled configuration,
> 	the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
> 	are '0' & '1' in mode config list using crtc offset to ordering
> 	enabled pipes with crtc list in mode config.
> 
> v8:
> 	Modified documentation as per review comments by <Hiler, Arkadiusz>

I have posted a few comments on claryifing the documentation a bit further.

There are parts that would be hard to understand by someone not familiar
with the area - making it more friendly will help our fellow
contibutors down the line :-)

with the above fixed:

Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

-- 
Cheers,
Arek
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-17 15:40 Mohammed Khajapasha
  2020-07-20  9:39 ` Arkadiusz Hiler
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-17 15:40 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev, petri.latvala, kishore.kunche

With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, For i915 pipe is enum id of i915's crtc object and
it is not equal to crtc offset of a pipe in mode config list.
Hence allocating upper bound array for igt_pipe and reading
pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
Using crtc offset for a pipe to do ordering pipe with crtc list.

Example:
	With a non-contiguous pipe display, with PIPE_A & PIPE_D
	are enabled, PIPE_C & PIPE_B disabled configuration,
	the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
	are '0' & '1' in mode config list using crtc offset to ordering
	enabled pipes with crtc list in mode config.

v8:
	Modified documentation as per review comments by <Hiler, Arkadiusz>

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 138 +++++++++++++++++++++++++-------
 lib/igt_kms.h                   |  42 ++++++++--
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 +++-
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 ++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 +++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 +--
 tests/kms_lease.c               |  28 +++++--
 tests/kms_pipe_crc_basic.c      |   9 ++-
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 +--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 257 insertions(+), 92 deletions(-)

-- 
2.25.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-11 20:05 Mohammed Khajapasha
  0 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-11 20:05 UTC (permalink / raw)
  To: igt-dev, arkadiusz.hiler

With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, For i915 pipe is enum id of i915's crtc object and
it is not equal to crtc offset of a pipe in mode config list.
Hence allocating upper bound array for igt_pipe and reading
pipe id using GET_PIPE_FROM_CRTC_ID ioctl.
Using crtc offset for a pipe to do ordering pipe with crtc list.

Example:
	With a non-contiguous pipe display, with PIPE_A & PIPE_D
	are enabled, PIPE_C & PIPE_B disabled configuration,
	the pipe for PIPE_A & D will be '0' and '3' and crtc offsets
	are '0' & '1' in mode config list using crtc offset to ordering
	enabled pipes with crtc list in mode config.

v7:
	Modified documentation for using crtc offset for a pipe

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 141 +++++++++++++++++++++++++-------
 lib/igt_kms.h                   |  41 ++++++++--
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 +++-
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 ++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 ++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 +--
 tests/kms_lease.c               |  26 ++++--
 tests/kms_pipe_crc_basic.c      |   9 +-
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 +--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 258 insertions(+), 91 deletions(-)

-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-11 18:04 Mohammed Khajapasha
  0 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-11 18:04 UTC (permalink / raw)
  To: igt-dev

With non-contiguous pipes display, pipe mapping is always not same as
crtc mapping, pipe is enum id of i915 crtc object and it is not
equal to crtc offset of a pipe in mode config list. Hence allocating
upper bound array for igt_pipes and reading pipe id using CRTC_ID_TO_PIPE
ioctl. Using crtc offset for a pipe from mode config list to
read vblank events.

V6:
	Updated documentation for using crtc offset for a pipe

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 136 ++++++++++++++++++++++++++------
 lib/igt_kms.h                   |  41 ++++++++--
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 +++-
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 ++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 +++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 +--
 tests/kms_lease.c               |  26 ++++--
 tests/kms_pipe_crc_basic.c      |   9 ++-
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 +--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 255 insertions(+), 89 deletions(-)

-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with
@ 2020-07-06  4:40 Mohammed Khajapasha
  0 siblings, 0 replies; 21+ messages in thread
From: Mohammed Khajapasha @ 2020-07-06  4:40 UTC (permalink / raw)
  To: arkadiusz.hiler, igt-dev

V5:
	Modified vblank helper functions parameters for v4 regression
	and included two new patchsets.

Mohammed Khajapasha (11):
  lib/igt_kms: Add support for display with non-contiguous pipes
  lib/igt_kms: Add igt_require_pipe() function
  tests/kms_cursor_legacy: Read crtc id for enable pipes
  tests/kms_lease: Get pipe from crtc for enable pipes
  tests/kms_lease: Read crtc id for a valid pipe
  lib/kms: Skip igt test cases for disabled display pipes
  tests/kms: Skip kms test cases for disabled pipes
  tests/kms_atomic_transition: Set modeset for enable pipes only
  i915/gem_eio: Set modeset for enable pipes
  lib/kms: Convert pipe id flags for a vblank using crtc offset
  tests/kms: Use crtc offset to read vblank event for a pipe

 lib/igt_kms.c                   | 118 +++++++++++++++++++++++++-------
 lib/igt_kms.h                   |  33 ++++++---
 tests/i915/gem_eio.c            |   2 +
 tests/i915/perf_pmu.c           |   3 +-
 tests/kms_atomic_transition.c   |  15 ++--
 tests/kms_available_modes_crc.c |   4 +-
 tests/kms_color.c               |  37 +++++++---
 tests/kms_color_chamelium.c     |   2 +-
 tests/kms_concurrent.c          |   2 +-
 tests/kms_cursor_crc.c          |  18 +++--
 tests/kms_cursor_edge_walk.c    |   4 +-
 tests/kms_cursor_legacy.c       |  13 ++--
 tests/kms_lease.c               |  26 +++++--
 tests/kms_pipe_crc_basic.c      |   9 +--
 tests/kms_plane.c               |  10 ++-
 tests/kms_plane_lowres.c        |   2 +-
 tests/kms_plane_multiple.c      |   2 +-
 tests/kms_sequence.c            |   3 +-
 tests/kms_universal_plane.c     |  12 ++--
 tests/kms_vblank.c              |   3 +-
 20 files changed, 232 insertions(+), 86 deletions(-)

-- 
2.24.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-07-21  2:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-20 15:20 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 01/11] lib/igt_kms: Add support for display with non-contiguous pipes Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 02/11] lib/igt_kms: Add igt_require_pipe() function Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 03/11] tests/kms_cursor_legacy: Read crtc id for enable pipes Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 04/11] tests/kms_lease: Get pipe from crtc " Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 05/11] tests/kms_lease: Read crtc id for a valid pipe Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 06/11] lib/kms: Skip igt test cases for disabled display pipes Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 07/11] tests/kms: Skip kms test cases for disabled pipes Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 08/11] tests/kms_atomic_transition: Set modeset for enable pipes only Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 09/11] i915/gem_eio: Set modeset for enable pipes Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 10/11] lib/kms: Convert pipe id flags for a vblank using crtc offset Mohammed Khajapasha
2020-07-20 15:20 ` [igt-dev] [PATCH i-g-t 11/11] tests/kms: Use crtc offset to read vblank event for a pipe Mohammed Khajapasha
2020-07-20 15:44 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_kms: Add support for display with (rev10) Patchwork
2020-07-20 17:59 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-07-21  2:00 ` [igt-dev] ✓ Fi.CI.IGT: success " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2020-07-20 11:48 [igt-dev] [PATCH i-g-t 00/11] lib/igt_kms: Add support for display with Mohammed Khajapasha
2020-07-17 15:40 Mohammed Khajapasha
2020-07-20  9:39 ` Arkadiusz Hiler
2020-07-11 20:05 Mohammed Khajapasha
2020-07-11 18:04 Mohammed Khajapasha
2020-07-06  4:40 Mohammed Khajapasha

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.