All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC
@ 2020-03-31 12:38 Arkadiusz Hiler
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 1/4] lib/kms: Commit reasonable defaults on display init Arkadiusz Hiler
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-03-31 12:38 UTC (permalink / raw)
  To: igt-dev

With DP over TypeC there is a behavior change - now we need to disable the mode
for our connector to get any hotplug events from it.

Imre is working on making the kernel side changes[0] to make TypeC behave same a
a native DP but he is hitting issues with DDI timeouts[1]. Anyway, the new
behavior is not entirely wrong either.

The fallout when testing with chamelium (this includes all the kms_ tests where
chamelium is used as a simple display) is quite extensive. We get a lot of flip
flopping skips and straight up failures because the displays are not getting
recognized.

Regular userspace, on the other hand, issues disabling modeset each time we get
a disconnect so we don't see any similar in the wild - this series makes our
tests mimic that common behavior - we always start with disalbed modes and up to
date connector state.

To not loose any coverage I have also added test that verifies hotplugs
while stuck with enabled mode explicitly.

[0]: https://patchwork.freedesktop.org/series/75027/
[1]: https://gitlab.freedesktop.org/drm/intel/-/issues/1069

Arkadiusz Hiler (4):
  lib/kms: Commit reasonable defaults on display init
  lib/kms: Reprobe connector state after disabling modest
  tests/kms_chamelium: Issue disabling modeset when resetting state
  tests/kms_chamelium: Test HPD for different mode handling scenarios

 lib/igt_kms.c         |  28 +++-
 tests/kms_chamelium.c | 294 ++++++++++++++++++++++++++++--------------
 2 files changed, 219 insertions(+), 103 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] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 1/4] lib/kms: Commit reasonable defaults on display init
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
@ 2020-03-31 12:38 ` Arkadiusz Hiler
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest Arkadiusz Hiler
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-03-31 12:38 UTC (permalink / raw)
  To: igt-dev

We often end up with a leftover state from fbcon with a mode enabled on
some of the connecters. Let's clean that up.

Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/igt_kms.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 7f9fafb3..796da1fb 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2066,6 +2066,10 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	/* Set reasonable default values for every object in the display. */
 	igt_display_reset(display);
 
+	/* Commit those resonable defaults to clean up fbcon/etc leftover state */
+	igt_display_commit2(display,
+			    display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+
 out:
 	LOG_UNINDENT(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] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 1/4] lib/kms: Commit reasonable defaults on display init Arkadiusz Hiler
@ 2020-03-31 12:38 ` Arkadiusz Hiler
  2020-04-02 14:53   ` Imre Deak
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state Arkadiusz Hiler
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-03-31 12:38 UTC (permalink / raw)
  To: igt-dev

With TypeC we don't always get hotplug events for a connector until the
mode is disabled.

Cc: Imre Deak <imre.deak@intel.com>
Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/igt_kms.c | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 796da1fb..b461818a 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -2040,7 +2040,6 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 
 	for (i = 0; i < display->n_outputs; i++) {
 		igt_output_t *output = &display->outputs[i];
-		drmModeConnector *connector;
 
 		/*
 		 * We don't assign each output a pipe unless
@@ -2051,13 +2050,6 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 		output->display = display;
 
 		igt_output_refresh(output);
-
-		connector = output->config.connector;
-		if (connector && (!connector->count_modes ||
-		    connector->connection == DRM_MODE_UNKNOWNCONNECTION)) {
-			output->force_reprobe = true;
-			igt_output_refresh(output);
-		}
 	}
 
 	drmModeFreePlaneResources(plane_resources);
@@ -2070,6 +2062,25 @@ void igt_display_require(igt_display_t *display, int drm_fd)
 	igt_display_commit2(display,
 			    display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
 
+	/*
+	 * Let's reprobe all connectors to make sure we have up to date stete.
+	 * Some connectors may require disabling modeset to be detected
+	 * correctly.
+	 */
+	for (i = 0; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+		drmModeConnector *connector;
+
+		igt_output_refresh(output);
+
+		connector = output->config.connector;
+		if (connector && (!connector->count_modes ||
+		    connector->connection == DRM_MODE_UNKNOWNCONNECTION)) {
+			output->force_reprobe = true;
+			igt_output_refresh(output);
+		}
+	}
+
 out:
 	LOG_UNINDENT(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] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 1/4] lib/kms: Commit reasonable defaults on display init Arkadiusz Hiler
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest Arkadiusz Hiler
@ 2020-03-31 12:38 ` Arkadiusz Hiler
  2020-04-02  3:28   ` Kunal Joshi
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios Arkadiusz Hiler
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-03-31 12:38 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

Each tests resets the state to be sure it starts with a clean slate.
Let's add disabling modeset to the pile, to be sure that we get the
hotplug events and the connector state is correct.

Cc: Kunal Joshi <kunal1.joshi@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 tests/kms_chamelium.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 08abd961..236e1010 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -273,7 +273,14 @@ check_analog_bridge(data_t *data, struct chamelium_port *port)
 static void
 reset_state(data_t *data, struct chamelium_port *port)
 {
-	int p;
+	int p, i;
+
+	for (i = 0; i < data->display.n_outputs; i++) {
+		igt_output_t *output = &data->display.outputs[i];
+		igt_output_set_pipe(output, PIPE_NONE);
+	}
+
+	igt_display_commit2(&data->display, COMMIT_ATOMIC);
 
 	chamelium_reset(data->chamelium);
 
-- 
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] 14+ messages in thread

* [igt-dev] [PATCH i-g-t 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
                   ` (2 preceding siblings ...)
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state Arkadiusz Hiler
@ 2020-03-31 12:38 ` Arkadiusz Hiler
  2020-04-01 16:29   ` [igt-dev] [PATCH i-g-t v2 " Arkadiusz Hiler
  2020-04-01  2:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-03-31 12:38 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

The default scenario is now performing all hotplugs with modes disabled
on all connectors. This is the quickest of the tests and represents
userspace not caring about the new display (e.g. explicitly disabled).

*-hpd-enable-disable-mode covers the most common userspace behavior
where each hotplug event is accompanied by a corresponding enabling /
disabling commit.

*-hpd-with-enabled-mode explicitly targets the scenario where we have
mode enabled and never disable it as we do hotplugs to reproduce the
issue we see with TypeC connectors for ICL and TGL.

Cc: Kunal Joshi <kunal1.joshi@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 tests/kms_chamelium.c | 285 ++++++++++++++++++++++++++++--------------
 1 file changed, 189 insertions(+), 96 deletions(-)

diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 236e1010..09068da4 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -45,6 +45,12 @@ enum test_edid {
 };
 #define TEST_EDID_COUNT 5
 
+enum test_modeset_mode {
+	TEST_MODESET_ON,
+	TEST_MODESET_ON_OFF,
+	TEST_MODESET_OFF,
+};
+
 typedef struct {
 	struct chamelium *chamelium;
 	struct chamelium_port **ports;
@@ -294,14 +300,127 @@ reset_state(data_t *data, struct chamelium_port *port)
 	}
 }
 
+static void chamelium_paint_xr24_pattern(uint32_t *data,
+					 size_t width, size_t height,
+					 size_t stride, size_t block_size)
+{
+	uint32_t colors[] = { 0xff000000,
+			      0xffff0000,
+			      0xff00ff00,
+			      0xff0000ff,
+			      0xffffffff };
+	unsigned i, j;
+
+	for (i = 0; i < height; i++)
+		for (j = 0; j < width; j++)
+			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
+}
+
+static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
+				    uint32_t fourcc, size_t block_size,
+				    struct igt_fb *fb)
+{
+	int fb_id;
+	void *ptr;
+
+	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
+
+	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
+			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
+	igt_assert(fb_id > 0);
+
+	ptr = igt_fb_map_buffer(fb->fd, fb);
+	igt_assert(ptr);
+
+	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
+				     block_size);
+	igt_fb_unmap_buffer(fb, ptr);
+
+	return fb_id;
+}
+
+static void
+enable_output(data_t *data,
+	      struct chamelium_port *port,
+	      igt_output_t *output,
+	      drmModeModeInfo *mode,
+	      struct igt_fb *fb)
+{
+	igt_display_t *display = output->display;
+	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	drmModeConnector *connector = chamelium_port_get_connector(
+	    data->chamelium, port, false);
+
+	igt_assert(primary);
+
+	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
+	igt_plane_set_fb(primary, fb);
+	igt_output_override_mode(output, mode);
+
+	/* Clear any color correction values that might be enabled */
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
+
+	igt_display_commit2(display, COMMIT_ATOMIC);
+
+	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
+		usleep(250000);
+
+	drmModeFreeConnector(connector);
+}
+
+static enum pipe get_pipe_for_output(igt_display_t *display, igt_output_t *output)
+{
+	enum pipe pipe;
+
+	for_each_pipe(display, pipe) {
+		if (igt_pipe_connector_valid(pipe, output)) {
+			return pipe;
+		}
+	}
+
+	igt_assert_f(false, "No pipe found for output %s\n",
+		     igt_output_name(output));
+}
+
 static const char test_basic_hotplug_desc[] =
 	"Check that we get uevents and updated connector status on "
 	"hotplug and unplug";
 static void
-test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
+test_hotplug(data_t *data, struct chamelium_port *port, int toggle_count,
+	     enum test_modeset_mode modeset_mode)
 {
-	struct udev_monitor *mon = igt_watch_hotplug();
 	int i;
+	enum pipe pipe;
+	struct igt_fb fb = {0};
+	struct udev_monitor *mon = igt_watch_hotplug();
+	drmModeConnector *connector =
+		chamelium_port_get_connector(data->chamelium, port, false);
+	igt_output_t *output = igt_output_from_connector(&data->display,
+							 connector);
+	drmModeModeInfo *mode = &connector->modes[0];
+
+	if (modeset_mode == TEST_MODESET_ON_OFF ||
+	    modeset_mode == TEST_MODESET_ON) {
+		struct igt_fb temp_fb;
+		int temp_fb_id;
+		int fb_id;
+
+		temp_fb_id = chamelium_get_pattern_fb(data, mode->hdisplay, mode->vdisplay,
+						 DRM_FORMAT_XRGB8888, 64, &temp_fb);
+		igt_assert(temp_fb_id > 0);
+
+		fb_id = igt_fb_convert(&fb, &temp_fb, DRM_FORMAT_XRGB8888,
+					  LOCAL_DRM_FORMAT_MOD_NONE);
+		igt_remove_fb(data->drm_fd, &temp_fb);
+		igt_assert(fb_id > 0);
+
+		pipe = get_pipe_for_output(&data->display, output);
+	}
 
 	reset_state(data, NULL);
 	igt_hpd_storm_set_threshold(data->drm_fd, 0);
@@ -316,15 +435,30 @@ test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
 						 DRM_MODE_CONNECTED);
 		igt_flush_hotplugs(mon);
 
