All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff
@ 2020-03-13 16:11 Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 2/5] tests/kms_tiled_display: Replace the igt_display pointer with a struct Ville Syrjala
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-03-13 16:11 UTC (permalink / raw)
  To: igt-dev; +Cc: Madhumitha Tolakanahalli Pradeep

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

There is nothing DP specific about the tile property. So
remove any mention of DP (and port sync which is an i915
hardware feature). Let's just talk about genlocked CRTCs
and tiled connectors, which is pretty generic.

Cc: Madhumitha Tolakanahalli Pradeep <madhumitha.tolakanahalli.pradeep@intel.com>
Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
---
 tests/Makefile.sources                              |  2 +-
 .../{kms_dp_tiled_display.c => kms_tiled_display.c} | 13 +++----------
 tests/meson.build                                   |  2 +-
 3 files changed, 5 insertions(+), 12 deletions(-)
 rename tests/{kms_dp_tiled_display.c => kms_tiled_display.c} (96%)

diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 4ac6e35cae37..67445ca21177 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -44,7 +44,6 @@ TESTS_progs = \
 	kms_cursor_legacy \
 	kms_dp_aux_dev \
 	kms_dp_dsc \
-	kms_dp_tiled_display \
 	kms_draw_crc \
 	kms_fbcon_fbt \
 	kms_fence_pin_leak \
@@ -81,6 +80,7 @@ TESTS_progs = \
 	kms_sequence \
 	kms_setmode \
 	kms_sysfs_edid_timing \
+	kms_tiled_display \
 	kms_tv_load_detect \
 	kms_universal_plane \
 	kms_vblank \
diff --git a/tests/kms_dp_tiled_display.c b/tests/kms_tiled_display.c
similarity index 96%
rename from tests/kms_dp_tiled_display.c
rename to tests/kms_tiled_display.c
index b1160fee3b0e..f01152f86395 100644
--- a/tests/kms_dp_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -25,7 +25,7 @@
  *      <madhumitha.tolakanahalli.pradeep@intel.com>
  *  Manasi Navare <manasi.d.navare@intel.com>
  *
- * Display Port Tiled Display Test
+ * Tiled display genlocked CRTC test
  * This test parses the tile information of the connectors that have TILE
  * property set, sets up the framebuffer with correct offsets corresponding to
  * the tile offsets and does an atomic modeset with two CRTCs for two
@@ -41,7 +41,7 @@
 #include "drm_mode.h"
 #include "drm_fourcc.h"
 
-IGT_TEST_DESCRIPTION("Test for Transcoder Port Sync for Display Port Tiled Displays");
+IGT_TEST_DESCRIPTION("Test for genlocked CRTCs with tiled displays");
 
 typedef struct {
 	igt_output_t *output;
@@ -113,8 +113,7 @@ static void get_number_of_h_tiles(data_t *data)
 						       res->connectors[i]);
 		igt_assert(connector);
 
-		if (connector->connection == DRM_MODE_CONNECTED &&
-		    connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) {
+		if (connector->connection == DRM_MODE_CONNECTED) {
 			get_connector_tile_props(data, connector, &tile);
 
 			data->num_h_tiles = tile.num_h_tile;
@@ -138,12 +137,6 @@ static void get_connectors(data_t *data)
 
 		igt_assert(conns[count].connector);
 
-		if (conns[count].connector->connector_type !=
-		    DRM_MODE_CONNECTOR_DisplayPort) {
-			drmModeFreeConnector(conns[count].connector);
-			continue;
-		}
-
 		get_connector_tile_props(data, conns[count].connector,
 					 &conns[count].tile);
 
diff --git a/tests/meson.build b/tests/meson.build
index 9280eb3d867d..4c3f5b5c91aa 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -28,7 +28,6 @@ test_progs = [
 	'kms_cursor_legacy',
 	'kms_dp_aux_dev',
 	'kms_dp_dsc',
-	'kms_dp_tiled_display',
 	'kms_draw_crc',
 	'kms_fbcon_fbt',
 	'kms_fence_pin_leak',
@@ -65,6 +64,7 @@ test_progs = [
 	'kms_sequence',
 	'kms_setmode',
 	'kms_sysfs_edid_timing',
+	'kms_tiled_display',
 	'kms_tv_load_detect',
 	'kms_universal_plane',
 	'kms_vblank',
-- 
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] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 2/5] tests/kms_tiled_display: Replace the igt_display pointer with a struct
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
@ 2020-03-13 16:11 ` Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 3/5] tests/kms_tiled_display: Limit the difference in the timestamps to one scanline Ville Syrjala
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-03-13 16:11 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

No point in storing a pointer when we can just store the struct itself.
The lifetime is the same.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_tiled_display.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index f01152f86395..0671ac6c2249 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -55,7 +55,7 @@ typedef struct {
 	int drm_fd;
 	int num_h_tiles;
 	igt_fb_t fb_test_pattern;
-	igt_display_t *display;
+	igt_display_t display;
 	data_connector_t *conns;
 	enum igt_commit_style commit;
 	struct timeval first_ts;
@@ -131,8 +131,8 @@ static void get_connectors(data_t *data)
 	igt_output_t *output;
 	data_connector_t *conns = data->conns;
 
-	for_each_connected_output(data->display, output) {
-		conns[count].connector = drmModeGetConnector(data->display->drm_fd,
+	for_each_connected_output(&data->display, output) {
+		conns[count].connector = drmModeGetConnector(data->display.drm_fd,
 							     output->id);
 
 		igt_assert(conns[count].connector);
@@ -177,11 +177,11 @@ static void reset_mode(data_t *data)
 	data_connector_t *conns = data->conns;
 
 	for (count = 0; count < data->num_h_tiles; count++) {
-		output = igt_output_from_connector(data->display,
+		output = igt_output_from_connector(&data->display,
 						   conns[count].connector);
 		igt_output_set_pipe(output, PIPE_NONE);
 	}
-	igt_display_commit2(data->display, data->commit);
+	igt_display_commit2(&data->display, data->commit);
 }
 
 static void test_cleanup(data_t *data)
@@ -196,7 +196,7 @@ static void test_cleanup(data_t *data)
 		}
 	}
 	igt_remove_fb(data->drm_fd, &data->fb_test_pattern);
-	igt_display_commit2(data->display, data->commit);
+	igt_display_commit2(&data->display, data->commit);
 	memset(conns, 0, sizeof(data_connector_t) * data->num_h_tiles);
 }
 
@@ -217,10 +217,10 @@ static void setup_mode(data_t *data)
 	reset_mode(data);
 
 	for (count = 0; count < data->num_h_tiles; count++) {
-		output = igt_output_from_connector(data->display,
+		output = igt_output_from_connector(&data->display,
 						   conns[count].connector);
 
-		for_each_pipe(data->display, pipe) {
+		for_each_pipe(&data->display, pipe) {
 			pipe_in_use = false;
 			found = false;
 
@@ -257,7 +257,7 @@ static void setup_mode(data_t *data)
 		igt_require(found);
 		igt_output_override_mode(output, mode);
 	}
-	igt_display_commit_atomic(data->display, DRM_MODE_ATOMIC_ALLOW_MODESET,
+	igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET,
 				  NULL);
 }
 
@@ -316,7 +316,7 @@ static data_connector_t *conn_for_crtc(data_t *data, unsigned int crtc_id)
 	for (int i = 0; i < data->num_h_tiles; i++) {
 		data_connector_t *conn = &data->conns[i];
 
-		if (data->display->pipes[conn->pipe].crtc_id == crtc_id)
+		if (data->display.pipes[conn->pipe].crtc_id == crtc_id)
 			return conn;
 	}
 
@@ -375,7 +375,6 @@ static bool got_all_page_flips(data_t *data)
 
 igt_main
 {
-	igt_display_t display;
 	data_t data = {0};
 	struct pollfd pfd = {0};
 	drmEventContext drm_event = {0};
@@ -385,15 +384,14 @@ igt_main
 		data.drm_fd = drm_open_driver_master(DRIVER_ANY);
 
 		kmstest_set_vt_graphics_mode();
-		igt_display_require(&display, data.drm_fd);
-		igt_display_reset(&display);
+		igt_display_require(&data.display, data.drm_fd);
+		igt_display_reset(&data.display);
 
-		data.display = &display;
 		pfd.fd = data.drm_fd;
 		pfd.events = POLLIN;
 		drm_event.version = 3;
 		drm_event.page_flip_handler2 = page_flip_handler;
-		data.commit = data.display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY;
+		data.commit = data.display.is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY;
 		igt_require(data.commit == COMMIT_ATOMIC);
 
 		get_number_of_h_tiles(&data);
@@ -411,7 +409,7 @@ igt_main
 		setup_mode(&data);
 		setup_framebuffer(&data);
 		timerclear(&data.first_ts);
-		igt_display_commit_atomic(data.display, DRM_MODE_ATOMIC_NONBLOCK |
+		igt_display_commit_atomic(&data.display, DRM_MODE_ATOMIC_NONBLOCK |
 					  DRM_MODE_PAGE_FLIP_EVENT, &data);
 		while (!got_all_page_flips(&data)) {
 			ret = poll(&pfd, 1, 1000);
@@ -426,6 +424,6 @@ igt_main
 		free(data.conns);
 		close(data.drm_fd);
 		kmstest_restore_vt_mode();
-		igt_display_fini(data.display);
+		igt_display_fini(&data.display);
 	}
 }
-- 
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] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 3/5] tests/kms_tiled_display: Limit the difference in the timestamps to one scanline
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 2/5] tests/kms_tiled_display: Replace the igt_display pointer with a struct Ville Syrjala
@ 2020-03-13 16:11 ` Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 4/5] lib/edid: Add support for making DisplayID tile blocks Ville Syrjala
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-03-13 16:11 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The 10 usec limit is rather abitrary. Let's choose another (perhaps a
bit less) arbitrary value of single scanline. The timestamp could be off
by some significant fraction of a scanline anyway since that's often the
precision the hardware gives us for tracking the scanout position.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_tiled_display.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index 0671ac6c2249..66b5944e0158 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -59,6 +59,7 @@ typedef struct {
 	data_connector_t *conns;
 	enum igt_commit_style commit;
 	struct timeval first_ts;
+	int linetime_us;
 } data_t;
 
 static int drm_property_is_tile(drmModePropertyPtr prop)
@@ -200,6 +201,11 @@ static void test_cleanup(data_t *data)
 	memset(conns, 0, sizeof(data_connector_t) * data->num_h_tiles);
 }
 
+static int mode_linetime_us(const drmModeModeInfo *mode)
+{
+	return 1000 * mode->htotal / mode->clock;
+}
+
 static void setup_mode(data_t *data)
 {
 	int count = 0, prev = 0, i = 0;
@@ -256,6 +262,7 @@ static void setup_mode(data_t *data)
 		}
 		igt_require(found);
 		igt_output_override_mode(output, mode);