+		if (modeset_mode == TEST_MODESET_ON_OFF ||
+		    (modeset_mode == TEST_MODESET_ON && i == 0 )) {
+			igt_output_set_pipe(output, pipe);
+			enable_output(data, port, output, mode, &fb);
+		}
+
 		/* Now check if we get a hotplug from disconnection */
 		chamelium_unplug(data->chamelium, port);
 
 		wait_for_connector_after_hotplug(data, mon, port,
 						 DRM_MODE_DISCONNECTED);
+
+		igt_flush_hotplugs(mon);
+
+		if (modeset_mode == TEST_MODESET_ON_OFF) {
+			igt_output_set_pipe(output, PIPE_NONE);
+			igt_display_commit2(&data->display, COMMIT_ATOMIC);
+		}
 	}
 
 	igt_cleanup_hotplug(mon);
 	igt_hpd_storm_reset(data->drm_fd);
+	igt_remove_fb(data->drm_fd, &fb);
+	drmModeFreeConnector(connector);
 }
 
 static const struct edid *get_edid(enum test_edid edid);
@@ -533,7 +667,6 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
 	drmModeConnector *connector =
 		chamelium_port_get_connector(data->chamelium, port, false);
 	enum pipe pipe;
-	bool found = false;
 
 	/* The chamelium's default EDID has a lot of resolutions, way more then
 	 * we need to test. Additionally the default EDID doesn't support HDMI
@@ -551,16 +684,7 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
 	/* Refresh pipe to update connected status */
 	igt_output_set_pipe(output, PIPE_NONE);
 
-	for_each_pipe(display, pipe) {
-		if (!igt_pipe_connector_valid(pipe, output))
-			continue;
-
-		found = true;
-		break;
-	}
-
-	igt_assert_f(found, "No pipe found for output %s\n", igt_output_name(output));
-
+	pipe = get_pipe_for_output(display, output);
 	igt_output_set_pipe(output, pipe);
 
 	drmModeFreeConnector(connector);
@@ -568,79 +692,6 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
 	return output;
 }
 
-static void
-enable_output(data_t *data,
-	      struct chamelium_port *port,
-	      igt_output_t *output,
-	      drmModeModeInfo *mode,
-	      struct igt_fb *fb)
-{
-	igt_display_t *display = output->display;
-	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-	drmModeConnector *connector = chamelium_port_get_connector(
-	    data->chamelium, port, false);
-
-	igt_assert(primary);
-
-	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
-	igt_plane_set_fb(primary, fb);
-	igt_output_override_mode(output, mode);
-
-	/* Clear any color correction values that might be enabled */
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
-
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
-		usleep(250000);
-
-	drmModeFreeConnector(connector);
-}
-
-static void chamelium_paint_xr24_pattern(uint32_t *data,
-					 size_t width, size_t height,
-					 size_t stride, size_t block_size)
-{
-	uint32_t colors[] = { 0xff000000,
-			      0xffff0000,
-			      0xff00ff00,
-			      0xff0000ff,
-			      0xffffffff };
-	unsigned i, j;
-
-	for (i = 0; i < height; i++)
-		for (j = 0; j < width; j++)
-			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
-}
-
-static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
-				    uint32_t fourcc, size_t block_size,
-				    struct igt_fb *fb)
-{
-	int fb_id;
-	void *ptr;
-
-	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
-
-	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
-			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
-	igt_assert(fb_id > 0);
-
-	ptr = igt_fb_map_buffer(fb->fd, fb);
-	igt_assert(ptr);
-
-	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
-				     block_size);
-	igt_fb_unmap_buffer(fb, ptr);
-
-	return fb_id;
-}
-
 static void do_test_display(data_t *data, struct chamelium_port *port,
 			    igt_output_t *output, drmModeModeInfo *mode,
 			    uint32_t fourcc, enum chamelium_check check,
@@ -2539,13 +2590,27 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd", DisplayPort)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_DP_HDMI);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_DP_HDMI,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd-fast", DisplayPort)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("dp-hpd-enable-disable-mode", DisplayPort)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("dp-hpd-with-enabled-mode", DisplayPort)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("dp-edid-read", DisplayPort) {
@@ -2634,13 +2699,27 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd", HDMIA)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_DP_HDMI);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_DP_HDMI,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd-fast", HDMIA)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-enable-disable-mode", HDMIA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-with-enabled-mode", HDMIA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("hdmi-edid-read", HDMIA) {
@@ -2795,11 +2874,25 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd", VGA)
-			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
+			test_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd-fast", VGA)
-			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-enable-disable-mode", VGA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-with-enabled-mode", VGA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("vga-edid-read", VGA) {
-- 
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] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
                   ` (3 preceding siblings ...)
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios Arkadiusz Hiler
@ 2020-04-01  2:23 ` Patchwork
  2020-04-01 17:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC (rev2) Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-04-01  2:23 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: Chamelium and TypeC
URL   : https://patchwork.freedesktop.org/series/75319/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_8230 -> IGTPW_4383
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_4383 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4383, 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_4383/index.html

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

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

### IGT changes ###

#### Warnings ####

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-kbl-8809g:       [SKIP][1] ([fdo#109271]) -> [FAIL][2] +27 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/fi-kbl-8809g/igt@kms_chamelium@hdmi-edid-read.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/fi-kbl-8809g/igt@kms_chamelium@hdmi-edid-read.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-8809g:       [SKIP][3] ([fdo#109271]) -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/fi-kbl-8809g/igt@prime_vgem@basic-fence-flip.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/fi-kbl-8809g/igt@prime_vgem@basic-fence-flip.html

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

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

### IGT changes ###

  {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#529]: https://gitlab.freedesktop.org/drm/intel/issues/529
  [i915#647]: https://gitlab.freedesktop.org/drm/intel/issues/647


Participating hosts (40 -> 41)
------------------------------

  Additional (8): fi-byt-j1900 fi-skl-guc fi-ilk-650 fi-kbl-7500u fi-hsw-4770 fi-bsw-kefka fi-bsw-nick fi-skl-6700k2 
  Missing    (7): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-bwr-2160 fi-ctg-p8600 fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5550 -> IGTPW_4383

  CI-20190529: 20190529
  CI_DRM_8230: fa9f8453ffb88a4fc4e36d68b84a7ff9bf90f769 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4383: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/index.html
  IGT_5550: 98927dfde17aecaecfe67bb9853ceca326ca2b23 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_chamelium@dp-hpd-enable-disable-mode
+igt@kms_chamelium@dp-hpd-with-enabled-mode
+igt@kms_chamelium@hdmi-hpd-enable-disable-mode
+igt@kms_chamelium@hdmi-hpd-enable-disable-mode
+igt@kms_chamelium@hdmi-hpd-with-enabled-mode
+igt@kms_chamelium@hdmi-hpd-with-enabled-mode

== Logs ==

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

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

* [igt-dev] [PATCH i-g-t v2 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios Arkadiusz Hiler
@ 2020-04-01 16:29   ` Arkadiusz Hiler
  2020-04-02  2:25     ` Kunal Joshi
  0 siblings, 1 reply; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-04-01 16:29 UTC (permalink / raw)
  To: igt-dev; +Cc: Kunal Joshi

The default scenario is now performing all hotplugs with modes disabled
on all connectors. This is the quickest of the tests and represents
userspace not caring about the new display (e.g. explicitly disabled).

*-hpd-enable-disable-mode covers the most common userspace behavior
where each hotplug event is accompanied by a corresponding enabling /
disabling commit.

*-hpd-with-enabled-mode explicitly targets the scenario where we have
mode enabled and never disable it as we do hotplugs to reproduce the
issue we see with TypeC connectors for ICL and TGL.

v2:
 - refresh igt_display output state after reprobing
 - get mode and set pipe only after we have connector plugged in

Cc: Kunal Joshi <kunal1.joshi@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
---
 lib/igt_kms.c         |   2 +-
 lib/igt_kms.h         |   1 +
 tests/kms_chamelium.c | 315 ++++++++++++++++++++++++++++--------------
 3 files changed, 216 insertions(+), 102 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index b461818a..9fc9834a 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1666,7 +1666,7 @@ static void igt_display_log_shift(igt_display_t *display, int shift)
 	igt_assert(display->log_shift >= 0);
 }
 
-static void igt_output_refresh(igt_output_t *output)
+void igt_output_refresh(igt_output_t *output)
 {
 	igt_display_t *display = output->display;
 	unsigned long crtc_idx_mask = 0;
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index cd3fdbc0..adca59ac 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -423,6 +423,7 @@ igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output,
 					     int plane_type, int index);
 igt_output_t *igt_output_from_connector(igt_display_t *display,
     drmModeConnector *connector);
+void igt_output_refresh(igt_output_t *output);
 const drmModeModeInfo *igt_std_1024_mode_get(void);
 
 igt_plane_t *igt_pipe_get_plane_type(igt_pipe_t *pipe, int plane_type);
diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
index 236e1010..3019d270 100644
--- a/tests/kms_chamelium.c
+++ b/tests/kms_chamelium.c
@@ -45,6 +45,12 @@ enum test_edid {
 };
 #define TEST_EDID_COUNT 5
 
+enum test_modeset_mode {
+	TEST_MODESET_ON,
+	TEST_MODESET_ON_OFF,
+	TEST_MODESET_OFF,
+};
+
 typedef struct {
 	struct chamelium *chamelium;
 	struct chamelium_port **ports;
@@ -111,12 +117,17 @@ reprobe_connector(data_t *data, struct chamelium_port *port)
 {
 	drmModeConnector *connector;
 	drmModeConnection status;
+	igt_output_t *output;
 
 	igt_debug("Reprobing %s...\n", chamelium_port_get_name(port));
 	connector = chamelium_port_get_connector(data->chamelium, port, true);
 	igt_assert(connector);
 	status = connector->connection;
 
+	/* let's make sure that igt_display is up to date too */
+	output = igt_output_from_connector(&data->display, connector);
+	igt_output_refresh(output);
+
 	drmModeFreeConnector(connector);
 	return status;
 }
@@ -294,14 +305,140 @@ reset_state(data_t *data, struct chamelium_port *port)
 	}
 }
 
+static void chamelium_paint_xr24_pattern(uint32_t *data,
+					 size_t width, size_t height,
+					 size_t stride, size_t block_size)
+{
+	uint32_t colors[] = { 0xff000000,
+			      0xffff0000,
+			      0xff00ff00,
+			      0xff0000ff,
+			      0xffffffff };
+	unsigned i, j;
+
+	for (i = 0; i < height; i++)
+		for (j = 0; j < width; j++)
+			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
+}
+
+static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
+				    uint32_t fourcc, size_t block_size,
+				    struct igt_fb *fb)
+{
+	int fb_id;
+	void *ptr;
+
+	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
+
+	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
+			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
+	igt_assert(fb_id > 0);
+
+	ptr = igt_fb_map_buffer(fb->fd, fb);
+	igt_assert(ptr);
+
+	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
+				     block_size);
+	igt_fb_unmap_buffer(fb, ptr);
+
+	return fb_id;
+}
+
+static void
+enable_output(data_t *data,
+	      struct chamelium_port *port,
+	      igt_output_t *output,
+	      drmModeModeInfo *mode,
+	      struct igt_fb *fb)
+{
+	igt_display_t *display = output->display;
+	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
+	drmModeConnector *connector = chamelium_port_get_connector(
+	    data->chamelium, port, false);
+
+	igt_assert(primary);
+
+	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
+	igt_plane_set_fb(primary, fb);
+	igt_output_override_mode(output, mode);
+
+	/* Clear any color correction values that might be enabled */
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
+	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
+		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
+
+	igt_display_commit2(display, COMMIT_ATOMIC);
+
+	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
+		usleep(250000);
+
+	drmModeFreeConnector(connector);
+}
+
+static enum pipe get_pipe_for_output(igt_display_t *display, igt_output_t *output)
+{
+	enum pipe pipe;
+
+	for_each_pipe(display, pipe) {
+		if (igt_pipe_connector_valid(pipe, output)) {
+			return pipe;
+		}
+	}
+
+	igt_assert_f(false, "No pipe found for output %s\n",
+		     igt_output_name(output));
+}
+
+static void create_fb_for_mode(data_t *data, struct igt_fb *fb, drmModeModeInfo *mode)
+{
+	int fb_id;
+
+	fb_id = chamelium_get_pattern_fb(data, mode->hdisplay, mode->vdisplay,
+					 DRM_FORMAT_XRGB8888, 64, fb);
+
+	igt_assert(fb_id > 0);
+}
+
+static drmModeModeInfo get_mode_for_port(struct chamelium *chamelium,
+					 struct chamelium_port *port)
+{
+	drmModeConnector *connector = chamelium_port_get_connector(chamelium,
+								   port, false);
+	drmModeModeInfo mode;
+	igt_assert(&connector->modes[0] != NULL);
+	memcpy(&mode, &connector->modes[0], sizeof(mode));
+	drmModeFreeConnector(connector);
+	return mode;
+}
+
+static igt_output_t *get_output_for_port(data_t *data,
+					 struct chamelium_port *port)
+{
+	drmModeConnector *connector = chamelium_port_get_connector(data->chamelium,
+								   port, false);
+	igt_output_t *output = igt_output_from_connector(&data->display,
+							 connector);
+	drmModeFreeConnector(connector);
+	igt_assert(output != NULL);
+	return output;
+}
+
 static const char test_basic_hotplug_desc[] =
 	"Check that we get uevents and updated connector status on "
 	"hotplug and unplug";
 static void
-test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
+test_hotplug(data_t *data, struct chamelium_port *port, int toggle_count,
+	     enum test_modeset_mode modeset_mode)
 {
-	struct udev_monitor *mon = igt_watch_hotplug();
 	int i;
+	enum pipe pipe;
+	struct igt_fb fb = {0};
+	drmModeModeInfo mode;
+	struct udev_monitor *mon = igt_watch_hotplug();
+	igt_output_t *output = get_output_for_port(data, port);
 
 	reset_state(data, NULL);
 	igt_hpd_storm_set_threshold(data->drm_fd, 0);
@@ -316,15 +453,36 @@ test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
 						 DRM_MODE_CONNECTED);
 		igt_flush_hotplugs(mon);
 
+		if (modeset_mode == TEST_MODESET_ON_OFF ||
+		    (modeset_mode == TEST_MODESET_ON && i == 0 )) {
+			if (i == 0) {
+				/* We can only get mode and pipe once we are connected */
+				pipe = get_pipe_for_output(&data->display, output);
+				mode = get_mode_for_port(data->chamelium, port);
+				create_fb_for_mode(data, &fb, &mode);
+			}
+
+			igt_output_set_pipe(output, pipe);
+			enable_output(data, port, output, &mode, &fb);
+		}
+
 		/* Now check if we get a hotplug from disconnection */
 		chamelium_unplug(data->chamelium, port);
 
 		wait_for_connector_after_hotplug(data, mon, port,
 						 DRM_MODE_DISCONNECTED);
+
+		igt_flush_hotplugs(mon);
+
+		if (modeset_mode == TEST_MODESET_ON_OFF) {
+			igt_output_set_pipe(output, PIPE_NONE);
+			igt_display_commit2(&data->display, COMMIT_ATOMIC);
+		}
 	}
 
 	igt_cleanup_hotplug(mon);
 	igt_hpd_storm_reset(data->drm_fd);
+	igt_remove_fb(data->drm_fd, &fb);
 }
 
 static const struct edid *get_edid(enum test_edid edid);
@@ -530,10 +688,7 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
 {
 	igt_display_t *display = &data->display;
 	igt_output_t *output;
-	drmModeConnector *connector =
-		chamelium_port_get_connector(data->chamelium, port, false);
 	enum pipe pipe;
-	bool found = false;
 
 	/* The chamelium's default EDID has a lot of resolutions, way more then
 	 * we need to test. Additionally the default EDID doesn't support HDMI
@@ -546,101 +701,17 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
 
 	igt_display_reset(display);
 
-	output = igt_output_from_connector(display, connector);
+	output = get_output_for_port(data, port);
 
 	/* Refresh pipe to update connected status */
 	igt_output_set_pipe(output, PIPE_NONE);
 
-	for_each_pipe(display, pipe) {
-		if (!igt_pipe_connector_valid(pipe, output))
-			continue;
-
-		found = true;
-		break;
-	}
-
-	igt_assert_f(found, "No pipe found for output %s\n", igt_output_name(output));
-
+	pipe = get_pipe_for_output(display, output);
 	igt_output_set_pipe(output, pipe);
 
-	drmModeFreeConnector(connector);
-
 	return output;
 }
 
-static void
-enable_output(data_t *data,
-	      struct chamelium_port *port,
-	      igt_output_t *output,
-	      drmModeModeInfo *mode,
-	      struct igt_fb *fb)
-{
-	igt_display_t *display = output->display;
-	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-	drmModeConnector *connector = chamelium_port_get_connector(
-	    data->chamelium, port, false);
-
-	igt_assert(primary);
-
-	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
-	igt_plane_set_fb(primary, fb);
-	igt_output_override_mode(output, mode);
-
-	/* Clear any color correction values that might be enabled */
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
-	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
-		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
-
-	igt_display_commit2(display, COMMIT_ATOMIC);
-
-	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
-		usleep(250000);
-
-	drmModeFreeConnector(connector);
-}
-
-static void chamelium_paint_xr24_pattern(uint32_t *data,
-					 size_t width, size_t height,
-					 size_t stride, size_t block_size)
-{
-	uint32_t colors[] = { 0xff000000,
-			      0xffff0000,
-			      0xff00ff00,
-			      0xff0000ff,
-			      0xffffffff };
-	unsigned i, j;
-
-	for (i = 0; i < height; i++)
-		for (j = 0; j < width; j++)
-			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
-}
-
-static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
-				    uint32_t fourcc, size_t block_size,
-				    struct igt_fb *fb)
-{
-	int fb_id;
-	void *ptr;
-
-	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
-
-	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
-			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
-	igt_assert(fb_id > 0);
-
-	ptr = igt_fb_map_buffer(fb->fd, fb);
-	igt_assert(ptr);
-
-	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
-				     block_size);
-	igt_fb_unmap_buffer(fb, ptr);
-
-	return fb_id;
-}
-
 static void do_test_display(data_t *data, struct chamelium_port *port,
 			    igt_output_t *output, drmModeModeInfo *mode,
 			    uint32_t fourcc, enum chamelium_check check,
@@ -2539,13 +2610,27 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd", DisplayPort)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_DP_HDMI);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_DP_HDMI,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("dp-hpd-fast", DisplayPort)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("dp-hpd-enable-disable-mode", DisplayPort)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("dp-hpd-with-enabled-mode", DisplayPort)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("dp-edid-read", DisplayPort) {
@@ -2634,13 +2719,27 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd", HDMIA)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_DP_HDMI);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_DP_HDMI,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("hdmi-hpd-fast", HDMIA)
-			test_basic_hotplug(&data, port,
-					   HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-enable-disable-mode", HDMIA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-with-enabled-mode", HDMIA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("hdmi-edid-read", HDMIA) {
@@ -2795,11 +2894,25 @@ igt_main
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd", VGA)
-			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
+			test_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA,
+				     TEST_MODESET_OFF);
 
 		igt_describe(test_basic_hotplug_desc);
 		connector_subtest("vga-hpd-fast", VGA)
-			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
+			test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-enable-disable-mode", VGA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON_OFF);
+
+		igt_describe(test_basic_hotplug_desc);
+		connector_subtest("hdmi-hpd-with-enabled-mode", VGA)
+			test_hotplug(&data, port,
+				     HPD_TOGGLE_COUNT_FAST,
+				     TEST_MODESET_ON);
 
 		igt_describe(test_edid_read_desc);
 		connector_subtest("vga-edid-read", VGA) {
-- 
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] 14+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC (rev2)
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
                   ` (4 preceding siblings ...)
  2020-04-01  2:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC Patchwork
@ 2020-04-01 17:04 ` Patchwork
  2020-04-01 18:17 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC Patchwork
  2020-04-02 13:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC (rev2) Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-04-01 17:04 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: Chamelium and TypeC (rev2)
URL   : https://patchwork.freedesktop.org/series/75319/
State : success

== Summary ==

CI Bug Log - changes from IGT_5554 -> IGTPW_4392
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with IGTPW_4392 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_4392, 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_4392/index.html

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

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

### IGT changes ###

#### Warnings ####

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-kbl-8809g:       [SKIP][1] ([fdo#109271]) -> [FAIL][2] +27 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/fi-kbl-8809g/igt@kms_chamelium@hdmi-edid-read.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/fi-kbl-8809g/igt@kms_chamelium@hdmi-edid-read.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-kbl-8809g:       [SKIP][3] ([fdo#109271]) -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/fi-kbl-8809g/igt@prime_vgem@basic-fence-flip.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/fi-kbl-8809g/igt@prime_vgem@basic-fence-flip.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@execlists:
    - fi-bxt-dsi:         [PASS][5] -> [INCOMPLETE][6] ([i915#656])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/fi-bxt-dsi/igt@i915_selftest@live@execlists.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/fi-bxt-dsi/igt@i915_selftest@live@execlists.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - fi-icl-dsi:         [INCOMPLETE][7] ([i915#1580]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/fi-icl-dsi/igt@i915_selftest@live@hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/fi-icl-dsi/igt@i915_selftest@live@hangcheck.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-cml-u2:          [DMESG-WARN][9] ([IGT#4]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/fi-cml-u2/igt@kms_chamelium@common-hpd-after-suspend.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/fi-cml-u2/igt@kms_chamelium@common-hpd-after-suspend.html

  
  [IGT#4]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/4
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1580]: https://gitlab.freedesktop.org/drm/intel/issues/1580
  [i915#656]: https://gitlab.freedesktop.org/drm/intel/issues/656


Participating hosts (49 -> 43)
------------------------------

  Additional (2): fi-skl-guc fi-bwr-2160 
  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-kbl-7560u fi-byt-clapper fi-bdw-samus 


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5554 -> IGTPW_4392

  CI-20190529: 20190529
  CI_DRM_8233: 0862243a5514a9da625520bd4f554f8348077594 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4392: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/index.html
  IGT_5554: f3ba9eca8b0a1c0074bd43b0ee5dbebe833f5f09 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools



== Testlist changes ==

+igt@kms_chamelium@dp-hpd-enable-disable-mode
+igt@kms_chamelium@dp-hpd-with-enabled-mode
+igt@kms_chamelium@hdmi-hpd-enable-disable-mode
+igt@kms_chamelium@hdmi-hpd-enable-disable-mode
+igt@kms_chamelium@hdmi-hpd-with-enabled-mode
+igt@kms_chamelium@hdmi-hpd-with-enabled-mode

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
                   ` (5 preceding siblings ...)
  2020-04-01 17:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC (rev2) Patchwork
@ 2020-04-01 18:17 ` Patchwork
  2020-04-02 13:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC (rev2) Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-04-01 18:17 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: Chamelium and TypeC
URL   : https://patchwork.freedesktop.org/series/75319/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_8230_full -> IGTPW_4383_full
====================================================

Summary
-------

  **FAILURE**

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-tglb:         [PASS][1] -> [SKIP][2] +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-tglb5/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-tglb3/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_vblank@invalid:
    - shard-snb:          [PASS][3] -> [FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-snb2/igt@kms_vblank@invalid.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-snb4/igt@kms_vblank@invalid.html
    - shard-hsw:          [PASS][5] -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-hsw2/igt@kms_vblank@invalid.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-hsw1/igt@kms_vblank@invalid.html

  
#### Warnings ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][7] ([fdo#109349]) -> [SKIP][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb1/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb6/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
New tests
---------

  New tests have been introduced between CI_DRM_8230_full and IGTPW_4383_full:

### New IGT tests (5) ###

  * igt@gem_exec_capture@capture:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_chamelium@dp-hpd-enable-disable-mode:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@dp-hpd-with-enabled-mode:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - Statuses : 14 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@hdmi-hpd-with-enabled-mode:
    - Statuses : 14 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [PASS][9] -> [SKIP][10] ([fdo#110854])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb4/igt@gem_exec_balancer@smoke.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb5/igt@gem_exec_balancer@smoke.html

  * igt@gem_exec_schedule@pi-shared-iova-bsd:
    - shard-iclb:         [PASS][11] -> [SKIP][12] ([i915#677])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb3/igt@gem_exec_schedule@pi-shared-iova-bsd.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb2/igt@gem_exec_schedule@pi-shared-iova-bsd.html

  * igt@gem_exec_schedule@preempt-other-chain-bsd:
    - shard-iclb:         [PASS][13] -> [SKIP][14] ([fdo#112146]) +5 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb7/igt@gem_exec_schedule@preempt-other-chain-bsd.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb1/igt@gem_exec_schedule@preempt-other-chain-bsd.html

  * igt@gem_exec_schedule@preempt-queue-bsd1:
    - shard-iclb:         [PASS][15] -> [SKIP][16] ([fdo#109276]) +11 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb1/igt@gem_exec_schedule@preempt-queue-bsd1.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][17] -> [DMESG-WARN][18] ([i915#180]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl2/igt@gem_workarounds@suspend-resume-context.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl6/igt@gem_workarounds@suspend-resume-context.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [PASS][19] -> [DMESG-WARN][20] ([i915#716])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk4/igt@gen9_exec_parse@allowed-all.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk7/igt@gen9_exec_parse@allowed-all.html
    - shard-kbl:          [PASS][21] -> [DMESG-WARN][22] ([i915#716])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl7/igt@gen9_exec_parse@allowed-all.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl4/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][23] -> [FAIL][24] ([i915#454])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb3/igt@i915_pm_dc@dc6-psr.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-tglb:         [PASS][25] -> [SKIP][26] ([i915#1316])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-tglb7/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-tglb6/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [PASS][27] -> [DMESG-WARN][28] ([i915#180]) +5 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-apl:          [PASS][29] -> [DMESG-WARN][30] ([i915#180] / [i915#95])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl6/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled:
    - shard-glk:          [PASS][31] -> [FAIL][32] ([i915#52] / [i915#54]) +6 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk1/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html

  * igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled:
    - shard-glk:          [PASS][33] -> [FAIL][34] ([i915#177] / [i915#52] / [i915#54])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled:
    - shard-kbl:          [PASS][35] -> [FAIL][36] ([i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl7/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl2/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html
    - shard-apl:          [PASS][37] -> [FAIL][38] ([i915#52] / [i915#54] / [i915#95])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl2/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl2/igt@kms_draw_crc@draw-method-xrgb8888-pwrite-untiled.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [PASS][39] -> [DMESG-WARN][40] ([i915#180] / [i915#93] / [i915#95])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl3/igt@kms_fbcon_fbt@fbc-suspend.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl6/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
    - shard-glk:          [PASS][41] -> [FAIL][42] ([i915#899])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk6/igt@kms_plane_lowres@pipe-a-tiling-x.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk6/igt@kms_plane_lowres@pipe-a-tiling-x.html

  * igt@kms_psr@psr2_cursor_mmap_cpu:
    - shard-iclb:         [PASS][43] -> [SKIP][44] ([fdo#109441]) +1 similar issue
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html

  * igt@kms_vblank@invalid:
    - shard-kbl:          [PASS][45] -> [FAIL][46] ([i915#1375])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl7/igt@kms_vblank@invalid.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl4/igt@kms_vblank@invalid.html
    - shard-apl:          [PASS][47] -> [FAIL][48] ([i915#1375])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl2/igt@kms_vblank@invalid.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl8/igt@kms_vblank@invalid.html
    - shard-iclb:         [PASS][49] -> [FAIL][50] ([i915#1375])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb2/igt@kms_vblank@invalid.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb1/igt@kms_vblank@invalid.html
    - shard-glk:          [PASS][51] -> [FAIL][52] ([i915#1375])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk4/igt@kms_vblank@invalid.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk4/igt@kms_vblank@invalid.html
    - shard-tglb:         [PASS][53] -> [FAIL][54] ([i915#1375])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-tglb6/igt@kms_vblank@invalid.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-tglb6/igt@kms_vblank@invalid.html

  * igt@perf_pmu@busy-vcs1:
    - shard-iclb:         [PASS][55] -> [SKIP][56] ([fdo#112080]) +10 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb1/igt@perf_pmu@busy-vcs1.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb7/igt@perf_pmu@busy-vcs1.html

  
#### Possible fixes ####

  * igt@gem_busy@busy-vcs1:
    - shard-iclb:         [SKIP][57] ([fdo#112080]) -> [PASS][58] +9 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb8/igt@gem_busy@busy-vcs1.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb2/igt@gem_busy@busy-vcs1.html

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

  * igt@gem_exec_schedule@implicit-write-read-bsd:
    - shard-iclb:         [SKIP][61] ([i915#677]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb1/igt@gem_exec_schedule@implicit-write-read-bsd.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb3/igt@gem_exec_schedule@implicit-write-read-bsd.html

  * igt@gem_exec_schedule@reorder-wide-bsd:
    - shard-iclb:         [SKIP][63] ([fdo#112146]) -> [PASS][64] +4 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb4/igt@gem_exec_schedule@reorder-wide-bsd.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb5/igt@gem_exec_schedule@reorder-wide-bsd.html

  * igt@gem_softpin@noreloc-s3:
    - shard-kbl:          [DMESG-WARN][65] ([i915#180] / [i915#93] / [i915#95]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl7/igt@gem_softpin@noreloc-s3.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl1/igt@gem_softpin@noreloc-s3.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-iclb:         [FAIL][67] ([i915#454]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb4/igt@i915_pm_dc@dc6-dpms.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-apl:          [FAIL][69] -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl1/igt@i915_pm_rc6_residency@rc6-idle.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl8/igt@i915_pm_rc6_residency@rc6-idle.html
    - shard-glk:          [FAIL][71] ([i915#1527]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk5/igt@i915_pm_rc6_residency@rc6-idle.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk4/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_concurrent@pipe-b:
    - shard-hsw:          [FAIL][73] ([i915#1539]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-hsw2/igt@kms_concurrent@pipe-b.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-hsw1/igt@kms_concurrent@pipe-b.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding:
    - shard-apl:          [FAIL][75] ([i915#54]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl2/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html
    - shard-kbl:          [FAIL][77] ([i915#54]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html
    - shard-glk:          [FAIL][79] ([i915#54]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk7/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk5/igt@kms_cursor_crc@pipe-a-cursor-128x42-sliding.html

  * igt@kms_cursor_crc@pipe-a-cursor-64x64-random:
    - shard-kbl:          [FAIL][81] ([i915#54] / [i915#93] / [i915#95]) -> [PASS][82] +1 similar issue
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-64x64-random.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x64-random.html

  * igt@kms_draw_crc@draw-method-rgb565-render-ytiled:
    - shard-glk:          [FAIL][83] ([i915#52] / [i915#54]) -> [PASS][84] +4 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk3/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk4/igt@kms_draw_crc@draw-method-rgb565-render-ytiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled:
    - shard-kbl:          [FAIL][85] ([i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95]) -> [PASS][86] +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl4/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl7/igt@kms_draw_crc@draw-method-xrgb8888-blt-untiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled:
    - shard-apl:          [FAIL][87] ([i915#52] / [i915#54] / [i915#95]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-glk:          [FAIL][89] ([i915#79]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk9/igt@kms_flip@flip-vs-expired-vblank.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk9/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-rmfb-interruptible:
    - shard-apl:          [DMESG-WARN][91] ([i915#1297]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl6/igt@kms_flip@flip-vs-rmfb-interruptible.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl8/igt@kms_flip@flip-vs-rmfb-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-apl:          [DMESG-WARN][93] ([i915#180]) -> [PASS][94] +2 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl8/igt@kms_flip@flip-vs-suspend-interruptible.html
    - shard-kbl:          [DMESG-WARN][95] ([i915#180]) -> [PASS][96] +1 similar issue
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@plain-flip-fb-recreate:
    - shard-glk:          [FAIL][97] -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk4/igt@kms_flip@plain-flip-fb-recreate.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk8/igt@kms_flip@plain-flip-fb-recreate.html

  * igt@kms_flip_tiling@flip-changes-tiling:
    - shard-apl:          [FAIL][99] ([i915#95]) -> [PASS][100] +1 similar issue
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl3/igt@kms_flip_tiling@flip-changes-tiling.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl7/igt@kms_flip_tiling@flip-changes-tiling.html
    - shard-kbl:          [FAIL][101] ([i915#699] / [i915#93] / [i915#95]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl2/igt@kms_flip_tiling@flip-changes-tiling.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl6/igt@kms_flip_tiling@flip-changes-tiling.html

  * igt@kms_mmap_write_crc@main:
    - shard-kbl:          [FAIL][103] ([i915#93] / [i915#95]) -> [PASS][104] +1 similar issue
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl2/igt@kms_mmap_write_crc@main.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl3/igt@kms_mmap_write_crc@main.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [SKIP][105] ([fdo#109441]) -> [PASS][106] +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb7/igt@kms_psr@psr2_primary_page_flip.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm:
    - shard-tglb:         [SKIP][107] ([fdo#112015]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-tglb3/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-tglb7/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-hsw:          [SKIP][109] ([fdo#109271]) -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-hsw7/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-hsw8/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-iclb:         [SKIP][111] ([fdo#109278]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb7/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb6/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
    - shard-glk:          [SKIP][113] ([fdo#109271]) -> [PASS][114] +1 similar issue
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-glk3/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-glk7/igt@kms_vblank@pipe-a-ts-continuation-modeset-rpm.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-apl:          [SKIP][115] ([fdo#109271]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl4/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl2/igt@perf@gen8-unprivileged-single-ctx-counters.html
    - shard-iclb:         [SKIP][117] -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb4/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb7/igt@perf@gen8-unprivileged-single-ctx-counters.html
    - shard-kbl:          [SKIP][119] ([fdo#109271]) -> [PASS][120]
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl6/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl2/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [SKIP][121] ([fdo#109276]) -> [PASS][122] +19 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html

  
#### Warnings ####

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          [FAIL][123] ([fdo#108145] / [i915#95]) -> [FAIL][124] ([fdo#108145])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl4/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl4/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-kbl:          [FAIL][125] ([fdo#108145]) -> [FAIL][126] ([fdo#108145] / [i915#93] / [i915#95])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl2/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl6/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
    - shard-apl:          [FAIL][127] ([fdo#108145]) -> [FAIL][128] ([fdo#108145] / [i915#95])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-apl8/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-apl7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-tglb:         [SKIP][129] -> [SKIP][130] ([fdo#109289])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-tglb8/igt@perf@gen8-unprivileged-single-ctx-counters.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-tglb6/igt@perf@gen8-unprivileged-single-ctx-counters.html

  * igt@runner@aborted:
    - shard-kbl:          [FAIL][131] ([i915#1423] / [i915#92]) -> ([FAIL][132], [FAIL][133]) ([i915#1423] / [i915#716] / [i915#92])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8230/shard-kbl2/igt@runner@aborted.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl2/igt@runner@aborted.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/shard-kbl4/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).

  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [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#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [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#1297]: https://gitlab.freedesktop.org/drm/intel/issues/1297
  [i915#1316]: https://gitlab.freedesktop.org/drm/intel/issues/1316
  [i915#1375]: https://gitlab.freedesktop.org/drm/intel/issues/1375
  [i915#1423]: https://gitlab.freedesktop.org/drm/intel/issues/1423
  [i915#1527]: https://gitlab.freedesktop.org/drm/intel/issues/1527
  [i915#1539]: https://gitlab.freedesktop.org/drm/intel/issues/1539
  [i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
  [i915#699]: https://gitlab.freedesktop.org/drm/intel/issues/699
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
  [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
  [i915#92]: https://gitlab.freedesktop.org/drm/intel/issues/92
  [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


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

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


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

  * CI: CI-20190529 -> None
  * IGT: IGT_5550 -> IGTPW_4383
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_8230: fa9f8453ffb88a4fc4e36d68b84a7ff9bf90f769 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4383: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4383/index.html
  IGT_5550: 98927dfde17aecaecfe67bb9853ceca326ca2b23 @ 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_4383/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* Re: [igt-dev] [PATCH i-g-t v2 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios
  2020-04-01 16:29   ` [igt-dev] [PATCH i-g-t v2 " Arkadiusz Hiler
@ 2020-04-02  2:25     ` Kunal Joshi
  2020-04-02  9:56       ` Arkadiusz Hiler
  0 siblings, 1 reply; 14+ messages in thread
From: Kunal Joshi @ 2020-04-02  2:25 UTC (permalink / raw)
  To: Arkadiusz Hiler, igt-dev, imre.deak

On 2020-04-01 at 19:29:12 +0300, Arkadiusz Hiler wrote:
> The default scenario is now performing all hotplugs with modes disabled
> on all connectors. This is the quickest of the tests and represents
> userspace not caring about the new display (e.g. explicitly disabled).
> 
> *-hpd-enable-disable-mode covers the most common userspace behavior
> where each hotplug event is accompanied by a corresponding enabling /
> disabling commit.
> 
> *-hpd-with-enabled-mode explicitly targets the scenario where we have
> mode enabled and never disable it as we do hotplugs to reproduce the
> issue we see with TypeC connectors for ICL and TGL.
> 
> v2:
>  - refresh igt_display output state after reprobing
>  - get mode and set pipe only after we have connector plugged in
> 
> Cc: Kunal Joshi <kunal1.joshi@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
>  lib/igt_kms.c         |   2 +-
>  lib/igt_kms.h         |   1 +
>  tests/kms_chamelium.c | 315 ++++++++++++++++++++++++++++--------------
>  3 files changed, 216 insertions(+), 102 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index b461818a..9fc9834a 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1666,7 +1666,7 @@ static void igt_display_log_shift(igt_display_t *display, int shift)
>  	igt_assert(display->log_shift >= 0);
>  }
>  
> -static void igt_output_refresh(igt_output_t *output)
> +void igt_output_refresh(igt_output_t *output)
>  {
>  	igt_display_t *display = output->display;
>  	unsigned long crtc_idx_mask = 0;
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index cd3fdbc0..adca59ac 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -423,6 +423,7 @@ igt_plane_t *igt_output_get_plane_type_index(igt_output_t *output,
>  					     int plane_type, int index);
>  igt_output_t *igt_output_from_connector(igt_display_t *display,
>      drmModeConnector *connector);
> +void igt_output_refresh(igt_output_t *output);
>  const drmModeModeInfo *igt_std_1024_mode_get(void);
>  
>  igt_plane_t *igt_pipe_get_plane_type(igt_pipe_t *pipe, int plane_type);
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 236e1010..3019d270 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -45,6 +45,12 @@ enum test_edid {
>  };
>  #define TEST_EDID_COUNT 5
>  
> +enum test_modeset_mode {
> +	TEST_MODESET_ON,
> +	TEST_MODESET_ON_OFF,
> +	TEST_MODESET_OFF,
> +};
> +
>  typedef struct {
>  	struct chamelium *chamelium;
>  	struct chamelium_port **ports;
> @@ -111,12 +117,17 @@ reprobe_connector(data_t *data, struct chamelium_port *port)
>  {
>  	drmModeConnector *connector;
>  	drmModeConnection status;
> +	igt_output_t *output;
>  
>  	igt_debug("Reprobing %s...\n", chamelium_port_get_name(port));
>  	connector = chamelium_port_get_connector(data->chamelium, port, true);
>  	igt_assert(connector);
>  	status = connector->connection;
>  
> +	/* let's make sure that igt_display is up to date too */
> +	output = igt_output_from_connector(&data->display, connector);
> +	igt_output_refresh(output);
> +
>  	drmModeFreeConnector(connector);
>  	return status;
>  }
> @@ -294,14 +305,140 @@ reset_state(data_t *data, struct chamelium_port *port)
>  	}
>  }
>  
> +static void chamelium_paint_xr24_pattern(uint32_t *data,
> +					 size_t width, size_t height,
> +					 size_t stride, size_t block_size)
> +{
> +	uint32_t colors[] = { 0xff000000,
> +			      0xffff0000,
> +			      0xff00ff00,
> +			      0xff0000ff,
> +			      0xffffffff };
> +	unsigned i, j;
> +
> +	for (i = 0; i < height; i++)
> +		for (j = 0; j < width; j++)
> +			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
> +}
> +
> +static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
> +				    uint32_t fourcc, size_t block_size,
> +				    struct igt_fb *fb)
> +{
> +	int fb_id;
> +	void *ptr;
> +
> +	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
> +
> +	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
> +			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
> +	igt_assert(fb_id > 0);
> +
> +	ptr = igt_fb_map_buffer(fb->fd, fb);
> +	igt_assert(ptr);
> +
> +	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
> +				     block_size);
> +	igt_fb_unmap_buffer(fb, ptr);
> +
> +	return fb_id;
> +}
> +
> +static void
> +enable_output(data_t *data,
> +	      struct chamelium_port *port,
> +	      igt_output_t *output,
> +	      drmModeModeInfo *mode,
> +	      struct igt_fb *fb)
> +{
> +	igt_display_t *display = output->display;
> +	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	drmModeConnector *connector = chamelium_port_get_connector(
> +	    data->chamelium, port, false);
> +
> +	igt_assert(primary);
> +
> +	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
> +	igt_plane_set_fb(primary, fb);
> +	igt_output_override_mode(output, mode);
> +
> +	/* Clear any color correction values that might be enabled */
> +	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> +		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
> +	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
> +		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
> +	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
> +		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
> +
> +	igt_display_commit2(display, COMMIT_ATOMIC);
> +
> +	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
> +		usleep(250000);
> +
> +	drmModeFreeConnector(connector);
> +}
> +
> +static enum pipe get_pipe_for_output(igt_display_t *display, igt_output_t *output)
> +{
> +	enum pipe pipe;
> +
> +	for_each_pipe(display, pipe) {
> +		if (igt_pipe_connector_valid(pipe, output)) {
> +			return pipe;
> +		}
> +	}
> +
> +	igt_assert_f(false, "No pipe found for output %s\n",
> +		     igt_output_name(output));
> +}
> +
> +static void create_fb_for_mode(data_t *data, struct igt_fb *fb, drmModeModeInfo *mode)
> +{
> +	int fb_id;
> +
> +	fb_id = chamelium_get_pattern_fb(data, mode->hdisplay, mode->vdisplay,
> +					 DRM_FORMAT_XRGB8888, 64, fb);
> +
> +	igt_assert(fb_id > 0);
> +}
> +
> +static drmModeModeInfo get_mode_for_port(struct chamelium *chamelium,
> +					 struct chamelium_port *port)
> +{
> +	drmModeConnector *connector = chamelium_port_get_connector(chamelium,
> +								   port, false);
> +	drmModeModeInfo mode;
> +	igt_assert(&connector->modes[0] != NULL);
> +	memcpy(&mode, &connector->modes[0], sizeof(mode));
> +	drmModeFreeConnector(connector);
> +	return mode;
> +}
> +
> +static igt_output_t *get_output_for_port(data_t *data,
> +					 struct chamelium_port *port)
> +{
> +	drmModeConnector *connector = chamelium_port_get_connector(data->chamelium,
> +								   port, false);
> +	igt_output_t *output = igt_output_from_connector(&data->display,
> +							 connector);
> +	drmModeFreeConnector(connector);
> +	igt_assert(output != NULL);
> +	return output;
> +}
> +
>  static const char test_basic_hotplug_desc[] =
>  	"Check that we get uevents and updated connector status on "
>  	"hotplug and unplug";
>  static void
> -test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
> +test_hotplug(data_t *data, struct chamelium_port *port, int toggle_count,
> +	     enum test_modeset_mode modeset_mode)
>  {
> -	struct udev_monitor *mon = igt_watch_hotplug();
>  	int i;
> +	enum pipe pipe;
> +	struct igt_fb fb = {0};
> +	drmModeModeInfo mode;
> +	struct udev_monitor *mon = igt_watch_hotplug();
> +	igt_output_t *output = get_output_for_port(data, port);
>  
>  	reset_state(data, NULL);
>  	igt_hpd_storm_set_threshold(data->drm_fd, 0);
> @@ -316,15 +453,36 @@ test_basic_hotplug(data_t *data, struct chamelium_port *port, int toggle_count)
>  						 DRM_MODE_CONNECTED);
>  		igt_flush_hotplugs(mon);
>  
> +		if (modeset_mode == TEST_MODESET_ON_OFF ||
> +		    (modeset_mode == TEST_MODESET_ON && i == 0 )) {
> +			if (i == 0) {
> +				/* We can only get mode and pipe once we are connected */
> +				pipe = get_pipe_for_output(&data->display, output);
> +				mode = get_mode_for_port(data->chamelium, port);
> +				create_fb_for_mode(data, &fb, &mode);
> +			}
> +
> +			igt_output_set_pipe(output, pipe);
> +			enable_output(data, port, output, &mode, &fb);
> +		}
> +
>  		/* Now check if we get a hotplug from disconnection */
>  		chamelium_unplug(data->chamelium, port);
>  
>  		wait_for_connector_after_hotplug(data, mon, port,
>  						 DRM_MODE_DISCONNECTED);
> +
> +		igt_flush_hotplugs(mon);
> +
> +		if (modeset_mode == TEST_MODESET_ON_OFF) {
> +			igt_output_set_pipe(output, PIPE_NONE);
> +			igt_display_commit2(&data->display, COMMIT_ATOMIC);
> +		}
>  	}
>  
>  	igt_cleanup_hotplug(mon);
>  	igt_hpd_storm_reset(data->drm_fd);
> +	igt_remove_fb(data->drm_fd, &fb);
>  }
>  
>  static const struct edid *get_edid(enum test_edid edid);
> @@ -530,10 +688,7 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
>  {
>  	igt_display_t *display = &data->display;
>  	igt_output_t *output;
> -	drmModeConnector *connector =
> -		chamelium_port_get_connector(data->chamelium, port, false);
>  	enum pipe pipe;
> -	bool found = false;
>  
>  	/* The chamelium's default EDID has a lot of resolutions, way more then
>  	 * we need to test. Additionally the default EDID doesn't support HDMI
> @@ -546,101 +701,17 @@ prepare_output(data_t *data, struct chamelium_port *port, enum test_edid edid)
>  
>  	igt_display_reset(display);
>  
> -	output = igt_output_from_connector(display, connector);
> +	output = get_output_for_port(data, port);
>  
>  	/* Refresh pipe to update connected status */
>  	igt_output_set_pipe(output, PIPE_NONE);
>  
> -	for_each_pipe(display, pipe) {
> -		if (!igt_pipe_connector_valid(pipe, output))
> -			continue;
> -
> -		found = true;
> -		break;
> -	}
> -
> -	igt_assert_f(found, "No pipe found for output %s\n", igt_output_name(output));
> -
> +	pipe = get_pipe_for_output(display, output);
>  	igt_output_set_pipe(output, pipe);
>  
> -	drmModeFreeConnector(connector);
> -
>  	return output;
>  }
>  
> -static void
> -enable_output(data_t *data,
> -	      struct chamelium_port *port,
> -	      igt_output_t *output,
> -	      drmModeModeInfo *mode,
> -	      struct igt_fb *fb)
> -{
> -	igt_display_t *display = output->display;
> -	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> -	drmModeConnector *connector = chamelium_port_get_connector(
> -	    data->chamelium, port, false);
> -
> -	igt_assert(primary);
> -
> -	igt_plane_set_size(primary, mode->hdisplay, mode->vdisplay);
> -	igt_plane_set_fb(primary, fb);
> -	igt_output_override_mode(output, mode);
> -
> -	/* Clear any color correction values that might be enabled */
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_DEGAMMA_LUT))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_GAMMA_LUT))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
> -	if (igt_pipe_obj_has_prop(primary->pipe, IGT_CRTC_CTM))
> -		igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
> -
> -	igt_display_commit2(display, COMMIT_ATOMIC);
> -
> -	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
> -		usleep(250000);
> -
> -	drmModeFreeConnector(connector);
> -}
> -
> -static void chamelium_paint_xr24_pattern(uint32_t *data,
> -					 size_t width, size_t height,
> -					 size_t stride, size_t block_size)
> -{
> -	uint32_t colors[] = { 0xff000000,
> -			      0xffff0000,
> -			      0xff00ff00,
> -			      0xff0000ff,
> -			      0xffffffff };
> -	unsigned i, j;
> -
> -	for (i = 0; i < height; i++)
> -		for (j = 0; j < width; j++)
> -			*(data + i * stride / 4 + j) = colors[((j / block_size) + (i / block_size)) % 5];
> -}
> -
> -static int chamelium_get_pattern_fb(data_t *data, size_t width, size_t height,
> -				    uint32_t fourcc, size_t block_size,
> -				    struct igt_fb *fb)
> -{
> -	int fb_id;
> -	void *ptr;
> -
> -	igt_assert(fourcc == DRM_FORMAT_XRGB8888);
> -
> -	fb_id = igt_create_fb(data->drm_fd, width, height, fourcc,
> -			      LOCAL_DRM_FORMAT_MOD_NONE, fb);
> -	igt_assert(fb_id > 0);
> -
> -	ptr = igt_fb_map_buffer(fb->fd, fb);
> -	igt_assert(ptr);
> -
> -	chamelium_paint_xr24_pattern(ptr, width, height, fb->strides[0],
> -				     block_size);
> -	igt_fb_unmap_buffer(fb, ptr);
> -
> -	return fb_id;
> -}
> -
>  static void do_test_display(data_t *data, struct chamelium_port *port,
>  			    igt_output_t *output, drmModeModeInfo *mode,
>  			    uint32_t fourcc, enum chamelium_check check,
> @@ -2539,13 +2610,27 @@ igt_main
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("dp-hpd", DisplayPort)
> -			test_basic_hotplug(&data, port,
> -					   HPD_TOGGLE_COUNT_DP_HDMI);
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_DP_HDMI,
> +				     TEST_MODESET_OFF);
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("dp-hpd-fast", DisplayPort)
> -			test_basic_hotplug(&data, port,
> -					   HPD_TOGGLE_COUNT_FAST);
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("dp-hpd-enable-disable-mode", DisplayPort)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("dp-hpd-with-enabled-mode", DisplayPort)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON);
>  
>  		igt_describe(test_edid_read_desc);
>  		connector_subtest("dp-edid-read", DisplayPort) {
> @@ -2634,13 +2719,27 @@ igt_main
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("hdmi-hpd", HDMIA)
> -			test_basic_hotplug(&data, port,
> -					   HPD_TOGGLE_COUNT_DP_HDMI);
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_DP_HDMI,
> +				     TEST_MODESET_OFF);
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("hdmi-hpd-fast", HDMIA)
> -			test_basic_hotplug(&data, port,
> -					   HPD_TOGGLE_COUNT_FAST);
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("hdmi-hpd-enable-disable-mode", HDMIA)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("hdmi-hpd-with-enabled-mode", HDMIA)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON);
>  
>  		igt_describe(test_edid_read_desc);
>  		connector_subtest("hdmi-edid-read", HDMIA) {
> @@ -2795,11 +2894,25 @@ igt_main
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("vga-hpd", VGA)
> -			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
> +			test_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA,
> +				     TEST_MODESET_OFF);
>  
>  		igt_describe(test_basic_hotplug_desc);
>  		connector_subtest("vga-hpd-fast", VGA)
> -			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
> +			test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("hdmi-hpd-enable-disable-mode", VGA)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON_OFF);
> +
> +		igt_describe(test_basic_hotplug_desc);
> +		connector_subtest("hdmi-hpd-with-enabled-mode", VGA)
> +			test_hotplug(&data, port,
> +				     HPD_TOGGLE_COUNT_FAST,
> +				     TEST_MODESET_ON);
>  
Can be rename as vga-hpd-enable-disable-mode and vga-hpd-with-enabled-mode

Otherwise looks good to me
Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
>  		igt_describe(test_edid_read_desc);
>  		connector_subtest("vga-edid-read", VGA) {
> -- 
> 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] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state Arkadiusz Hiler
@ 2020-04-02  3:28   ` Kunal Joshi
  0 siblings, 0 replies; 14+ messages in thread
From: Kunal Joshi @ 2020-04-02  3:28 UTC (permalink / raw)
  To: Arkadiusz Hiler, imre.deak, igt-dev

On 2020-03-31 at 15:38:56 +0300, Arkadiusz Hiler wrote:
> Each tests resets the state to be sure it starts with a clean slate.
> Let's add disabling modeset to the pile, to be sure that we get the
> hotplug events and the connector state is correct.
> 
> Cc: Kunal Joshi <kunal1.joshi@intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> ---
>  tests/kms_chamelium.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 08abd961..236e1010 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -273,7 +273,14 @@ check_analog_bridge(data_t *data, struct chamelium_port *port)
>  static void
>  reset_state(data_t *data, struct chamelium_port *port)
>  {
> -	int p;
> +	int p, i;
> +
> +	for (i = 0; i < data->display.n_outputs; i++) {
> +		igt_output_t *output = &data->display.outputs[i];
> +		igt_output_set_pipe(output, PIPE_NONE);
> +	}
> +
> +	igt_display_commit2(&data->display, COMMIT_ATOMIC);
>  
>  	chamelium_reset(data->chamelium);
>  
Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
> -- 
> 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] 14+ messages in thread

* Re: [igt-dev] [PATCH i-g-t v2 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios
  2020-04-02  2:25     ` Kunal Joshi
@ 2020-04-02  9:56       ` Arkadiusz Hiler
  0 siblings, 0 replies; 14+ messages in thread
From: Arkadiusz Hiler @ 2020-04-02  9:56 UTC (permalink / raw)
  To: Kunal Joshi; +Cc: igt-dev

On Thu, Apr 02, 2020 at 07:55:34AM +0530, Kunal Joshi wrote:
> On 2020-04-01 at 19:29:12 +0300, Arkadiusz Hiler wrote:
> > The default scenario is now performing all hotplugs with modes disabled
> > on all connectors. This is the quickest of the tests and represents
> > userspace not caring about the new display (e.g. explicitly disabled).
> > 
> > *-hpd-enable-disable-mode covers the most common userspace behavior
> > where each hotplug event is accompanied by a corresponding enabling /
> > disabling commit.
> > 
> > *-hpd-with-enabled-mode explicitly targets the scenario where we have
> > mode enabled and never disable it as we do hotplugs to reproduce the
> > issue we see with TypeC connectors for ICL and TGL.
> > 
> > v2:
> >  - refresh igt_display output state after reprobing
> >  - get mode and set pipe only after we have connector plugged in
> > 
> > Cc: Kunal Joshi <kunal1.joshi@intel.com>
> > Cc: Imre Deak <imre.deak@intel.com>
> > Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
> > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > ---
> >  lib/igt_kms.c         |   2 +-
> >  lib/igt_kms.h         |   1 +
> >  tests/kms_chamelium.c | 315 ++++++++++++++++++++++++++++--------------
> >  3 files changed, 216 insertions(+), 102 deletions(-)
> > 
> > diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> > index 236e1010..3019d270 100644
> > --- a/tests/kms_chamelium.c
> > +++ b/tests/kms_chamelium.c
> > @@ -2795,11 +2894,25 @@ igt_main
> >  
> >  		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("vga-hpd", VGA)
> > -			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA);
> > +			test_hotplug(&data, port, HPD_TOGGLE_COUNT_VGA,
> > +				     TEST_MODESET_OFF);
> >  
> >  		igt_describe(test_basic_hotplug_desc);
> >  		connector_subtest("vga-hpd-fast", VGA)
> > -			test_basic_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST);
> > +			test_hotplug(&data, port, HPD_TOGGLE_COUNT_FAST,
> > +				     TEST_MODESET_OFF);
> > +
> > +		igt_describe(test_basic_hotplug_desc);
> > +		connector_subtest("hdmi-hpd-enable-disable-mode", VGA)
> > +			test_hotplug(&data, port,
> > +				     HPD_TOGGLE_COUNT_FAST,
> > +				     TEST_MODESET_ON_OFF);
> > +
> > +		igt_describe(test_basic_hotplug_desc);
> > +		connector_subtest("hdmi-hpd-with-enabled-mode", VGA)
> > +			test_hotplug(&data, port,
> > +				     HPD_TOGGLE_COUNT_FAST,
> > +				     TEST_MODESET_ON);
> >  
> Can be rename as vga-hpd-enable-disable-mode and vga-hpd-with-enabled-mode

Or even should be :-)

That's a copy&paste fail on my side. Thanks for spotting this!

> 
> Otherwise looks good to me
> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

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

* [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC (rev2)
  2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
                   ` (6 preceding siblings ...)
  2020-04-01 18:17 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC Patchwork
@ 2020-04-02 13:00 ` Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-04-02 13:00 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

== Series Details ==

Series: Chamelium and TypeC (rev2)
URL   : https://patchwork.freedesktop.org/series/75319/
State : failure

== Summary ==

CI Bug Log - changes from IGT_5554_full -> IGTPW_4392_full
====================================================

Summary
-------

  **FAILURE**

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

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_exec_whisper@basic-fds-priority-all:
    - shard-tglb:         [PASS][1] -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb8/igt@gem_exec_whisper@basic-fds-priority-all.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb1/igt@gem_exec_whisper@basic-fds-priority-all.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-tglb:         [PASS][3] -> [SKIP][4] +1 similar issue
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb7/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb8/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_vblank@invalid:
    - shard-snb:          [PASS][5] -> [FAIL][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-snb5/igt@kms_vblank@invalid.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-snb2/igt@kms_vblank@invalid.html
    - shard-hsw:          [PASS][7] -> [FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw4/igt@kms_vblank@invalid.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw8/igt@kms_vblank@invalid.html

  
#### Warnings ####

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][9] ([fdo#109349]) -> [SKIP][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb6/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb4/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * {igt@perf@gen12-oa-tlb-invalidate}:
    - shard-tglb:         [PASS][11] -> [SKIP][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb3/igt@perf@gen12-oa-tlb-invalidate.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb1/igt@perf@gen12-oa-tlb-invalidate.html
    - shard-iclb:         [SKIP][13] ([fdo#109289]) -> [SKIP][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb3/igt@perf@gen12-oa-tlb-invalidate.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb8/igt@perf@gen12-oa-tlb-invalidate.html

  
New tests
---------

  New tests have been introduced between IGT_5554_full and IGTPW_4392_full:

### New IGT tests (15) ###

  * igt@gem_busy@busy:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_busy@extended:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_busy@parallel:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_reloc@basic-spin:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@fifo:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@implicit-boths:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@implicit-read-write:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@implicit-write-read:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_schedule@independent:
    - Statuses :
    - Exec time: [None] s

  * igt@gem_exec_store@dword:
    - Statuses :
    - Exec time: [None] s

  * igt@i915_hangman@error-state-capture:
    - Statuses :
    - Exec time: [None] s

  * igt@kms_chamelium@dp-hpd-enable-disable-mode:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@dp-hpd-with-enabled-mode:
    - Statuses : 7 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - Statuses : 14 skip(s)
    - Exec time: [0.0] s

  * igt@kms_chamelium@hdmi-hpd-with-enabled-mode:
    - Statuses : 14 skip(s)
    - Exec time: [0.0] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding:
    - shard-apl:          [PASS][15] -> [FAIL][16] ([i915#54]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl1/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html

  * igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque:
    - shard-hsw:          [PASS][17] -> [FAIL][18] ([i915#54])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw2/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw8/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
    - shard-kbl:          [PASS][19] -> [FAIL][20] ([i915#54])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl7/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
    - shard-glk:          [PASS][21] -> [FAIL][22] ([i915#54])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk3/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk2/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
    - shard-snb:          [PASS][23] -> [FAIL][24] ([i915#54])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-snb6/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-snb6/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html

  * igt@kms_cursor_crc@pipe-c-cursor-suspend:
    - shard-kbl:          [PASS][25] -> [DMESG-WARN][26] ([i915#180]) +7 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-glk:          [PASS][27] -> [FAIL][28] ([i915#72])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk2/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_draw_crc@draw-method-rgb565-render-untiled:
    - shard-glk:          [PASS][29] -> [FAIL][30] ([i915#52] / [i915#54]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk4/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk1/igt@kms_draw_crc@draw-method-rgb565-render-untiled.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-apl:          [PASS][31] -> [DMESG-WARN][32] ([i915#180])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl1/igt@kms_flip@flip-vs-suspend.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl8/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [PASS][33] -> [SKIP][34] ([fdo#109441]) +4 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb6/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_setmode@basic:
    - shard-hsw:          [PASS][35] -> [FAIL][36] ([i915#31])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw8/igt@kms_setmode@basic.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw1/igt@kms_setmode@basic.html

  * igt@kms_vblank@invalid:
    - shard-iclb:         [PASS][37] -> [FAIL][38] ([i915#1375])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb7/igt@kms_vblank@invalid.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb6/igt@kms_vblank@invalid.html
    - shard-glk:          [PASS][39] -> [FAIL][40] ([i915#1375])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk3/igt@kms_vblank@invalid.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk9/igt@kms_vblank@invalid.html
    - shard-tglb:         [PASS][41] -> [FAIL][42] ([i915#1375])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb7/igt@kms_vblank@invalid.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb6/igt@kms_vblank@invalid.html

  * igt@perf_pmu@busy-no-semaphores-vcs1:
    - shard-iclb:         [PASS][43] -> [SKIP][44] ([fdo#112080]) +7 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb1/igt@perf_pmu@busy-no-semaphores-vcs1.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb3/igt@perf_pmu@busy-no-semaphores-vcs1.html

  * igt@prime_vgem@fence-wait-bsd2:
    - shard-iclb:         [PASS][45] -> [SKIP][46] ([fdo#109276])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@hang:
    - shard-tglb:         [FAIL][47] ([i915#1277]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb6/igt@gem_exec_balancer@hang.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb3/igt@gem_exec_balancer@hang.html

  * igt@gem_exec_balancer@smoke:
    - shard-iclb:         [SKIP][49] ([fdo#110854]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb7/igt@gem_exec_balancer@smoke.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb1/igt@gem_exec_balancer@smoke.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [FAIL][51] ([i915#454]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb4/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-hsw:          [WARN][53] ([i915#1519]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw2/igt@i915_pm_rc6_residency@rc6-idle.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw4/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@i915_pm_rpm@i2c:
    - shard-tglb:         [SKIP][55] ([i915#1316] / [i915#579]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb7/igt@i915_pm_rpm@i2c.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb6/igt@i915_pm_rpm@i2c.html
    - shard-hsw:          [SKIP][57] ([fdo#109271]) -> [PASS][58] +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw4/igt@i915_pm_rpm@i2c.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw7/igt@i915_pm_rpm@i2c.html
    - shard-iclb:         [SKIP][59] ([i915#1316]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb7/igt@i915_pm_rpm@i2c.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb7/igt@i915_pm_rpm@i2c.html

  * igt@kms_concurrent@pipe-b:
    - shard-hsw:          [FAIL][61] ([i915#1539]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-hsw8/igt@kms_concurrent@pipe-b.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-hsw2/igt@kms_concurrent@pipe-b.html

  * igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen:
    - shard-kbl:          [FAIL][63] ([i915#54] / [i915#93] / [i915#95]) -> [PASS][64] +1 similar issue
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-128x42-offscreen.html

  * igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding:
    - shard-snb:          [SKIP][65] ([fdo#109271]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-snb1/igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-snb1/igt@kms_cursor_crc@pipe-b-cursor-128x128-sliding.html

  * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:
    - shard-glk:          [FAIL][67] ([i915#52] / [i915#54]) -> [PASS][68] +2 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html

  * igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled:
    - shard-glk:          [FAIL][69] ([i915#177] / [i915#52] / [i915#54]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk3/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk9/igt@kms_draw_crc@draw-method-rgb565-pwrite-untiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled:
    - shard-kbl:          [FAIL][71] ([i915#177] / [i915#52] / [i915#54] / [i915#93] / [i915#95]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl1/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html
    - shard-apl:          [FAIL][73] ([i915#52] / [i915#54] / [i915#95]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl7/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-apl:          [FAIL][75] ([i915#1525]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl7/igt@kms_fbcon_fbt@fbc-suspend.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl2/igt@kms_fbcon_fbt@fbc-suspend.html
    - shard-kbl:          [FAIL][77] ([i915#64]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl2/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip_tiling@flip-changes-tiling:
    - shard-apl:          [FAIL][79] ([i915#95]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl1/igt@kms_flip_tiling@flip-changes-tiling.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl1/igt@kms_flip_tiling@flip-changes-tiling.html
    - shard-kbl:          [FAIL][81] ([i915#699] / [i915#93] / [i915#95]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl6/igt@kms_flip_tiling@flip-changes-tiling.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl2/igt@kms_flip_tiling@flip-changes-tiling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu:
    - shard-kbl:          [FAIL][83] ([i915#49]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu.html
    - shard-apl:          [FAIL][85] ([i915#49]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-apl6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-apl2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-kbl:          [DMESG-WARN][87] ([i915#180] / [i915#93] / [i915#95]) -> [PASS][88] +1 similar issue
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl3/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [SKIP][89] ([fdo#109441]) -> [PASS][90] +1 similar issue
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb1/igt@kms_psr@psr2_primary_mmap_cpu.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm:
    - shard-tglb:         [SKIP][91] ([fdo#112015]) -> [PASS][92] +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb7/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb8/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
    - shard-iclb:         [SKIP][93] ([fdo#109278]) -> [PASS][94] +1 similar issue
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb7/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb2/igt@kms_vblank@pipe-a-ts-continuation-dpms-rpm.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [DMESG-WARN][95] ([i915#180]) -> [PASS][96] +2 similar issues
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_vblank@pipe-c-ts-continuation-dpms-rpm:
    - shard-glk:          [SKIP][97] ([fdo#109271]) -> [PASS][98] +1 similar issue
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk3/igt@kms_vblank@pipe-c-ts-continuation-dpms-rpm.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk1/igt@kms_vblank@pipe-c-ts-continuation-dpms-rpm.html

  * igt@perf_pmu@init-sema-vcs1:
    - shard-iclb:         [SKIP][99] ([fdo#112080]) -> [PASS][100] +4 similar issues
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb7/igt@perf_pmu@init-sema-vcs1.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb2/igt@perf_pmu@init-sema-vcs1.html

  * igt@prime_busy@hang-bsd2:
    - shard-iclb:         [SKIP][101] ([fdo#109276]) -> [PASS][102] +3 similar issues
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-iclb5/igt@prime_busy@hang-bsd2.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-iclb2/igt@prime_busy@hang-bsd2.html

  * {igt@sysfs_timeslice_duration@timeout@vecs0}:
    - shard-glk:          [FAIL][103] ([i915#1459]) -> [PASS][104]
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-glk8/igt@sysfs_timeslice_duration@timeout@vecs0.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-glk6/igt@sysfs_timeslice_duration@timeout@vecs0.html
    - shard-kbl:          [FAIL][105] ([i915#1459]) -> [PASS][106]
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-kbl4/igt@sysfs_timeslice_duration@timeout@vecs0.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-kbl2/igt@sysfs_timeslice_duration@timeout@vecs0.html
    - shard-tglb:         [FAIL][107] -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5554/shard-tglb3/igt@sysfs_timeslice_duration@timeout@vecs0.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/shard-tglb1/igt@sysfs_timeslice_duration@timeout@vecs0.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#112015]: https://bugs.freedesktop.org/show_bug.cgi?id=112015
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [i915#1277]: https://gitlab.freedesktop.org/drm/intel/issues/1277
  [i915#1316]: https://gitlab.freedesktop.org/drm/intel/issues/1316
  [i915#1375]: https://gitlab.freedesktop.org/drm/intel/issues/1375
  [i915#1459]: https://gitlab.freedesktop.org/drm/intel/issues/1459
  [i915#1519]: https://gitlab.freedesktop.org/drm/intel/issues/1519
  [i915#1525]: https://gitlab.freedesktop.org/drm/intel/issues/1525
  [i915#1539]: https://gitlab.freedesktop.org/drm/intel/issues/1539
  [i915#177]: https://gitlab.freedesktop.org/drm/intel/issues/177
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
  [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52
  [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
  [i915#579]: https://gitlab.freedesktop.org/drm/intel/issues/579
  [i915#64]: https://gitlab.freedesktop.org/drm/intel/issues/64
  [i915#699]: https://gitlab.freedesktop.org/drm/intel/issues/699
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
  [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_5554 -> IGTPW_4392

  CI-20190529: 20190529
  CI_DRM_8233: 0862243a5514a9da625520bd4f554f8348077594 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_4392: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4392/index.html
  IGT_5554: f3ba9eca8b0a1c0074bd43b0ee5dbebe833f5f09 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

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

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

* Re: [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest
  2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest Arkadiusz Hiler
@ 2020-04-02 14:53   ` Imre Deak
  0 siblings, 0 replies; 14+ messages in thread
From: Imre Deak @ 2020-04-02 14:53 UTC (permalink / raw)
  To: Arkadiusz Hiler; +Cc: igt-dev

On Tue, Mar 31, 2020 at 03:38:55PM +0300, Arkadiusz Hiler wrote:
> With TypeC we don't always get hotplug events for a connector until the
> mode is disabled.
> 
> Cc: Imre Deak <imre.deak@intel.com>
> Issue: https://gitlab.freedesktop.org/drm/intel/issues/323
> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>

Looks ok, on patches 1 and 2:
Reviewed-by: Imre Deak <imre.deak@intel.com>

> ---
>  lib/igt_kms.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 796da1fb..b461818a 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -2040,7 +2040,6 @@ void igt_display_require(igt_display_t *display, int drm_fd)
>  
>  	for (i = 0; i < display->n_outputs; i++) {
>  		igt_output_t *output = &display->outputs[i];
> -		drmModeConnector *connector;
>  
>  		/*
>  		 * We don't assign each output a pipe unless
> @@ -2051,13 +2050,6 @@ void igt_display_require(igt_display_t *display, int drm_fd)
>  		output->display = display;
>  
>  		igt_output_refresh(output);
> -
> -		connector = output->config.connector;
> -		if (connector && (!connector->count_modes ||
> -		    connector->connection == DRM_MODE_UNKNOWNCONNECTION)) {
> -			output->force_reprobe = true;
> -			igt_output_refresh(output);
> -		}
>  	}
>  
>  	drmModeFreePlaneResources(plane_resources);
> @@ -2070,6 +2062,25 @@ void igt_display_require(igt_display_t *display, int drm_fd)
>  	igt_display_commit2(display,
>  			    display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
>  
> +	/*
> +	 * Let's reprobe all connectors to make sure we have up to date stete.
> +	 * Some connectors may require disabling modeset to be detected
> +	 * correctly.
> +	 */
> +	for (i = 0; i < display->n_outputs; i++) {
> +		igt_output_t *output = &display->outputs[i];
> +		drmModeConnector *connector;
> +
> +		igt_output_refresh(output);
> +
> +		connector = output->config.connector;
> +		if (connector && (!connector->count_modes ||
> +		    connector->connection == DRM_MODE_UNKNOWNCONNECTION)) {
> +			output->force_reprobe = true;
> +			igt_output_refresh(output);
> +		}
> +	}
> +
>  out:
>  	LOG_UNINDENT(display);
>  
> -- 
> 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] 14+ messages in thread

end of thread, other threads:[~2020-04-02 14:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-31 12:38 [igt-dev] [PATCH i-g-t 0/4] Chamelium and TypeC Arkadiusz Hiler
2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 1/4] lib/kms: Commit reasonable defaults on display init Arkadiusz Hiler
2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 2/4] lib/kms: Reprobe connector state after disabling modest Arkadiusz Hiler
2020-04-02 14:53   ` Imre Deak
2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 3/4] tests/kms_chamelium: Issue disabling modeset when resetting state Arkadiusz Hiler
2020-04-02  3:28   ` Kunal Joshi
2020-03-31 12:38 ` [igt-dev] [PATCH i-g-t 4/4] tests/kms_chamelium: Test HPD for different mode handling scenarios Arkadiusz Hiler
2020-04-01 16:29   ` [igt-dev] [PATCH i-g-t v2 " Arkadiusz Hiler
2020-04-02  2:25     ` Kunal Joshi
2020-04-02  9:56       ` Arkadiusz Hiler
2020-04-01  2:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC Patchwork
2020-04-01 17:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Chamelium and TypeC (rev2) Patchwork
2020-04-01 18:17 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC Patchwork
2020-04-02 13:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for Chamelium and TypeC (rev2) 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.