+		data->linetime_us = mode_linetime_us(mode);
 	}
 	igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET,
 				  NULL);
@@ -323,6 +330,11 @@ static data_connector_t *conn_for_crtc(data_t *data, unsigned int crtc_id)
 	return NULL;
 }
 
+static float timeval_float(const struct timeval *tv)
+{
+	return tv->tv_sec + tv->tv_usec / 1000000.0f;
+}
+
 static void page_flip_handler(int fd, unsigned int seq,
 			      unsigned int tv_sec, unsigned int tv_usec,
 			      unsigned int crtc_id, void *_data)
@@ -345,8 +357,8 @@ static void page_flip_handler(int fd, unsigned int seq,
 	igt_assert_f(!conn->got_page_flip, "Got two page-flips for CRTC %u\n",
 		     crtc_id);
 
-	igt_debug("Page Flip Event received from CRTC:%d at %u:%u\n", crtc_id,
-		  tv_sec, tv_usec);
+	igt_debug("Page Flip Event received from CRTC:%d at %.6f\n",
+		  crtc_id, timeval_float(&current_ts));
 
 	conn->got_page_flip = true;
 
@@ -354,11 +366,12 @@ static void page_flip_handler(int fd, unsigned int seq,
 	usec = diff.tv_sec * 1000000 + diff.tv_usec;
 
 	/*
-	 * For seamless tear-free display, the page flip event timestamps
-	 * from all the tiles should not differ by more than 10us.
+	 * We arbitrarily choose to say that the difference
+	 * should be no more than a single scanline.
 	 */
-	igt_fail_on_f(labs(usec) >= 10, "Delayed page flip event from CRTC:%d at %u:%u\n",
-		      crtc_id, tv_sec, tv_usec);
+	igt_fail_on_f(labs(usec) > data->linetime_us,
+		      "Mistimed page flip event from CRTC:%d at %.6f (diff %ld usec, max %d usec)\n",
+		      crtc_id, timeval_float(&current_ts), usec, data->linetime_us);
 }
 
 static bool got_all_page_flips(data_t *data)
-- 
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] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 4/5] lib/edid: Add support for making DisplayID tile blocks
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 2/5] tests/kms_tiled_display: Replace the igt_display pointer with a struct Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 3/5] tests/kms_tiled_display: Limit the difference in the timestamps to one scanline Ville Syrjala
@ 2020-03-13 16:11 ` Ville Syrjala
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_tiled_display: Override the EDID to fake some tiles Ville Syrjala
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-03-13 16:11 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We want to test tiled display support without actually having tiled
displays. To that end we will want to construct fake tile infromation
and append it to the EDID.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 lib/igt_edid.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
 lib/igt_edid.h | 49 +++++++++++++++++++++++++++++++
 2 files changed, 128 insertions(+)

diff --git a/lib/igt_edid.c b/lib/igt_edid.c
index 1c85486df11b..d1ca3916443d 100644
--- a/lib/igt_edid.c
+++ b/lib/igt_edid.c
@@ -313,6 +313,10 @@ void edid_update_checksum(struct edid *edid)
 			ext->data.cea.checksum =
 				compute_checksum((uint8_t *) ext,
 						 sizeof(struct edid_ext));
+		if (ext->tag == EDID_EXT_DISPID)
+			ext->data.dispid.checksum =
+				compute_checksum((uint8_t *) ext,
+						 sizeof(struct edid_dispid));
 	}
 }
 
@@ -477,3 +481,78 @@ void edid_ext_set_cea(struct edid_ext *ext, size_t data_blocks_size,
 	cea->dtd_start = 4 + data_blocks_size;
 	cea->misc = flags | num_native_dtds;
 }
+
+void *dispid_block_tiled(void *ptr,
+			 int num_htiles, int num_vtiles,
+			 int htile, int vtile,
+			 int hsize, int vsize,
+			 const char *topology_id)
+{
+	struct dispid_block_header *block = ptr;
+	struct dispid_tiled_block *tiled = (void*)(block + 1);
+
+	block->tag = 0x12;
+	block->rev = 0;
+	block->num_bytes = sizeof(*tiled);
+
+	num_htiles--;
+	num_vtiles--;
+	hsize--;
+	vsize--;
+
+	tiled->tile_caps =
+		DISPID_MULTI_TILE_AT_TILE_LOCATION |
+		DISPID_SINGLE_TILE_AT_TILE_LOCATION;
+
+	tiled->topo[0] = (num_htiles & 0xf) << 4 |
+		(num_vtiles & 0xf) << 0;
+
+	tiled->topo[1] = (htile & 0xf) << 4 |
+		(vtile & 0xf) << 0;
+
+	tiled->topo[2] = (num_htiles >> 4) << 6 |
+		(num_vtiles >> 4) << 4 |
+		(htile >> 4) << 2 |
+		(vtile >> 4) << 0;
+
+	tiled->tile_size[0] = hsize;
+	tiled->tile_size[1] = hsize >> 8;
+	tiled->tile_size[2] = vsize;
+	tiled->tile_size[3] = vsize >> 8;
+
+	strncpy((char *)tiled->topology_id, topology_id,
+		sizeof(tiled->topology_id));
+
+	return tiled + 1;
+}
+
+void *edid_ext_dispid(struct edid_ext *ext)
+{
+	struct edid_dispid *dispid = &ext->data.dispid;
+
+	ext->tag = EDID_EXT_DISPID;
+
+	return dispid;
+}
+
+void *dispid_init(void *ptr)
+{
+	struct dispid_header *dispid = ptr;
+
+	dispid->rev = 0x10;
+	dispid->prod_id = 0x3;
+	dispid->ext_count = 0;
+
+	return dispid + 1;
+}
+
+void *dispid_done(struct dispid_header *dispid, void *ptr)
+{
+	int bytes = ptr - (void *)dispid;
+
+	dispid->num_bytes = bytes - sizeof(*dispid);
+
+	*(uint8_t *)ptr = compute_checksum((void*)dispid, bytes + 1);
+
+	return ptr + 1;
+}
diff --git a/lib/igt_edid.h b/lib/igt_edid.h
index 59b47a977fe3..8e74052f54ab 100644
--- a/lib/igt_edid.h
+++ b/lib/igt_edid.h
@@ -302,14 +302,54 @@ struct edid_cea {
 	uint8_t checksum;
 } __attribute__((packed));
 
+enum dispid_tile_caps {
+	DISPID_SINGLE_PHYSICAL_ENCLOSURE = 1 << 7,
+	DISPID_BEZEL_INFORMATION_PRESENT = 1 << 6,
+	DISPID_MULTI_TILE_UNKNOWN = 0 << 3,
+	DISPID_MULTI_TILE_AT_TILE_LOCATION = 1 << 3,
+	DISPID_SINGLE_TILE_UNKNOWN = 1 << 0,
+	DISPID_SINGLE_TILE_AT_TILE_LOCATION = 1 << 0,
+	DISPID_SINGLE_TILE_SCALED_FULLSCREEN = 2 << 0,
+	DISPID_SINGLE_TILE_CLONED_TO_ALL_TILES = 3 << 0,
+};
+
+struct dispid_header {
+	uint8_t rev;
+	uint8_t num_bytes;
+	uint8_t prod_id;
+	uint8_t ext_count;
+} __attribute__((packed));
+
+struct dispid_block_header {
+	uint8_t tag;
+	uint8_t rev;
+	uint8_t num_bytes;
+} __attribute__((packed));
+
+struct dispid_tiled_block {
+	uint8_t tile_caps;
+	uint8_t topo[3];
+	uint8_t tile_size[4];
+	uint8_t tile_pixel_bezel[5];
+	uint8_t topology_id[9];
+} __attribute__((packed));
+
+struct edid_dispid {
+	struct dispid_header header;
+	char data[122];
+	uint8_t checksum;
+} __attribute__((packed));
+
 enum edid_ext_tag {
 	EDID_EXT_CEA = 0x02,
+	EDID_EXT_DISPID = 0x70,
 };
 
 struct edid_ext {
 	uint8_t tag; /* enum edid_ext_tag */
 	union {
 		struct edid_cea cea;
+		struct edid_dispid dispid;
 	} data;
 } __attribute__((packed));
 
@@ -383,4 +423,13 @@ size_t edid_cea_data_block_set_speaker_alloc(struct edid_cea_data_block *block,
 void edid_ext_set_cea(struct edid_ext *ext, size_t data_blocks_size,
 		      uint8_t num_native_dtds, uint8_t flags);
 
+void *edid_ext_dispid(struct edid_ext *ext);
+void *dispid_init(void *ptr);
+void *dispid_done(struct dispid_header *dispid, void *ptr);
+void *dispid_block_tiled(void *ptr,
+			 int num_htiles, int num_vtiles,
+			 int htile, int vtile,
+			 int hsize, int vsize,
+			 const char *topology_id);
+
 #endif
-- 
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] 7+ messages in thread

* [igt-dev] [PATCH i-g-t 5/5] tests/kms_tiled_display: Override the EDID to fake some tiles
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
                   ` (2 preceding siblings ...)
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 4/5] lib/edid: Add support for making DisplayID tile blocks Ville Syrjala
@ 2020-03-13 16:11 ` Ville Syrjala
  2020-03-13 17:11 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff Patchwork
  2020-03-13 23:10 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Ville Syrjala @ 2020-03-13 16:11 UTC (permalink / raw)
  To: igt-dev

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pretend we have a tiled display if we don't actually have one.

We don't actually know whether the kernel will sync up the displays,
but let's assume it does.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_tiled_display.c | 127 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 124 insertions(+), 3 deletions(-)

diff --git a/tests/kms_tiled_display.c b/tests/kms_tiled_display.c
index 66b5944e0158..7a37e12b655d 100644
--- a/tests/kms_tiled_display.c
+++ b/tests/kms_tiled_display.c
@@ -40,6 +40,7 @@
 #include "poll.h"
 #include "drm_mode.h"
 #include "drm_fourcc.h"
+#include "igt_edid.h"
 
 IGT_TEST_DESCRIPTION("Test for genlocked CRTCs with tiled displays");
 
@@ -110,8 +111,8 @@ static void get_number_of_h_tiles(data_t *data)
 	for (int i = 0; !data->num_h_tiles && i < res->count_connectors; i++) {
 		drmModeConnectorPtr connector;
 
-		connector = drmModeGetConnectorCurrent(data->drm_fd,
-						       res->connectors[i]);
+		connector = drmModeGetConnector(data->drm_fd,
+						res->connectors[i]);
 		igt_assert(connector);
 
 		if (connector->connection == DRM_MODE_CONNECTED) {
@@ -386,6 +387,119 @@ static bool got_all_page_flips(data_t *data)
 	return true;
 }
 
+static void edid_fill_tile_block(struct edid_ext *ext,
+				 int tile, int num_tiles,
+				 int hdisplay, int vdisplay)
+{
+	struct dispid_header *dispid;
+	void *ptr;
+
+	dispid = ptr = edid_ext_dispid(ext);
+
+	ptr = dispid_init(ptr);
+	ptr = dispid_block_tiled(ptr, num_tiles, 1,
+				 tile, 0,
+				 hdisplay, vdisplay,
+				 "IGT-TILES");
+	ptr = dispid_done(dispid, ptr);
+}
+
+static struct edid *
+edid_with_tile(const struct edid *old_edid,
+	       const drmModeModeInfo *mode,
+	       int tile, int num_tiles)
+{
+	struct edid *edid = malloc(edid_get_size(old_edid) + EDID_BLOCK_SIZE);
+
+	memcpy(edid, old_edid, edid_get_size(old_edid));
+	edid->extensions_len++;
+
+	edid_fill_tile_block((struct edid_ext *)&edid[edid->extensions_len],
+			     tile, num_tiles, mode->hdisplay, mode->vdisplay);
+
+	edid_update_checksum(edid);
+
+	return edid;
+}
+
+static void force_edid_with_tile(data_t *data,
+				 igt_output_t *output,
+				 const drmModeModeInfo *mode,
+				 int tile, int num_tiles)
+{
+	struct edid *edid;
+	drmModePropertyBlobPtr blob;
+	uint64_t blob_id;
+
+	kmstest_get_property(data->drm_fd, output->id,
+			     DRM_MODE_OBJECT_CONNECTOR, "EDID",
+			     NULL, &blob_id, NULL);
+
+	blob = drmModeGetPropertyBlob(data->drm_fd, blob_id);
+	edid = edid_with_tile(blob->data, mode, tile, num_tiles);
+	drmModeFreePropertyBlob(blob);
+
+	kmstest_force_edid(data->drm_fd, output->config.connector, edid);
+
+	free(edid);
+}
+
+static bool mode_equal(const drmModeModeInfo *a,
+		       const drmModeModeInfo *b)
+{
+	return a->hdisplay == b->hdisplay &&
+		a->hsync_start == b->hsync_start &&
+		a->hsync_end == b->hsync_end &&
+		a->htotal == b->htotal &&
+		a->vdisplay == b->vdisplay &&
+		a->vsync_start == b->vsync_start &&
+		a->vsync_end == b->vsync_end &&
+		a->vtotal == b->vtotal &&
+		a->clock == b->clock &&
+		a->flags == b->flags &&
+		a->hskew == b->hskew &&
+		a->vscan == b->vscan;
+}
+
+static void override_edid(data_t *data)
+{
+	drmModeModeInfo common_mode = {};
+	igt_output_t *outputs[8] = {};
+	igt_output_t *output;
+	int num_outputs = 0;
+	int num_tiles = 0;
+	drmModeResPtr res;
+
+	igt_require(data->display.n_pipes >= 2);
+
+	for_each_connected_output(&data->display, output) {
+		drmModeModeInfo *mode = igt_output_get_mode(output);
+
+		if (!common_mode.hdisplay)
+			common_mode = *mode;
+
+		if (mode_equal(&common_mode, mode)) {
+			outputs[num_outputs] = output;
+			if (++num_outputs >= ARRAY_SIZE(outputs))
+				break;
+		}
+	}
+
+	igt_require(num_outputs >= 2);
+
+	num_tiles = min(num_outputs, data->display.n_pipes);
+
+	/* disable everything so that we are sure to get a full modeset */
+	res = drmModeGetResources(data->drm_fd);
+	igt_require(res);
+	kmstest_unset_all_crtcs(data->drm_fd, res);
+	drmModeFreeResources(res);
+
+	for (int i = 0; i < num_tiles; i++)
+		force_edid_with_tile(data, outputs[i],
+				     &common_mode, i, num_tiles);
+}
+
 igt_main
 {
 	data_t data = {0};
@@ -408,7 +522,14 @@ igt_main
 		igt_require(data.commit == COMMIT_ATOMIC);
 
 		get_number_of_h_tiles(&data);
-		igt_debug("Number of Horizontal Tiles: %d\n", data.num_h_tiles);
+		igt_debug("Number of real horizontal tiles: %d\n", data.num_h_tiles);
+
+		if (data.num_h_tiles == 0) {
+			override_edid(&data);
+			get_number_of_h_tiles(&data);
+
+			igt_debug("Number of fake horizontal tiles: %d\n", data.num_h_tiles);
+		}
 		igt_require(data.num_h_tiles > 0);
 		data.conns = calloc(data.num_h_tiles, sizeof(data_connector_t));
 	}
-- 
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] 7+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
                   ` (3 preceding siblings ...)
  2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_tiled_display: Override the EDID to fake some tiles Ville Syrjala
@ 2020-03-13 17:11 ` Patchwork
  2020-03-13 23:10 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-03-13 17:11 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff
URL   : https://patchwork.freedesktop.org/series/74687/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8135 -> IGTPW_4303
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@execlists:
    - fi-apl-guc:         [PASS][1] -> [INCOMPLETE][2] ([fdo#103927] / [i915#656])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-apl-guc/igt@i915_selftest@live@execlists.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-apl-guc/igt@i915_selftest@live@execlists.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@execlists:
    - fi-icl-dsi:         [DMESG-FAIL][3] ([fdo#108569]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-icl-dsi/igt@i915_selftest@live@execlists.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-icl-dsi/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gem_contexts:
    - fi-cfl-8700k:       [INCOMPLETE][5] ([i915#424]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-cfl-8700k/igt@i915_selftest@live@gem_contexts.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-cfl-8700k/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@hangcheck:
    - fi-ivb-3770:        [INCOMPLETE][7] ([i915#1405]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [FAIL][9] ([fdo#111407]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - fi-bsw-n3050:       [FAIL][11] ([i915#34]) -> [PASS][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/fi-bsw-n3050/igt@kms_flip@basic-flip-vs-wf_vblank.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/fi-bsw-n3050/igt@kms_flip@basic-flip-vs-wf_vblank.html

  
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
  [i915#1405]: https://gitlab.freedesktop.org/drm/intel/issues/1405
  [i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34
  [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656


Participating hosts (39 -> 44)
------------------------------

  Additional (11): fi-kbl-7560u fi-tgl-dsi fi-byt-j1900 fi-hsw-peppy fi-glk-dsi fi-snb-2520m fi-ilk-650 fi-gdg-551 fi-bsw-kefka fi-blb-e6850 fi-snb-2600 
  Missing    (6): fi-hsw-4200u fi-skl-6770hq fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5508 -> IGTPW_4303

  CI-20190529: 20190529
  CI_DRM_8135: 17c19ee50a6cbb514b59f9f2d8d7d4f088a56300 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4303: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/index.html
  IGT_5508: 89d644600a1a9f08794cc7106b63758df40ce1d8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_tiled_display@basic-test-pattern
-igt@kms_dp_tiled_display@basic-test-pattern

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff
  2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
                   ` (4 preceding siblings ...)
  2020-03-13 17:11 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff Patchwork
@ 2020-03-13 23:10 ` Patchwork
  5 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2020-03-13 23:10 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff
URL   : https://patchwork.freedesktop.org/series/74687/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8135_full -> IGTPW_4303_full
====================================================

Summary
-------

  **FAILURE**

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_set_tiling_vs_gtt:
    - shard-hsw:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw4/igt@gem_set_tiling_vs_gtt.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw6/igt@gem_set_tiling_vs_gtt.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-kbl:          [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl6/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl3/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * {igt@kms_tiled_display@basic-test-pattern} (NEW):
    - shard-tglb:         NOTRUN -> [SKIP][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb2/igt@kms_tiled_display@basic-test-pattern.html
    - shard-iclb:         NOTRUN -> [SKIP][6]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb8/igt@kms_tiled_display@basic-test-pattern.html

  
#### Warnings ####

  * igt@runner@aborted:
    - shard-hsw:          ([FAIL][7], [FAIL][8], [FAIL][9], [FAIL][10], [FAIL][11], [FAIL][12], [FAIL][13]) ([fdo#111870]) -> ([FAIL][14], [FAIL][15], [FAIL][16], [FAIL][17], [FAIL][18], [FAIL][19], [FAIL][20], [FAIL][21]) ([fdo#111870] / [i915#478])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw6/igt@runner@aborted.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw5/igt@runner@aborted.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw6/igt@runner@aborted.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw1/igt@runner@aborted.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw7/igt@runner@aborted.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw2/igt@runner@aborted.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw5/igt@runner@aborted.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw1/igt@runner@aborted.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw5/igt@runner@aborted.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw6/igt@runner@aborted.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw7/igt@runner@aborted.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw7/igt@runner@aborted.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw4/igt@runner@aborted.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw4/igt@runner@aborted.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw4/igt@runner@aborted.html

  
New tests
---------

  New tests have been introduced between CI_DRM_8135_full and IGTPW_4303_full:

### New IGT tests (1) ###

  * igt@kms_tiled_display@basic-test-pattern:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@vecs0-s3:
    - shard-apl:          [PASS][22] -> [DMESG-WARN][23] ([i915#180]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl1/igt@gem_ctx_isolation@vecs0-s3.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl1/igt@gem_ctx_isolation@vecs0-s3.html

  * igt@gem_exec_parallel@fds:
    - shard-glk:          [PASS][24] -> [INCOMPLETE][25] ([i915#58] / [k.org#198133])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-glk1/igt@gem_exec_parallel@fds.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-glk9/igt@gem_exec_parallel@fds.html

  * igt@gem_exec_reloc@basic-gtt-noreloc:
    - shard-hsw:          [PASS][26] -> [DMESG-WARN][27] ([i915#478])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw1/igt@gem_exec_reloc@basic-gtt-noreloc.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw7/igt@gem_exec_reloc@basic-gtt-noreloc.html

  * igt@gem_exec_schedule@implicit-read-write-bsd1:
    - shard-iclb:         [PASS][28] -> [SKIP][29] ([fdo#109276] / [i915#677]) +2 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb1/igt@gem_exec_schedule@implicit-read-write-bsd1.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb8/igt@gem_exec_schedule@implicit-read-write-bsd1.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][30] -> [SKIP][31] ([fdo#112146]) +5 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb5/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb2/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_exec_whisper@basic-fds-all:
    - shard-tglb:         [PASS][32] -> [INCOMPLETE][33] ([i915#1401])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb3/igt@gem_exec_whisper@basic-fds-all.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb5/igt@gem_exec_whisper@basic-fds-all.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-iclb:         [PASS][34] -> [SKIP][35] ([i915#1316])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb4/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb1/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
    - shard-tglb:         [PASS][36] -> [SKIP][37] ([i915#1316])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb3/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb1/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@i915_pm_rps@waitboost:
    - shard-iclb:         [PASS][38] -> [FAIL][39] ([i915#413])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb1/igt@i915_pm_rps@waitboost.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb4/igt@i915_pm_rps@waitboost.html

  * igt@i915_selftest@live@execlists:
    - shard-glk:          [PASS][40] -> [INCOMPLETE][41] ([i915#58] / [i915#656] / [k.org#198133])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-glk4/igt@i915_selftest@live@execlists.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-glk7/igt@i915_selftest@live@execlists.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x42-onscreen:
    - shard-apl:          [PASS][42] -> [FAIL][43] ([i915#54])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl3/igt@kms_cursor_crc@pipe-a-cursor-128x42-onscreen.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-128x42-onscreen.html
    - shard-kbl:          [PASS][44] -> [FAIL][45] ([i915#54])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-128x42-onscreen.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-128x42-onscreen.html

  * igt@kms_flip@dpms-off-confusion-interruptible:
    - shard-kbl:          [PASS][46] -> [DMESG-WARN][47] ([i915#1297])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl3/igt@kms_flip@dpms-off-confusion-interruptible.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl6/igt@kms_flip@dpms-off-confusion-interruptible.html
    - shard-apl:          [PASS][48] -> [DMESG-WARN][49] ([i915#1297])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl4/igt@kms_flip@dpms-off-confusion-interruptible.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl3/igt@kms_flip@dpms-off-confusion-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-snb:          [PASS][50] -> [DMESG-WARN][51] ([i915#42])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-snb6/igt@kms_flip@flip-vs-suspend.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-snb4/igt@kms_flip@flip-vs-suspend.html
    - shard-kbl:          [PASS][52] -> [DMESG-WARN][53] ([i915#180])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl7/igt@kms_flip@flip-vs-suspend.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-apl:          [PASS][54] -> [INCOMPLETE][55] ([fdo#103927])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl7/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl4/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-iclb:         [PASS][56] -> [SKIP][57] ([fdo#109441])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb3/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm:
    - shard-tglb:         [PASS][58] -> [SKIP][59] ([fdo#112015])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb6/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb1/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-hsw:          [PASS][60] -> [SKIP][61] ([fdo#109271])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw7/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw1/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-iclb:         [PASS][62] -> [SKIP][63] ([fdo#109278])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb8/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb1/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-glk:          [PASS][64] -> [SKIP][65] ([fdo#109271])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-glk4/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-glk6/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-kbl:          [PASS][66] -> [INCOMPLETE][67] ([i915#794])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl2/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl3/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  * igt@perf@gen12-mi-rpc:
    - shard-tglb:         [PASS][68] -> [FAIL][69] ([i915#1085])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb2/igt@perf@gen12-mi-rpc.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb1/igt@perf@gen12-mi-rpc.html

  * igt@perf_pmu@busy-check-all-vcs1:
    - shard-iclb:         [PASS][70] -> [SKIP][71] ([fdo#112080]) +9 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb1/igt@perf_pmu@busy-check-all-vcs1.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb3/igt@perf_pmu@busy-check-all-vcs1.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [PASS][72] -> [SKIP][73] ([fdo#109276]) +19 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb8/igt@prime_vgem@fence-wait-bsd2.html

  
#### Possible fixes ####

  * igt@gem_ctx_persistence@close-replace-race:
    - shard-iclb:         [INCOMPLETE][74] ([i915#1402]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb2/igt@gem_ctx_persistence@close-replace-race.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb3/igt@gem_ctx_persistence@close-replace-race.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][76] ([fdo#110854]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb7/igt@gem_exec_balancer@smoke.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb4/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@implicit-both-bsd1:
    - shard-iclb:         [SKIP][78] ([fdo#109276] / [i915#677]) -> [PASS][79] +2 similar issues
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb8/igt@gem_exec_schedule@implicit-both-bsd1.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb1/igt@gem_exec_schedule@implicit-both-bsd1.html

  * igt@gem_exec_schedule@implicit-read-write-bsd:
    - shard-iclb:         [SKIP][80] ([i915#677]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb2/igt@gem_exec_schedule@implicit-read-write-bsd.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb3/igt@gem_exec_schedule@implicit-read-write-bsd.html

  * igt@gem_exec_schedule@preemptive-hang-bsd:
    - shard-iclb:         [SKIP][82] ([fdo#112146]) -> [PASS][83] +4 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb5/igt@gem_exec_schedule@preemptive-hang-bsd.html

  * igt@gem_userptr_blits@sync-unmap-after-close:
    - shard-hsw:          [DMESG-WARN][84] ([fdo#111870]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw5/igt@gem_userptr_blits@sync-unmap-after-close.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw6/igt@gem_userptr_blits@sync-unmap-after-close.html

  * igt@i915_hangman@error-state-capture-vcs1:
    - shard-iclb:         [SKIP][86] ([fdo#112080]) -> [PASS][87] +6 similar issues
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb7/igt@i915_hangman@error-state-capture-vcs1.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb2/igt@i915_hangman@error-state-capture-vcs1.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-iclb:         [FAIL][88] ([i915#454]) -> [PASS][89] +1 similar issue
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb6/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rps@reset:
    - shard-iclb:         [FAIL][90] ([i915#413]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb2/igt@i915_pm_rps@reset.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb1/igt@i915_pm_rps@reset.html

  * igt@kms_color@pipe-b-degamma:
    - shard-kbl:          [FAIL][92] ([i915#71]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl4/igt@kms_color@pipe-b-degamma.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl2/igt@kms_color@pipe-b-degamma.html
    - shard-apl:          [FAIL][94] ([i915#71]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl2/igt@kms_color@pipe-b-degamma.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl3/igt@kms_color@pipe-b-degamma.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-iclb:         [FAIL][96] ([IGT#5]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb8/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb8/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][98] ([i915#180]) -> [PASS][99] +1 similar issue
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
    - shard-glk:          [FAIL][100] ([i915#899]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-glk4/igt@kms_plane_lowres@pipe-a-tiling-x.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-glk6/igt@kms_plane_lowres@pipe-a-tiling-x.html

  * igt@kms_psr@psr2_basic:
    - shard-iclb:         [SKIP][102] ([fdo#109441]) -> [PASS][103] +1 similar issue
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb8/igt@kms_psr@psr2_basic.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb2/igt@kms_psr@psr2_basic.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][104] ([i915#31]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl3/igt@kms_setmode@basic.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl6/igt@kms_setmode@basic.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][106] ([fdo#109276]) -> [PASS][107] +19 similar issues
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb6/igt@prime_busy@hang-bsd2.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb4/igt@prime_busy@hang-bsd2.html

  
#### Warnings ####

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-snb:          [DMESG-WARN][108] ([fdo#110789] / [fdo#111870] / [i915#478]) -> [DMESG-WARN][109] ([fdo#111870] / [i915#478])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-snb2/igt@gem_userptr_blits@dmabuf-sync.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-snb2/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-hsw:          [DMESG-WARN][110] ([fdo#110789] / [fdo#111870]) -> [DMESG-WARN][111] ([fdo#111870])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-hsw5/igt@gem_userptr_blits@dmabuf-sync.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-hsw5/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglb:         [SKIP][112] ([i915#468]) -> [FAIL][113] ([i915#454])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb5/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-tglb:         [FAIL][114] ([i915#454]) -> [SKIP][115] ([i915#468])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb3/igt@i915_pm_dc@dc6-psr.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb2/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         [SKIP][116] ([i915#1316]) -> [SKIP][117] ([fdo#109506])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-tglb1/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-tglb6/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
    - shard-iclb:         [SKIP][118] ([i915#1316]) -> [SKIP][119] ([fdo#109293] / [fdo#109506])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-iclb3/igt@i915_pm_rpm@modeset-pc8-residency-stress.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-iclb4/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
    - shard-glk:          [FAIL][120] ([i915#133]) -> [FAIL][121] ([i915#117] / [i915#133])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-glk9/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-glk6/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][122], [FAIL][123]) ([i915#1389] / [i915#1402] / [i915#92]) -> [FAIL][124] ([i915#1389] / [i915#1402])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl6/igt@runner@aborted.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-kbl1/igt@runner@aborted.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-kbl4/igt@runner@aborted.html
    - shard-apl:          ([FAIL][125], [FAIL][126]) ([fdo#103927] / [i915#1402]) -> [FAIL][127] ([i915#1402])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl7/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8135/shard-apl8/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/shard-apl6/igt@runner@aborted.html

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

  [IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
  [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
  [i915#1085]: https://gitlab.freedesktop.org/drm/intel/issues/1085
  [i915#117]: https://gitlab.freedesktop.org/drm/intel/issues/117
  [i915#1297]: https://gitlab.freedesktop.org/drm/intel/issues/1297
  [i915#1316]: https://gitlab.freedesktop.org/drm/intel/issues/1316
  [i915#133]: https://gitlab.freedesktop.org/drm/intel/issues/133
  [i915#1389]: https://gitlab.freedesktop.org/drm/intel/issues/1389
  [i915#1401]: https://gitlab.freedesktop.org/drm/intel/issues/1401
  [i915#1402]: https://gitlab.freedesktop.org/drm/intel/issues/1402
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
  [i915#42]: https://gitlab.freedesktop.org/drm/intel/issues/42
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
  [i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#71]: https://gitlab.freedesktop.org/drm/intel/issues/71
  [i915#794]: https://gitlab.freedesktop.org/drm/intel/issues/794
  [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


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

  Missing    (2): pig-skl-6260u pig-glk-j5005 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5508 -> IGTPW_4303
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_8135: 17c19ee50a6cbb514b59f9f2d8d7d4f088a56300 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4303: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/index.html
  IGT_5508: 89d644600a1a9f08794cc7106b63758df40ce1d8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4303/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

end of thread, other threads:[~2020-03-13 23:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-13 16:11 [igt-dev] [PATCH i-g-t 1/5] tests/kms_tiled_display: Get rid of DP stuff Ville Syrjala
2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 2/5] tests/kms_tiled_display: Replace the igt_display pointer with a struct Ville Syrjala
2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 3/5] tests/kms_tiled_display: Limit the difference in the timestamps to one scanline Ville Syrjala
2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 4/5] lib/edid: Add support for making DisplayID tile blocks Ville Syrjala
2020-03-13 16:11 ` [igt-dev] [PATCH i-g-t 5/5] tests/kms_tiled_display: Override the EDID to fake some tiles Ville Syrjala
2020-03-13 17:11 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/5] tests/kms_tiled_display: Get rid of DP stuff Patchwork
2020-03-13 23:10 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

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