Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function.
@ 2017-11-16 12:45 Maarten Lankhorst
  2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
  To: intel-gfx

A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_kms.c | 162 +++++++++++++++++++++++++++++++++++++---------------------
 lib/igt_kms.h |   1 +
 2 files changed, 104 insertions(+), 59 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1d26b8ddbf43..239f4f17d22e 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
 			       -1);
 	}
 
-	if (output->config.connector) {
+	if (output->config.connector)
 		igt_atomic_fill_connector_props(display, output,
 			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
 
-		if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
-			igt_output_set_prop_value(output,
-						  IGT_CONNECTOR_BROADCAST_RGB,
-						  BROADCAST_RGB_FULL);
-	}
-
 	LOG(display, "%s: Selecting pipe %s\n", output->name,
 	    kmstest_pipe_name(output->pending_pipe));
 }
 
-static bool
-get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
-				    name, prop_id, value, prop);
-}
-
 static int
 igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 {
@@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 				 DRM_MODE_OBJECT_PLANE, prop_id, value);
 }
 
-static bool
-get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
-				    name, prop_id, value, prop);
-}
-
 /*
  * Walk a plane's property list to determine its type.  If we don't
  * find a type property, then the kernel doesn't support universal
@@ -1601,14 +1577,110 @@ static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
 	uint64_t value;
 	bool has_prop;
 
-	has_prop = get_plane_property(drm_fd, plane_id, "type",
-				      NULL /* prop_id */, &value, NULL);
+	has_prop = kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
+					"type", NULL, &value, NULL);
 	if (has_prop)
 		return (int)value;
 
 	return DRM_PLANE_TYPE_OVERLAY;
 }
 
+static void igt_plane_reset(igt_plane_t *plane)
+{
+	/* Reset src coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
+
+	/* Reset crtc coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
+
+	/* Reset binding to fb and crtc. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
+
+	/* Use default rotation */
+	if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION))
+		igt_plane_set_prop_value(plane, IGT_PLANE_ROTATION,
+					 IGT_ROTATION_0);
+
+	igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
+	plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
+}
+
+static void igt_pipe_reset(igt_pipe_t *pipe)
+{
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+
+	pipe->out_fence_fd = -1;
+}
+
+static void igt_output_reset(igt_output_t *output)
+{
+	output->pending_pipe = PIPE_NONE;
+	output->use_override_mode = false;
+	memset(&output->override_mode, 0, sizeof(output->override_mode));
+
+	igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
+
+	if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
+		igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB,
+					  BROADCAST_RGB_FULL);
+}
+
+/**
+ * igt_display_reset:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reset basic pipes, connectors and planes on @display back to default values.
+ * In particular, the following properties will be reset:
+ *
+ * For outputs:
+ * - %IGT_CONNECTOR_CRTC_ID
+ * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
+ * - igt_output_override_mode() to default.
+ *
+ * For pipes:
+ * - %IGT_CRTC_MODE_ID (leaked)
+ * - %IGT_CRTC_ACTIVE
+ * - %IGT_CRTC_OUT_FENCE_PTR
+ *
+ * For planes:
+ * - %IGT_PLANE_SRC_*
+ * - %IGT_PLANE_CRTC_*
+ * - %IGT_PLANE_FB_ID
+ * - %IGT_PLANE_CRTC_ID
+ * - %IGT_PLANE_ROTATION
+ * - %IGT_PLANE_IN_FENCE_FD
+ */
+void igt_display_reset(igt_display_t *display)
+{
+	enum pipe pipe;
+	int i;
+
+	for_each_pipe(display, pipe) {
+		igt_pipe_t *pipe_obj = &display->pipes[pipe];
+		igt_plane_t *plane;
+
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_reset(plane);
+
+		igt_pipe_reset(pipe_obj);
+	}
+
+	for (i = 0; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+
+		igt_output_reset(output);
+	}
+}
+
 /**
  * igt_display_init:
  * @display: a pointer to an #igt_display_t structure
@@ -1648,7 +1720,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 	plane_resources = drmModeGetPlaneResources(display->drm_fd);
 	igt_assert(plane_resources);
 
-	for (i = 0; i < display->n_pipes; i++) {
+	for_each_pipe(display, i) {
 		igt_pipe_t *pipe = &display->pipes[i];
 		igt_plane_t *plane;
 		int p = 1;
@@ -1661,19 +1733,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		pipe->plane_cursor = -1;
 		pipe->plane_primary = -1;
 		pipe->planes = NULL;
-		pipe->out_fence_fd = -1;
 
 		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
-		/* Force modeset disable on first commit */
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
-
-		get_crtc_property(display->drm_fd, pipe->crtc_id,
-				    "background_color", NULL,
-				    &pipe->values[IGT_CRTC_BACKGROUND],
-				    NULL);
-
 		/* count number of valid planes */
 		for (j = 0; j < plane_resources->count_planes; j++) {
 			drmModePlane *drm_plane;
@@ -1730,24 +1792,6 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 			plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
 
 			igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
-
-			get_plane_property(display->drm_fd, drm_plane->plane_id,
-					   "rotation",
-					   &plane->props[IGT_PLANE_ROTATION],
-					   &plane->values[IGT_PLANE_ROTATION],
-					   NULL);
-
-			/* Clear any residual framebuffer info on first commit. */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_ID);
-
-			/*
-			 * CRTC_X/Y are not changed in igt_plane_set_fb, so
-			 * force them to be sanitized in case they contain
-			 * garbage.
-			 */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_X);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_Y);
 		}
 
 		/*
@@ -1782,18 +1826,18 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		 * a pipe is set with igt_output_set_pipe().
 		 */
 		output->force_reprobe = true;
-		output->pending_pipe = PIPE_NONE;
 		output->id = resources->connectors[i];
 		output->display = display;
 
 		igt_output_refresh(output);
-
-		igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
 	}
 
 	drmModeFreePlaneResources(plane_resources);
 	drmModeFreeResources(resources);
 
+	/* Set reasonable default values for every object in the display. */
+	igt_display_reset(display);
+
 	LOG_UNINDENT(display);
 }
 
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index acc82913e0b7..e1883bf1b8a3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -353,6 +353,7 @@ struct igt_display {
 
 void igt_display_init(igt_display_t *display, int drm_fd);
 void igt_display_fini(igt_display_t *display);
+void igt_display_reset(igt_display_t *display);
 int  igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
 int  igt_display_commit(igt_display_t *display);
 int  igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *user_data);
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
  2017-11-18  0:14   ` Lyude Paul
  2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
  To: intel-gfx

igt_output_from_connector should be used for disconnected outputs
too, this is useful for chamelium testing, where disconnected outputs
may reappear.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_kms.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 239f4f17d22e..fe0ef2bd6f38 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1884,9 +1884,13 @@ igt_output_t *igt_output_from_connector(igt_display_t *display,
 					drmModeConnector *connector)
 {
 	igt_output_t *output, *found = NULL;
+	int i;
+
+	for (i = 0; i < display->n_outputs; i++) {
+		output = &display->outputs[i];
 
-	for_each_connected_output(display, output) {
-		if (output->config.connector->connector_id ==
+		if (output->config.connector &&
+		    output->config.connector->connector_id ==
 		    connector->connector_id) {
 			found = output;
 			break;
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
  2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
  2017-11-18  0:05   ` Lyude Paul
  2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
  To: intel-gfx

Instead of first calling kmstest_unset_all_crtcs, and calling
igt_display_init for each test, use igt_display_reset to reset
igt_display between tests, and use atomic commit to disable all
unused crtcs in enable_output().

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 tests/chamelium.c | 45 ++++++++++++---------------------------------
 1 file changed, 12 insertions(+), 33 deletions(-)

diff --git a/tests/chamelium.c b/tests/chamelium.c
index d4a185e76873..8855a8300049 100644
--- a/tests/chamelium.c
+++ b/tests/chamelium.c
@@ -33,6 +33,7 @@
 typedef struct {
 	struct chamelium *chamelium;
 	struct chamelium_port **ports;
+	igt_display_t display;
 	int port_count;
 
 	int drm_fd;
@@ -409,9 +410,9 @@ test_suspend_resume_edid_change(data_t *data, struct chamelium_port *port,
 
 static igt_output_t *
 prepare_output(data_t *data,
-	       igt_display_t *display,
 	       struct chamelium_port *port)
 {
+	igt_display_t *display = &data->display;
 	igt_output_t *output;
 	drmModeRes *res;
 	drmModeConnector *connector =
@@ -420,7 +421,6 @@ prepare_output(data_t *data,
 	bool found = false;
 
 	igt_assert(res = drmModeGetResources(data->drm_fd));
-	kmstest_unset_all_crtcs(data->drm_fd, res);
 
 	/* The chamelium's default EDID has a lot of resolutions, way more then
 	 * we need to test
@@ -430,11 +430,9 @@ prepare_output(data_t *data,
 	chamelium_plug(data->chamelium, port);
 	wait_for_connector(data, port, DRM_MODE_CONNECTED);
 
-	igt_display_init(display, data->drm_fd);
-	output = igt_output_from_connector(display, connector);
+	igt_display_reset(display);
 
-	igt_assert(kmstest_probe_connector_config(
-		data->drm_fd, connector->connector_id, ~0, &output->config));
+	output = igt_output_from_connector(display, connector);
 
 	for_each_pipe(display, pipe) {
 		if (!igt_pipe_connector_valid(pipe, output))
@@ -477,7 +475,7 @@ enable_output(data_t *data,
 	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
 	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL, 0);
 
-	igt_display_commit(display);
+	igt_display_commit2(display, COMMIT_ATOMIC);
 
 	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
 		usleep(250000);
@@ -485,25 +483,10 @@ enable_output(data_t *data,
 	drmModeFreeConnector(connector);
 }
 
-static void
-disable_output(data_t *data,
-	       struct chamelium_port *port,
-	       igt_output_t *output)
-{
-	igt_display_t *display = output->display;
-	igt_plane_t *primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-	igt_assert(primary);
-
-	/* Disable the display */
-	igt_plane_set_fb(primary, NULL);
-	igt_display_commit(display);
-}
-
 static void
 test_display_crc(data_t *data, struct chamelium_port *port, int count,
 		 bool fast)
 {
-	igt_display_t display;
 	igt_output_t *output;
 	igt_plane_t *primary;
 	igt_crc_t *crc;
@@ -517,7 +500,7 @@ test_display_crc(data_t *data, struct chamelium_port *port, int count,
 
 	reset_state(data, port);
 
-	output = prepare_output(data, &display, port);
+	output = prepare_output(data, port);
 	connector = chamelium_port_get_connector(data->chamelium, port, false);
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_assert(primary);
@@ -561,18 +544,15 @@ test_display_crc(data_t *data, struct chamelium_port *port, int count,
 		free(expected_crc);
 		free(crc);
 
-		disable_output(data, port, output);
 		igt_remove_fb(data->drm_fd, &fb);
 	}
 
 	drmModeFreeConnector(connector);
-	igt_display_fini(&display);
 }
 
 static void
 test_display_frame_dump(data_t *data, struct chamelium_port *port)
 {
-	igt_display_t display;
 	igt_output_t *output;
 	igt_plane_t *primary;
 	struct igt_fb fb;
@@ -583,7 +563,7 @@ test_display_frame_dump(data_t *data, struct chamelium_port *port)
 
 	reset_state(data, port);
 
-	output = prepare_output(data, &display, port);
+	output = prepare_output(data, port);
 	connector = chamelium_port_get_connector(data->chamelium, port, false);
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_assert(primary);
@@ -608,18 +588,15 @@ test_display_frame_dump(data_t *data, struct chamelium_port *port)
 			chamelium_destroy_frame_dump(frame);
 		}
 
-		disable_output(data, port, output);
 		igt_remove_fb(data->drm_fd, &fb);
 	}
 
 	drmModeFreeConnector(connector);
-	igt_display_fini(&display);
 }
 
 static void
 test_analog_frame_dump(data_t *data, struct chamelium_port *port)
 {
-	igt_display_t display;
 	igt_output_t *output;
 	igt_plane_t *primary;
 	struct igt_fb fb;
@@ -631,7 +608,7 @@ test_analog_frame_dump(data_t *data, struct chamelium_port *port)
 
 	reset_state(data, port);
 
-	output = prepare_output(data, &display, port);
+	output = prepare_output(data, port);
 	connector = chamelium_port_get_connector(data->chamelium, port, false);
 	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_assert(primary);
@@ -666,12 +643,10 @@ test_analog_frame_dump(data_t *data, struct chamelium_port *port)
 
 		chamelium_destroy_frame_dump(frame);
 
-		disable_output(data, port, output);
 		igt_remove_fb(data->drm_fd, &fb);
 	}
 
 	drmModeFreeConnector(connector);
-	igt_display_fini(&display);
 }
 
 static void
@@ -773,6 +748,9 @@ igt_main
 
 		/* So fbcon doesn't try to reprobe things itself */
 		kmstest_set_vt_graphics_mode();
+
+		igt_display_init(&data.display, data.drm_fd);
+		igt_require(data.display.is_atomic);
 	}
 
 	igt_subtest_group {
@@ -952,6 +930,7 @@ igt_main
 	}
 
 	igt_fixture {
+		igt_display_fini(&data.display);
 		close(data.drm_fd);
 	}
 }
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
  2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
  2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
@ 2017-11-16 12:45 ` Maarten Lankhorst
  2017-11-18  0:42   ` Lyude Paul
  2017-11-16 13:44 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function Patchwork
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 12:45 UTC (permalink / raw)
  To: intel-gfx

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 tests/Makefile.am                      |  6 +++---
 tests/intel-ci/fast-feedback.testlist  | 18 +++++++++---------
 tests/{chamelium.c => kms_chamelium.c} |  0
 tests/meson.build                      |  2 +-
 4 files changed, 13 insertions(+), 13 deletions(-)
 rename tests/{chamelium.c => kms_chamelium.c} (100%)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 89a970153992..db360523dad6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -16,7 +16,7 @@ endif
 
 if HAVE_CHAMELIUM
 TESTS_progs += \
-	chamelium \
+	kms_chamelium \
 	$(NULL)
 endif
 
@@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
 vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
 vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
 
-chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
-chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
+kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
+kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
 
 audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
 audio_LDADD = $(LDADD) $(ALSA_LIBS)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index bf8c1e663801..f74da743ce88 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,14 +1,5 @@
 # Keep alphabetically sorted by default
 
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-crc-fast
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-edid-read
-igt@chamelium@common-hpd-after-suspend
 igt@core_auth@basic-auth
 igt@core_prop_blob@basic
 igt@debugfs_test@read_all_entries
@@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
 igt@kms_busy@basic-flip-a
 igt@kms_busy@basic-flip-b
 igt@kms_busy@basic-flip-c
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@common-hpd-after-suspend
 igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
 igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
 igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
similarity index 100%
rename from tests/chamelium.c
rename to tests/kms_chamelium.c
diff --git a/tests/meson.build b/tests/meson.build
index c3d5372f78ac..20ff79dcb15f 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -251,7 +251,7 @@ endif
 
 if chamelium.found()
 	test_progs += [
-		'chamelium',
+		'kms_chamelium',
 	]
 	test_deps += chamelium
 endif
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function.
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (2 preceding siblings ...)
  2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
@ 2017-11-16 13:44 ` Patchwork
  2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 13:44 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/4] lib/igt_kms: Add igt_display_reset function.
URL   : https://patchwork.freedesktop.org/series/33934/
State : failure

== Summary ==

IGT patchset tested on top of latest successful build
88d6550795fad3974d77e4db2f563c5e2e8872e1 Revert "tests/kms_flip: Make flip-vs-panning-vs-hang change DSPSURF"

with latest DRM-Tip kernel build CI_DRM_3353
1fc4fe8ac97e drm-tip: 2017y-11m-16d-12h-57m-10s UTC integration manifest

Testlist changes:
+igt@kms_chamelium@common-hpd-after-hibernate
+igt@kms_chamelium@common-hpd-after-suspend
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@dp-crc-multiple
+igt@kms_chamelium@dp-crc-single
+igt@kms_chamelium@dp-edid-change-during-hibernate
+igt@kms_chamelium@dp-edid-change-during-suspend
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-frame-dump
+igt@kms_chamelium@dp-hpd
+igt@kms_chamelium@dp-hpd-after-hibernate
+igt@kms_chamelium@dp-hpd-after-suspend
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-hpd-storm
+igt@kms_chamelium@dp-hpd-storm-disable
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@hdmi-crc-multiple
+igt@kms_chamelium@hdmi-crc-single
+igt@kms_chamelium@hdmi-edid-change-during-hibernate
+igt@kms_chamelium@hdmi-edid-change-during-suspend
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-frame-dump
+igt@kms_chamelium@hdmi-hpd
+igt@kms_chamelium@hdmi-hpd-after-hibernate
+igt@kms_chamelium@hdmi-hpd-after-suspend
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-hpd-storm
+igt@kms_chamelium@hdmi-hpd-storm-disable
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@vga-frame-dump
+igt@kms_chamelium@vga-hpd
+igt@kms_chamelium@vga-hpd-after-hibernate
+igt@kms_chamelium@vga-hpd-after-suspend
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-hpd-without-ddc
-igt@chamelium@common-hpd-after-hibernate
-igt@chamelium@common-hpd-after-suspend
-igt@chamelium@dp-crc-fast
-igt@chamelium@dp-crc-multiple
-igt@chamelium@dp-crc-single
-igt@chamelium@dp-edid-change-during-hibernate
-igt@chamelium@dp-edid-change-during-suspend
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-frame-dump
-igt@chamelium@dp-hpd
-igt@chamelium@dp-hpd-after-hibernate
-igt@chamelium@dp-hpd-after-suspend
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-hpd-storm
-igt@chamelium@dp-hpd-storm-disable
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@hdmi-crc-multiple
-igt@chamelium@hdmi-crc-single
-igt@chamelium@hdmi-edid-change-during-hibernate
-igt@chamelium@hdmi-edid-change-during-suspend
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-frame-dump
-igt@chamelium@hdmi-hpd
-igt@chamelium@hdmi-hpd-after-hibernate
-igt@chamelium@hdmi-hpd-after-suspend
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-hpd-storm
-igt@chamelium@hdmi-hpd-storm-disable
-igt@chamelium@vga-edid-read
-igt@chamelium@vga-frame-dump
-igt@chamelium@vga-hpd
-igt@chamelium@vga-hpd-after-hibernate
-igt@chamelium@vga-hpd-after-suspend
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-hpd-without-ddc

Test debugfs_test:
        Subgroup read_all_entries:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
Test kms_busy:
        Subgroup basic-flip-a:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup basic-flip-b:
                pass       -> FAIL       (fi-bwr-2160) fdo#103182
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi) fdo#102403
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup basic-flip-c:
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-bsw-n3050)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k) fdo#103097 +2
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205) fdo#102035 +5
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
Test kms_cursor_legacy:
        Subgroup basic-busy-flip-before-cursor-legacy:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
        Subgroup basic-flip-after-cursor-legacy:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
        Subgroup basic-flip-after-cursor-varying-size:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
        Subgroup basic-flip-before-cursor-legacy:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
        Subgroup basic-flip-before-cursor-varying-size:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
Test kms_force_connector_basic:
        Subgroup force-connector-state:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-a:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup hang-read-crc-pipe-b:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k) fdo#103191 +4
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup hang-read-crc-pipe-c:
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-bsw-n3050)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u) fdo#103163 +1
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup nonblocking-crc-pipe-a:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup nonblocking-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k) fdo#103546 +1
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u) fdo#103165 +1
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup nonblocking-crc-pipe-b:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900)
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
                pass       -> FAIL       (fi-ilk-650)
                pass       -> FAIL       (fi-snb-2520m)
                pass       -> FAIL       (fi-snb-2600)
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-byt-j1900) fdo#102657
                pass       -> FAIL       (fi-byt-n2820)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup nonblocking-crc-pipe-c:
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-bsw-n3050)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup nonblocking-crc-pipe-c-frame-sequence:
                pass       -> FAIL       (fi-ivb-3520m)
                pass       -> FAIL       (fi-ivb-3770)
                pass       -> FAIL       (fi-hsw-4770)
                pass       -> FAIL       (fi-hsw-4770r)
                pass       -> FAIL       (fi-bdw-5557u)
                pass       -> FAIL       (fi-bsw-n3050)
                pass       -> FAIL       (fi-skl-6260u)
                pass       -> FAIL       (fi-skl-6600u)
                pass       -> FAIL       (fi-skl-6700hq)
                pass       -> FAIL       (fi-skl-6700k)
                pass       -> FAIL       (fi-skl-6770hq)
                pass       -> FAIL       (fi-skl-gvtdvm)
                pass       -> FAIL       (fi-bxt-dsi)
                pass       -> FAIL       (fi-bxt-j4205)
                pass       -> FAIL       (fi-kbl-7500u)
                pass       -> FAIL       (fi-kbl-7560u)
                pass       -> FAIL       (fi-kbl-7567u)
                pass       -> FAIL       (fi-kbl-r)
                pass       -> FAIL       (fi-glk-1)
        Subgroup read-crc-pipe-a:
                pass       -> FAIL       (fi-bwr-2160)
                pass       -> FAIL       (fi-elk-e7500)
  

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_509/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2.
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (3 preceding siblings ...)
  2017-11-16 13:44 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function Patchwork
@ 2017-11-16 16:07 ` Maarten Lankhorst
  2017-11-16 18:42   ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3 Maarten Lankhorst
  2017-11-16 16:23 ` ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2) Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 16:07 UTC (permalink / raw)
  To: intel-gfx

A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.

Changes since v1:
- Merely reset rotation to HW value.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_kms.c | 164 +++++++++++++++++++++++++++++++++++++---------------------
 lib/igt_kms.h |   1 +
 2 files changed, 106 insertions(+), 59 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1d26b8ddbf43..d51aba50e3d1 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
 			       -1);
 	}
 
-	if (output->config.connector) {
+	if (output->config.connector)
 		igt_atomic_fill_connector_props(display, output,
 			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
 
-		if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
-			igt_output_set_prop_value(output,
-						  IGT_CONNECTOR_BROADCAST_RGB,
-						  BROADCAST_RGB_FULL);
-	}
-
 	LOG(display, "%s: Selecting pipe %s\n", output->name,
 	    kmstest_pipe_name(output->pending_pipe));
 }
 
-static bool
-get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
-				    name, prop_id, value, prop);
-}
-
 static int
 igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 {
@@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 				 DRM_MODE_OBJECT_PLANE, prop_id, value);
 }
 
-static bool
-get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
-				    name, prop_id, value, prop);
-}
-
 /*
  * Walk a plane's property list to determine its type.  If we don't
  * find a type property, then the kernel doesn't support universal
@@ -1601,14 +1577,112 @@ static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
 	uint64_t value;
 	bool has_prop;
 
-	has_prop = get_plane_property(drm_fd, plane_id, "type",
-				      NULL /* prop_id */, &value, NULL);
+	has_prop = kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
+					"type", NULL, &value, NULL);
 	if (has_prop)
 		return (int)value;
 
 	return DRM_PLANE_TYPE_OVERLAY;
 }
 
+static void igt_plane_reset(igt_plane_t *plane)
+{
+	/* Reset src coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
+
+	/* Reset crtc coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
+
+	/* Reset binding to fb and crtc. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
+
+	/* Use default rotation */
+	if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION)) {
+		plane->values[IGT_PLANE_ROTATION] =
+			igt_plane_get_prop_value(plane, IGT_PLANE_ROTATION);
+		igt_plane_clear_prop_changed(plane, IGT_PLANE_ROTATION);
+	}
+
+	igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
+	plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
+}
+
+static void igt_pipe_reset(igt_pipe_t *pipe)
+{
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+
+	pipe->out_fence_fd = -1;
+}
+
+static void igt_output_reset(igt_output_t *output)
+{
+	output->pending_pipe = PIPE_NONE;
+	output->use_override_mode = false;
+	memset(&output->override_mode, 0, sizeof(output->override_mode));
+
+	igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
+
+	if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
+		igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB,
+					  BROADCAST_RGB_FULL);
+}
+
+/**
+ * igt_display_reset:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reset basic pipes, connectors and planes on @display back to default values.
+ * In particular, the following properties will be reset:
+ *
+ * For outputs:
+ * - %IGT_CONNECTOR_CRTC_ID
+ * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
+ * - igt_output_override_mode() to default.
+ *
+ * For pipes:
+ * - %IGT_CRTC_MODE_ID (leaked)
+ * - %IGT_CRTC_ACTIVE
+ * - %IGT_CRTC_OUT_FENCE_PTR
+ *
+ * For planes:
+ * - %IGT_PLANE_SRC_*
+ * - %IGT_PLANE_CRTC_*
+ * - %IGT_PLANE_FB_ID
+ * - %IGT_PLANE_CRTC_ID
+ * - %IGT_PLANE_ROTATION
+ * - %IGT_PLANE_IN_FENCE_FD
+ */
+void igt_display_reset(igt_display_t *display)
+{
+	enum pipe pipe;
+	int i;
+
+	for_each_pipe(display, pipe) {
+		igt_pipe_t *pipe_obj = &display->pipes[pipe];
+		igt_plane_t *plane;
+
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_reset(plane);
+
+		igt_pipe_reset(pipe_obj);
+	}
+
+	for (i = 0; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+
+		igt_output_reset(output);
+	}
+}
+
 /**
  * igt_display_init:
  * @display: a pointer to an #igt_display_t structure
@@ -1648,7 +1722,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 	plane_resources = drmModeGetPlaneResources(display->drm_fd);
 	igt_assert(plane_resources);
 
-	for (i = 0; i < display->n_pipes; i++) {
+	for_each_pipe(display, i) {
 		igt_pipe_t *pipe = &display->pipes[i];
 		igt_plane_t *plane;
 		int p = 1;
@@ -1661,19 +1735,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		pipe->plane_cursor = -1;
 		pipe->plane_primary = -1;
 		pipe->planes = NULL;
-		pipe->out_fence_fd = -1;
 
 		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
-		/* Force modeset disable on first commit */
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
-
-		get_crtc_property(display->drm_fd, pipe->crtc_id,
-				    "background_color", NULL,
-				    &pipe->values[IGT_CRTC_BACKGROUND],
-				    NULL);
-
 		/* count number of valid planes */
 		for (j = 0; j < plane_resources->count_planes; j++) {
 			drmModePlane *drm_plane;
@@ -1730,24 +1794,6 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 			plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
 
 			igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
-
-			get_plane_property(display->drm_fd, drm_plane->plane_id,
-					   "rotation",
-					   &plane->props[IGT_PLANE_ROTATION],
-					   &plane->values[IGT_PLANE_ROTATION],
-					   NULL);
-
-			/* Clear any residual framebuffer info on first commit. */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_ID);
-
-			/*
-			 * CRTC_X/Y are not changed in igt_plane_set_fb, so
-			 * force them to be sanitized in case they contain
-			 * garbage.
-			 */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_X);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_Y);
 		}
 
 		/*
@@ -1782,18 +1828,18 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		 * a pipe is set with igt_output_set_pipe().
 		 */
 		output->force_reprobe = true;
-		output->pending_pipe = PIPE_NONE;
 		output->id = resources->connectors[i];
 		output->display = display;
 
 		igt_output_refresh(output);
-
-		igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
 	}
 
 	drmModeFreePlaneResources(plane_resources);
 	drmModeFreeResources(resources);
 
+	/* Set reasonable default values for every object in the display. */
+	igt_display_reset(display);
+
 	LOG_UNINDENT(display);
 }
 
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index acc82913e0b7..e1883bf1b8a3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -353,6 +353,7 @@ struct igt_display {
 
 void igt_display_init(igt_display_t *display, int drm_fd);
 void igt_display_fini(igt_display_t *display);
+void igt_display_reset(igt_display_t *display);
 int  igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
 int  igt_display_commit(igt_display_t *display);
 int  igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *user_data);
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2)
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (4 preceding siblings ...)
  2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
@ 2017-11-16 16:23 ` Patchwork
  2017-11-16 19:03 ` ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3) Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 16:23 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2)
URL   : https://patchwork.freedesktop.org/series/33934/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
936b97165308e179880fc0f218192881953f2544 lib: Dump /sys/kernel/debug/suspend_stats after suspend failure

make  all-recursive
Making all in lib
make  all-recursive
Making all in .
  CC       igt_kms.lo
igt_kms.c: In function ‘igt_plane_reset’:
igt_kms.c:1609:4: error: implicit declaration of function ‘igt_plane_get_prop_value’ [-Werror=implicit-function-declaration]
    igt_plane_get_prop_value(plane, IGT_PLANE_ROTATION);
    ^~~~~~~~~~~~~~~~~~~~~~~~
igt_kms.c:1609:4: warning: nested extern declaration of ‘igt_plane_get_prop_value’ [-Wnested-externs]
cc1: some warnings being treated as errors
Makefile:738: recipe for target 'igt_kms.lo' failed
make[4]: *** [igt_kms.lo] Error 1
Makefile:761: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
Makefile:580: recipe for target 'all' failed
make[2]: *** [all] Error 2
Makefile:533: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
Makefile:465: recipe for target 'all' failed
make: *** [all] Error 2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3.
  2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
@ 2017-11-16 18:42   ` Maarten Lankhorst
  0 siblings, 0 replies; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-16 18:42 UTC (permalink / raw)
  To: intel-gfx

A lot of code duplicates this, but it should be handled in the core.
Add it and use it after igt_display_init(), the tests have to be
converted one by one.

Changes since v1:
- Merely reset rotation to HW value.
Changes since v2:
- Compile.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 lib/igt_kms.c | 164 +++++++++++++++++++++++++++++++++++++---------------------
 lib/igt_kms.h |   1 +
 2 files changed, 106 insertions(+), 59 deletions(-)

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index 1d26b8ddbf43..becd77ce19aa 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
 			       -1);
 	}
 
-	if (output->config.connector) {
+	if (output->config.connector)
 		igt_atomic_fill_connector_props(display, output,
 			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
 
-		if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
-			igt_output_set_prop_value(output,
-						  IGT_CONNECTOR_BROADCAST_RGB,
-						  BROADCAST_RGB_FULL);
-	}
-
 	LOG(display, "%s: Selecting pipe %s\n", output->name,
 	    kmstest_pipe_name(output->pending_pipe));
 }
 
-static bool
-get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
-				    name, prop_id, value, prop);
-}
-
 static int
 igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 {
@@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t value)
 				 DRM_MODE_OBJECT_PLANE, prop_id, value);
 }
 
-static bool
-get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
-		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
-		   drmModePropertyPtr *prop /* out */)
-{
-	return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
-				    name, prop_id, value, prop);
-}
-
 /*
  * Walk a plane's property list to determine its type.  If we don't
  * find a type property, then the kernel doesn't support universal
@@ -1601,14 +1577,112 @@ static int get_drm_plane_type(int drm_fd, uint32_t plane_id)
 	uint64_t value;
 	bool has_prop;
 
-	has_prop = get_plane_property(drm_fd, plane_id, "type",
-				      NULL /* prop_id */, &value, NULL);
+	has_prop = kmstest_get_property(drm_fd, plane_id, DRM_MODE_OBJECT_PLANE,
+					"type", NULL, &value, NULL);
 	if (has_prop)
 		return (int)value;
 
 	return DRM_PLANE_TYPE_OVERLAY;
 }
 
+static void igt_plane_reset(igt_plane_t *plane)
+{
+	/* Reset src coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
+
+	/* Reset crtc coordinates. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
+
+	/* Reset binding to fb and crtc. */
+	igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
+	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
+
+	/* Use default rotation */
+	if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION)) {
+		plane->values[IGT_PLANE_ROTATION] =
+			igt_plane_get_prop(plane, IGT_PLANE_ROTATION);
+		igt_plane_clear_prop_changed(plane, IGT_PLANE_ROTATION);
+	}
+
+	igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
+	plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
+}
+
+static void igt_pipe_reset(igt_pipe_t *pipe)
+{
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
+	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
+	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
+
+	pipe->out_fence_fd = -1;
+}
+
+static void igt_output_reset(igt_output_t *output)
+{
+	output->pending_pipe = PIPE_NONE;
+	output->use_override_mode = false;
+	memset(&output->override_mode, 0, sizeof(output->override_mode));
+
+	igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
+
+	if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
+		igt_output_set_prop_value(output, IGT_CONNECTOR_BROADCAST_RGB,
+					  BROADCAST_RGB_FULL);
+}
+
+/**
+ * igt_display_reset:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reset basic pipes, connectors and planes on @display back to default values.
+ * In particular, the following properties will be reset:
+ *
+ * For outputs:
+ * - %IGT_CONNECTOR_CRTC_ID
+ * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
+ * - igt_output_override_mode() to default.
+ *
+ * For pipes:
+ * - %IGT_CRTC_MODE_ID (leaked)
+ * - %IGT_CRTC_ACTIVE
+ * - %IGT_CRTC_OUT_FENCE_PTR
+ *
+ * For planes:
+ * - %IGT_PLANE_SRC_*
+ * - %IGT_PLANE_CRTC_*
+ * - %IGT_PLANE_FB_ID
+ * - %IGT_PLANE_CRTC_ID
+ * - %IGT_PLANE_ROTATION
+ * - %IGT_PLANE_IN_FENCE_FD
+ */
+void igt_display_reset(igt_display_t *display)
+{
+	enum pipe pipe;
+	int i;
+
+	for_each_pipe(display, pipe) {
+		igt_pipe_t *pipe_obj = &display->pipes[pipe];
+		igt_plane_t *plane;
+
+		for_each_plane_on_pipe(display, pipe, plane)
+			igt_plane_reset(plane);
+
+		igt_pipe_reset(pipe_obj);
+	}
+
+	for (i = 0; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+
+		igt_output_reset(output);
+	}
+}
+
 /**
  * igt_display_init:
  * @display: a pointer to an #igt_display_t structure
@@ -1648,7 +1722,7 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 	plane_resources = drmModeGetPlaneResources(display->drm_fd);
 	igt_assert(plane_resources);
 
-	for (i = 0; i < display->n_pipes; i++) {
+	for_each_pipe(display, i) {
 		igt_pipe_t *pipe = &display->pipes[i];
 		igt_plane_t *plane;
 		int p = 1;
@@ -1661,19 +1735,9 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		pipe->plane_cursor = -1;
 		pipe->plane_primary = -1;
 		pipe->planes = NULL;
-		pipe->out_fence_fd = -1;
 
 		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS, igt_crtc_prop_names);
 
-		/* Force modeset disable on first commit */
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
-		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
-
-		get_crtc_property(display->drm_fd, pipe->crtc_id,
-				    "background_color", NULL,
-				    &pipe->values[IGT_CRTC_BACKGROUND],
-				    NULL);
-
 		/* count number of valid planes */
 		for (j = 0; j < plane_resources->count_planes; j++) {
 			drmModePlane *drm_plane;
@@ -1730,24 +1794,6 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 			plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
 
 			igt_fill_plane_props(display, plane, IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
-
-			get_plane_property(display->drm_fd, drm_plane->plane_id,
-					   "rotation",
-					   &plane->props[IGT_PLANE_ROTATION],
-					   &plane->values[IGT_PLANE_ROTATION],
-					   NULL);
-
-			/* Clear any residual framebuffer info on first commit. */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_ID);
-
-			/*
-			 * CRTC_X/Y are not changed in igt_plane_set_fb, so
-			 * force them to be sanitized in case they contain
-			 * garbage.
-			 */
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_X);
-			igt_plane_set_prop_changed(plane, IGT_PLANE_CRTC_Y);
 		}
 
 		/*
@@ -1782,18 +1828,18 @@ void igt_display_init(igt_display_t *display, int drm_fd)
 		 * a pipe is set with igt_output_set_pipe().
 		 */
 		output->force_reprobe = true;
-		output->pending_pipe = PIPE_NONE;
 		output->id = resources->connectors[i];
 		output->display = display;
 
 		igt_output_refresh(output);
-
-		igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
 	}
 
 	drmModeFreePlaneResources(plane_resources);
 	drmModeFreeResources(resources);
 
+	/* Set reasonable default values for every object in the display. */
+	igt_display_reset(display);
+
 	LOG_UNINDENT(display);
 }
 
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index acc82913e0b7..e1883bf1b8a3 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -353,6 +353,7 @@ struct igt_display {
 
 void igt_display_init(igt_display_t *display, int drm_fd);
 void igt_display_fini(igt_display_t *display);
+void igt_display_reset(igt_display_t *display);
 int  igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
 int  igt_display_commit(igt_display_t *display);
 int  igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags, void *user_data);
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (5 preceding siblings ...)
  2017-11-16 16:23 ` ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2) Patchwork
@ 2017-11-16 19:03 ` Patchwork
  2017-11-16 19:41 ` ✓ Fi.CI.IGT: " Patchwork
  2017-11-18  0:00 ` [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Lyude Paul
  8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 19:03 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
URL   : https://patchwork.freedesktop.org/series/33934/
State : success

== Summary ==

IGT patchset tested on top of latest successful build
936b97165308e179880fc0f218192881953f2544 lib: Dump /sys/kernel/debug/suspend_stats after suspend failure

with latest DRM-Tip kernel build CI_DRM_3354
3878ad19ccd4 drm-tip: 2017y-11m-16d-15h-48m-14s UTC integration manifest

Testlist changes:
+igt@kms_chamelium@common-hpd-after-hibernate
+igt@kms_chamelium@common-hpd-after-suspend
+igt@kms_chamelium@dp-crc-fast
+igt@kms_chamelium@dp-crc-multiple
+igt@kms_chamelium@dp-crc-single
+igt@kms_chamelium@dp-edid-change-during-hibernate
+igt@kms_chamelium@dp-edid-change-during-suspend
+igt@kms_chamelium@dp-edid-read
+igt@kms_chamelium@dp-frame-dump
+igt@kms_chamelium@dp-hpd
+igt@kms_chamelium@dp-hpd-after-hibernate
+igt@kms_chamelium@dp-hpd-after-suspend
+igt@kms_chamelium@dp-hpd-fast
+igt@kms_chamelium@dp-hpd-storm
+igt@kms_chamelium@dp-hpd-storm-disable
+igt@kms_chamelium@hdmi-crc-fast
+igt@kms_chamelium@hdmi-crc-multiple
+igt@kms_chamelium@hdmi-crc-single
+igt@kms_chamelium@hdmi-edid-change-during-hibernate
+igt@kms_chamelium@hdmi-edid-change-during-suspend
+igt@kms_chamelium@hdmi-edid-read
+igt@kms_chamelium@hdmi-frame-dump
+igt@kms_chamelium@hdmi-hpd
+igt@kms_chamelium@hdmi-hpd-after-hibernate
+igt@kms_chamelium@hdmi-hpd-after-suspend
+igt@kms_chamelium@hdmi-hpd-fast
+igt@kms_chamelium@hdmi-hpd-storm
+igt@kms_chamelium@hdmi-hpd-storm-disable
+igt@kms_chamelium@vga-edid-read
+igt@kms_chamelium@vga-frame-dump
+igt@kms_chamelium@vga-hpd
+igt@kms_chamelium@vga-hpd-after-hibernate
+igt@kms_chamelium@vga-hpd-after-suspend
+igt@kms_chamelium@vga-hpd-fast
+igt@kms_chamelium@vga-hpd-without-ddc
-igt@chamelium@common-hpd-after-hibernate
-igt@chamelium@common-hpd-after-suspend
-igt@chamelium@dp-crc-fast
-igt@chamelium@dp-crc-multiple
-igt@chamelium@dp-crc-single
-igt@chamelium@dp-edid-change-during-hibernate
-igt@chamelium@dp-edid-change-during-suspend
-igt@chamelium@dp-edid-read
-igt@chamelium@dp-frame-dump
-igt@chamelium@dp-hpd
-igt@chamelium@dp-hpd-after-hibernate
-igt@chamelium@dp-hpd-after-suspend
-igt@chamelium@dp-hpd-fast
-igt@chamelium@dp-hpd-storm
-igt@chamelium@dp-hpd-storm-disable
-igt@chamelium@hdmi-crc-fast
-igt@chamelium@hdmi-crc-multiple
-igt@chamelium@hdmi-crc-single
-igt@chamelium@hdmi-edid-change-during-hibernate
-igt@chamelium@hdmi-edid-change-during-suspend
-igt@chamelium@hdmi-edid-read
-igt@chamelium@hdmi-frame-dump
-igt@chamelium@hdmi-hpd
-igt@chamelium@hdmi-hpd-after-hibernate
-igt@chamelium@hdmi-hpd-after-suspend
-igt@chamelium@hdmi-hpd-fast
-igt@chamelium@hdmi-hpd-storm
-igt@chamelium@hdmi-hpd-storm-disable
-igt@chamelium@vga-edid-read
-igt@chamelium@vga-frame-dump
-igt@chamelium@vga-hpd
-igt@chamelium@vga-hpd-after-hibernate
-igt@chamelium@vga-hpd-after-suspend
-igt@chamelium@vga-hpd-fast
-igt@chamelium@vga-hpd-without-ddc

Test kms_pipe_crc_basic:
        Subgroup suspend-read-crc-pipe-b:
                pass       -> INCOMPLETE (fi-snb-2520m) fdo#103713

fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713

fi-bdw-5557u     total:289  pass:268  dwarn:0   dfail:0   fail:0   skip:21  time:444s
fi-bdw-gvtdvm    total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:456s
fi-blb-e6850     total:289  pass:223  dwarn:1   dfail:0   fail:0   skip:65  time:381s
fi-bsw-n3050     total:289  pass:243  dwarn:0   dfail:0   fail:0   skip:46  time:541s
fi-bwr-2160      total:289  pass:183  dwarn:0   dfail:0   fail:0   skip:106 time:279s
fi-bxt-dsi       total:289  pass:259  dwarn:0   dfail:0   fail:0   skip:30  time:517s
fi-bxt-j4205     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:519s
fi-byt-j1900     total:289  pass:254  dwarn:0   dfail:0   fail:0   skip:35  time:505s
fi-byt-n2820     total:289  pass:250  dwarn:0   dfail:0   fail:0   skip:39  time:490s
fi-elk-e7500     total:289  pass:229  dwarn:0   dfail:0   fail:0   skip:60  time:435s
fi-gdg-551       total:289  pass:178  dwarn:1   dfail:0   fail:1   skip:109 time:265s
fi-glk-1         total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:545s
fi-hsw-4770      total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:434s
fi-hsw-4770r     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:441s
fi-ilk-650       total:289  pass:228  dwarn:0   dfail:0   fail:0   skip:61  time:429s
fi-ivb-3520m     total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:477s
fi-ivb-3770      total:289  pass:260  dwarn:0   dfail:0   fail:0   skip:29  time:463s
fi-kbl-7500u     total:289  pass:264  dwarn:1   dfail:0   fail:0   skip:24  time:484s
fi-kbl-7560u     total:289  pass:270  dwarn:0   dfail:0   fail:0   skip:19  time:529s
fi-kbl-7567u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:475s
fi-kbl-r         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:536s
fi-pnv-d510      total:289  pass:222  dwarn:1   dfail:0   fail:0   skip:66  time:572s
fi-skl-6260u     total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:460s
fi-skl-6600u     total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:546s
fi-skl-6700hq    total:289  pass:263  dwarn:0   dfail:0   fail:0   skip:26  time:563s
fi-skl-6700k     total:289  pass:265  dwarn:0   dfail:0   fail:0   skip:24  time:527s
fi-skl-6770hq    total:289  pass:269  dwarn:0   dfail:0   fail:0   skip:20  time:496s
fi-skl-gvtdvm    total:289  pass:266  dwarn:0   dfail:0   fail:0   skip:23  time:458s
fi-snb-2520m     total:246  pass:212  dwarn:0   dfail:0   fail:0   skip:33 
fi-snb-2600      total:289  pass:249  dwarn:0   dfail:0   fail:0   skip:40  time:425s
Blacklisted hosts:
fi-cfl-s2        total:289  pass:261  dwarn:0   dfail:0   fail:0   skip:28  time:478s
fi-cnl-y         total:289  pass:262  dwarn:0   dfail:0   fail:0   skip:27  time:567s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_512/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (6 preceding siblings ...)
  2017-11-16 19:03 ` ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3) Patchwork
@ 2017-11-16 19:41 ` Patchwork
  2017-11-18  0:00 ` [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Lyude Paul
  8 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2017-11-16 19:41 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

== Series Details ==

Series: series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3)
URL   : https://patchwork.freedesktop.org/series/33934/
State : success

== Summary ==

Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
                pass       -> FAIL       (shard-snb) fdo#101623
        Subgroup fbc-1p-primscrn-indfb-pgflip-blt:
                skip       -> PASS       (shard-hsw)
Test drv_module_reload:
        Subgroup basic-reload-inject:
                pass       -> DMESG-WARN (shard-snb) fdo#102707 +1
        Subgroup basic-reload:
                pass       -> DMESG-WARN (shard-snb) fdo#102848
Test kms_plane_multiple:
        Subgroup atomic-pipe-c-tiling-x:
                skip       -> PASS       (shard-hsw)
Test kms_flip:
        Subgroup dpms-vs-vblank-race:
                fail       -> PASS       (shard-hsw) fdo#103060

fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707
fdo#102848 https://bugs.freedesktop.org/show_bug.cgi?id=102848
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060

shard-hsw        total:2584 pass:1472 dwarn:2   dfail:1   fail:10  skip:1099 time:9449s
shard-snb        total:2584 pass:1257 dwarn:3   dfail:1   fail:12  skip:1311 time:7912s
Blacklisted hosts:
shard-apl        total:2584 pass:1616 dwarn:5   dfail:1   fail:26  skip:936 time:13244s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_512/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function.
  2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
                   ` (7 preceding siblings ...)
  2017-11-16 19:41 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-11-18  0:00 ` Lyude Paul
  8 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18  0:00 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

Reviewed-by: Lyude Paul <lyude@redhat.com>

On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> A lot of code duplicates this, but it should be handled in the core.
> Add it and use it after igt_display_init(), the tests have to be
> converted one by one.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  lib/igt_kms.c | 162 +++++++++++++++++++++++++++++++++++++----------------
> -----
>  lib/igt_kms.h |   1 +
>  2 files changed, 104 insertions(+), 59 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 1d26b8ddbf43..239f4f17d22e 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1549,29 +1549,14 @@ static void igt_output_refresh(igt_output_t *output)
>  			       -1);
>  	}
>  
> -	if (output->config.connector) {
> +	if (output->config.connector)
>  		igt_atomic_fill_connector_props(display, output,
>  			IGT_NUM_CONNECTOR_PROPS, igt_connector_prop_names);
>  
> -		if (output->props[IGT_CONNECTOR_BROADCAST_RGB])
> -			igt_output_set_prop_value(output,
> -						  IGT_CONNECTOR_BROADCAST_R
> GB,
> -						  BROADCAST_RGB_FULL);
> -	}
> -
>  	LOG(display, "%s: Selecting pipe %s\n", output->name,
>  	    kmstest_pipe_name(output->pending_pipe));
>  }
>  
> -static bool
> -get_plane_property(int drm_fd, uint32_t plane_id, const char *name,
> -		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
> -		   drmModePropertyPtr *prop /* out */)
> -{
> -	return kmstest_get_property(drm_fd, plane_id,
> DRM_MODE_OBJECT_PLANE,
> -				    name, prop_id, value, prop);
> -}
> -
>  static int
>  igt_plane_set_property(igt_plane_t *plane, uint32_t prop_id, uint64_t
> value)
>  {
> @@ -1582,15 +1567,6 @@ igt_plane_set_property(igt_plane_t *plane, uint32_t
> prop_id, uint64_t value)
>  				 DRM_MODE_OBJECT_PLANE, prop_id, value);
>  }
>  
> -static bool
> -get_crtc_property(int drm_fd, uint32_t crtc_id, const char *name,
> -		   uint32_t *prop_id /* out */, uint64_t *value /* out */,
> -		   drmModePropertyPtr *prop /* out */)
> -{
> -	return kmstest_get_property(drm_fd, crtc_id, DRM_MODE_OBJECT_CRTC,
> -				    name, prop_id, value, prop);
> -}
> -
>  /*
>   * Walk a plane's property list to determine its type.  If we don't
>   * find a type property, then the kernel doesn't support universal
> @@ -1601,14 +1577,110 @@ static int get_drm_plane_type(int drm_fd, uint32_t
> plane_id)
>  	uint64_t value;
>  	bool has_prop;
>  
> -	has_prop = get_plane_property(drm_fd, plane_id, "type",
> -				      NULL /* prop_id */, &value, NULL);
> +	has_prop = kmstest_get_property(drm_fd, plane_id,
> DRM_MODE_OBJECT_PLANE,
> +					"type", NULL, &value, NULL);
>  	if (has_prop)
>  		return (int)value;
>  
>  	return DRM_PLANE_TYPE_OVERLAY;
>  }
>  
> +static void igt_plane_reset(igt_plane_t *plane)
> +{
> +	/* Reset src coordinates. */
> +	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_X, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_Y, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_W, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_SRC_H, 0);
> +
> +	/* Reset crtc coordinates. */
> +	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_X, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_Y, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_W, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_H, 0);
> +
> +	/* Reset binding to fb and crtc. */
> +	igt_plane_set_prop_value(plane, IGT_PLANE_FB_ID, 0);
> +	igt_plane_set_prop_value(plane, IGT_PLANE_CRTC_ID, 0);
> +
> +	/* Use default rotation */
> +	if (igt_plane_has_prop(plane, IGT_PLANE_ROTATION))
> +		igt_plane_set_prop_value(plane, IGT_PLANE_ROTATION,
> +					 IGT_ROTATION_0);
> +
> +	igt_plane_clear_prop_changed(plane, IGT_PLANE_IN_FENCE_FD);
> +	plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
> +}
> +
> +static void igt_pipe_reset(igt_pipe_t *pipe)
> +{
> +	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_MODE_ID, 0);
> +	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_ACTIVE, 0);
> +	igt_pipe_obj_clear_prop_changed(pipe, IGT_CRTC_OUT_FENCE_PTR);
> +
> +	pipe->out_fence_fd = -1;
> +}
> +
> +static void igt_output_reset(igt_output_t *output)
> +{
> +	output->pending_pipe = PIPE_NONE;
> +	output->use_override_mode = false;
> +	memset(&output->override_mode, 0, sizeof(output->override_mode));
> +
> +	igt_output_set_prop_value(output, IGT_CONNECTOR_CRTC_ID, 0);
> +
> +	if (igt_output_has_prop(output, IGT_CONNECTOR_BROADCAST_RGB))
> +		igt_output_set_prop_value(output,
> IGT_CONNECTOR_BROADCAST_RGB,
> +					  BROADCAST_RGB_FULL);
> +}
> +
> +/**
> + * igt_display_reset:
> + * @display: a pointer to an #igt_display_t structure
> + *
> + * Reset basic pipes, connectors and planes on @display back to default
> values.
> + * In particular, the following properties will be reset:
> + *
> + * For outputs:
> + * - %IGT_CONNECTOR_CRTC_ID
> + * - %IGT_CONNECTOR_BROADCAST_RGB (if applicable)
> + * - igt_output_override_mode() to default.
> + *
> + * For pipes:
> + * - %IGT_CRTC_MODE_ID (leaked)
> + * - %IGT_CRTC_ACTIVE
> + * - %IGT_CRTC_OUT_FENCE_PTR
> + *
> + * For planes:
> + * - %IGT_PLANE_SRC_*
> + * - %IGT_PLANE_CRTC_*
> + * - %IGT_PLANE_FB_ID
> + * - %IGT_PLANE_CRTC_ID
> + * - %IGT_PLANE_ROTATION
> + * - %IGT_PLANE_IN_FENCE_FD
> + */
> +void igt_display_reset(igt_display_t *display)
> +{
> +	enum pipe pipe;
> +	int i;
> +
> +	for_each_pipe(display, pipe) {
> +		igt_pipe_t *pipe_obj = &display->pipes[pipe];
> +		igt_plane_t *plane;
> +
> +		for_each_plane_on_pipe(display, pipe, plane)
> +			igt_plane_reset(plane);
> +
> +		igt_pipe_reset(pipe_obj);
> +	}
> +
> +	for (i = 0; i < display->n_outputs; i++) {
> +		igt_output_t *output = &display->outputs[i];
> +
> +		igt_output_reset(output);
> +	}
> +}
> +
>  /**
>   * igt_display_init:
>   * @display: a pointer to an #igt_display_t structure
> @@ -1648,7 +1720,7 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
>  	plane_resources = drmModeGetPlaneResources(display->drm_fd);
>  	igt_assert(plane_resources);
>  
> -	for (i = 0; i < display->n_pipes; i++) {
> +	for_each_pipe(display, i) {
>  		igt_pipe_t *pipe = &display->pipes[i];
>  		igt_plane_t *plane;
>  		int p = 1;
> @@ -1661,19 +1733,9 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
>  		pipe->plane_cursor = -1;
>  		pipe->plane_primary = -1;
>  		pipe->planes = NULL;
> -		pipe->out_fence_fd = -1;
>  
>  		igt_fill_pipe_props(display, pipe, IGT_NUM_CRTC_PROPS,
> igt_crtc_prop_names);
>  
> -		/* Force modeset disable on first commit */
> -		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_MODE_ID);
> -		igt_pipe_obj_set_prop_changed(pipe, IGT_CRTC_ACTIVE);
> -
> -		get_crtc_property(display->drm_fd, pipe->crtc_id,
> -				    "background_color", NULL,
> -				    &pipe->values[IGT_CRTC_BACKGROUND],
> -				    NULL);
> -
>  		/* count number of valid planes */
>  		for (j = 0; j < plane_resources->count_planes; j++) {
>  			drmModePlane *drm_plane;
> @@ -1730,24 +1792,6 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
>  			plane->values[IGT_PLANE_IN_FENCE_FD] = ~0ULL;
>  
>  			igt_fill_plane_props(display, plane,
> IGT_NUM_PLANE_PROPS, igt_plane_prop_names);
> -
> -			get_plane_property(display->drm_fd, drm_plane-
> >plane_id,
> -					   "rotation",
> -					   &plane-
> >props[IGT_PLANE_ROTATION],
> -					   &plane-
> >values[IGT_PLANE_ROTATION],
> -					   NULL);
> -
> -			/* Clear any residual framebuffer info on first
> commit. */
> -			igt_plane_set_prop_changed(plane, IGT_PLANE_FB_ID);
> -			igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_ID);
> -
> -			/*
> -			 * CRTC_X/Y are not changed in igt_plane_set_fb, so
> -			 * force them to be sanitized in case they contain
> -			 * garbage.
> -			 */
> -			igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_X);
> -			igt_plane_set_prop_changed(plane,
> IGT_PLANE_CRTC_Y);
>  		}
>  
>  		/*
> @@ -1782,18 +1826,18 @@ void igt_display_init(igt_display_t *display, int
> drm_fd)
>  		 * a pipe is set with igt_output_set_pipe().
>  		 */
>  		output->force_reprobe = true;
> -		output->pending_pipe = PIPE_NONE;
>  		output->id = resources->connectors[i];
>  		output->display = display;
>  
>  		igt_output_refresh(output);
> -
> -		igt_output_set_prop_changed(output, IGT_CONNECTOR_CRTC_ID);
>  	}
>  
>  	drmModeFreePlaneResources(plane_resources);
>  	drmModeFreeResources(resources);
>  
> +	/* Set reasonable default values for every object in the display.
> */
> +	igt_display_reset(display);
> +
>  	LOG_UNINDENT(display);
>  }
>  
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index acc82913e0b7..e1883bf1b8a3 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -353,6 +353,7 @@ struct igt_display {
>  
>  void igt_display_init(igt_display_t *display, int drm_fd);
>  void igt_display_fini(igt_display_t *display);
> +void igt_display_reset(igt_display_t *display);
>  int  igt_display_commit2(igt_display_t *display, enum igt_commit_style s);
>  int  igt_display_commit(igt_display_t *display);
>  int  igt_display_try_commit_atomic(igt_display_t *display, uint32_t flags,
> void *user_data);
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once
  2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
@ 2017-11-18  0:05   ` Lyude Paul
  0 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18  0:05 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

Reviewed-by: Lyude Paul <lyude@redhat.com>

On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> Instead of first calling kmstest_unset_all_crtcs, and calling
> igt_display_init for each test, use igt_display_reset to reset
> igt_display between tests, and use atomic commit to disable all
> unused crtcs in enable_output().
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  tests/chamelium.c | 45 ++++++++++++---------------------------------
>  1 file changed, 12 insertions(+), 33 deletions(-)
> 
> diff --git a/tests/chamelium.c b/tests/chamelium.c
> index d4a185e76873..8855a8300049 100644
> --- a/tests/chamelium.c
> +++ b/tests/chamelium.c
> @@ -33,6 +33,7 @@
>  typedef struct {
>  	struct chamelium *chamelium;
>  	struct chamelium_port **ports;
> +	igt_display_t display;
>  	int port_count;
>  
>  	int drm_fd;
> @@ -409,9 +410,9 @@ test_suspend_resume_edid_change(data_t *data, struct
> chamelium_port *port,
>  
>  static igt_output_t *
>  prepare_output(data_t *data,
> -	       igt_display_t *display,
>  	       struct chamelium_port *port)
>  {
> +	igt_display_t *display = &data->display;
>  	igt_output_t *output;
>  	drmModeRes *res;
>  	drmModeConnector *connector =
> @@ -420,7 +421,6 @@ prepare_output(data_t *data,
>  	bool found = false;
>  
>  	igt_assert(res = drmModeGetResources(data->drm_fd));
> -	kmstest_unset_all_crtcs(data->drm_fd, res);
>  
>  	/* The chamelium's default EDID has a lot of resolutions, way more
> then
>  	 * we need to test
> @@ -430,11 +430,9 @@ prepare_output(data_t *data,
>  	chamelium_plug(data->chamelium, port);
>  	wait_for_connector(data, port, DRM_MODE_CONNECTED);
>  
> -	igt_display_init(display, data->drm_fd);
> -	output = igt_output_from_connector(display, connector);
> +	igt_display_reset(display);
>  
> -	igt_assert(kmstest_probe_connector_config(
> -		data->drm_fd, connector->connector_id, ~0, &output-
> >config));
> +	output = igt_output_from_connector(display, connector);
>  
>  	for_each_pipe(display, pipe) {
>  		if (!igt_pipe_connector_valid(pipe, output))
> @@ -477,7 +475,7 @@ enable_output(data_t *data,
>  	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT,
> NULL, 0);
>  	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_CTM, NULL,
> 0);
>  
> -	igt_display_commit(display);
> +	igt_display_commit2(display, COMMIT_ATOMIC);
>  
>  	if (chamelium_port_get_type(port) == DRM_MODE_CONNECTOR_VGA)
>  		usleep(250000);
> @@ -485,25 +483,10 @@ enable_output(data_t *data,
>  	drmModeFreeConnector(connector);
>  }
>  
> -static void
> -disable_output(data_t *data,
> -	       struct chamelium_port *port,
> -	       igt_output_t *output)
> -{
> -	igt_display_t *display = output->display;
> -	igt_plane_t *primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
> -	igt_assert(primary);
> -
> -	/* Disable the display */
> -	igt_plane_set_fb(primary, NULL);
> -	igt_display_commit(display);
> -}
> -
>  static void
>  test_display_crc(data_t *data, struct chamelium_port *port, int count,
>  		 bool fast)
>  {
> -	igt_display_t display;
>  	igt_output_t *output;
>  	igt_plane_t *primary;
>  	igt_crc_t *crc;
> @@ -517,7 +500,7 @@ test_display_crc(data_t *data, struct chamelium_port
> *port, int count,
>  
>  	reset_state(data, port);
>  
> -	output = prepare_output(data, &display, port);
> +	output = prepare_output(data, port);
>  	connector = chamelium_port_get_connector(data->chamelium, port,
> false);
>  	primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(primary);
> @@ -561,18 +544,15 @@ test_display_crc(data_t *data, struct chamelium_port
> *port, int count,
>  		free(expected_crc);
>  		free(crc);
>  
> -		disable_output(data, port, output);
>  		igt_remove_fb(data->drm_fd, &fb);
>  	}
>  
>  	drmModeFreeConnector(connector);
> -	igt_display_fini(&display);
>  }
>  
>  static void
>  test_display_frame_dump(data_t *data, struct chamelium_port *port)
>  {
> -	igt_display_t display;
>  	igt_output_t *output;
>  	igt_plane_t *primary;
>  	struct igt_fb fb;
> @@ -583,7 +563,7 @@ test_display_frame_dump(data_t *data, struct
> chamelium_port *port)
>  
>  	reset_state(data, port);
>  
> -	output = prepare_output(data, &display, port);
> +	output = prepare_output(data, port);
>  	connector = chamelium_port_get_connector(data->chamelium, port,
> false);
>  	primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(primary);
> @@ -608,18 +588,15 @@ test_display_frame_dump(data_t *data, struct
> chamelium_port *port)
>  			chamelium_destroy_frame_dump(frame);
>  		}
>  
> -		disable_output(data, port, output);
>  		igt_remove_fb(data->drm_fd, &fb);
>  	}
>  
>  	drmModeFreeConnector(connector);
> -	igt_display_fini(&display);
>  }
>  
>  static void
>  test_analog_frame_dump(data_t *data, struct chamelium_port *port)
>  {
> -	igt_display_t display;
>  	igt_output_t *output;
>  	igt_plane_t *primary;
>  	struct igt_fb fb;
> @@ -631,7 +608,7 @@ test_analog_frame_dump(data_t *data, struct
> chamelium_port *port)
>  
>  	reset_state(data, port);
>  
> -	output = prepare_output(data, &display, port);
> +	output = prepare_output(data, port);
>  	connector = chamelium_port_get_connector(data->chamelium, port,
> false);
>  	primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
>  	igt_assert(primary);
> @@ -666,12 +643,10 @@ test_analog_frame_dump(data_t *data, struct
> chamelium_port *port)
>  
>  		chamelium_destroy_frame_dump(frame);
>  
> -		disable_output(data, port, output);
>  		igt_remove_fb(data->drm_fd, &fb);
>  	}
>  
>  	drmModeFreeConnector(connector);
> -	igt_display_fini(&display);
>  }
>  
>  static void
> @@ -773,6 +748,9 @@ igt_main
>  
>  		/* So fbcon doesn't try to reprobe things itself */
>  		kmstest_set_vt_graphics_mode();
> +
> +		igt_display_init(&data.display, data.drm_fd);
> +		igt_require(data.display.is_atomic);
>  	}
>  
>  	igt_subtest_group {
> @@ -952,6 +930,7 @@ igt_main
>  	}
>  
>  	igt_fixture {
> +		igt_display_fini(&data.display);
>  		close(data.drm_fd);
>  	}
>  }
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs
  2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
@ 2017-11-18  0:14   ` Lyude Paul
  0 siblings, 0 replies; 15+ messages in thread
From: Lyude Paul @ 2017-11-18  0:14 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

Reviewed-by: Lyude Paul <lyude@redhat.com>

On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> igt_output_from_connector should be used for disconnected outputs
> too, this is useful for chamelium testing, where disconnected outputs
> may reappear.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  lib/igt_kms.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 239f4f17d22e..fe0ef2bd6f38 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -1884,9 +1884,13 @@ igt_output_t *igt_output_from_connector(igt_display_t
> *display,
>  					drmModeConnector *connector)
>  {
>  	igt_output_t *output, *found = NULL;
> +	int i;
> +
> +	for (i = 0; i < display->n_outputs; i++) {
> +		output = &display->outputs[i];
>  
> -	for_each_connected_output(display, output) {
> -		if (output->config.connector->connector_id ==
> +		if (output->config.connector &&
> +		    output->config.connector->connector_id ==
>  		    connector->connector_id) {
>  			found = output;
>  			break;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
  2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
@ 2017-11-18  0:42   ` Lyude Paul
  2017-11-21 14:13     ` Maarten Lankhorst
  0 siblings, 1 reply; 15+ messages in thread
From: Lyude Paul @ 2017-11-18  0:42 UTC (permalink / raw)
  To: Maarten Lankhorst, intel-gfx

Reviewed-by: Lyude Paul <lyude@redhat.com>

On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  tests/Makefile.am                      |  6 +++---
>  tests/intel-ci/fast-feedback.testlist  | 18 +++++++++---------
>  tests/{chamelium.c => kms_chamelium.c} |  0
>  tests/meson.build                      |  2 +-
>  4 files changed, 13 insertions(+), 13 deletions(-)
>  rename tests/{chamelium.c => kms_chamelium.c} (100%)
> 
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 89a970153992..db360523dad6 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -16,7 +16,7 @@ endif
>  
>  if HAVE_CHAMELIUM
>  TESTS_progs += \
> -	chamelium \
> +	kms_chamelium \
>  	$(NULL)
>  endif
>  
> @@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>  vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
>  vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>  
> -chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
> -chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
> +kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
> +kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>  
>  audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
>  audio_LDADD = $(LDADD) $(ALSA_LIBS)
> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-
> feedback.testlist
> index bf8c1e663801..f74da743ce88 100644
> --- a/tests/intel-ci/fast-feedback.testlist
> +++ b/tests/intel-ci/fast-feedback.testlist
> @@ -1,14 +1,5 @@
>  # Keep alphabetically sorted by default
>  
> -igt@chamelium@dp-hpd-fast
> -igt@chamelium@dp-edid-read
> -igt@chamelium@dp-crc-fast
> -igt@chamelium@hdmi-hpd-fast
> -igt@chamelium@hdmi-edid-read
> -igt@chamelium@hdmi-crc-fast
> -igt@chamelium@vga-hpd-fast
> -igt@chamelium@vga-edid-read
> -igt@chamelium@common-hpd-after-suspend
>  igt@core_auth@basic-auth
>  igt@core_prop_blob@basic
>  igt@debugfs_test@read_all_entries
> @@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
>  igt@kms_busy@basic-flip-a
>  igt@kms_busy@basic-flip-b
>  igt@kms_busy@basic-flip-c
> +igt@kms_chamelium@dp-hpd-fast
> +igt@kms_chamelium@dp-edid-read
> +igt@kms_chamelium@dp-crc-fast
> +igt@kms_chamelium@hdmi-hpd-fast
> +igt@kms_chamelium@hdmi-edid-read
> +igt@kms_chamelium@hdmi-crc-fast
> +igt@kms_chamelium@vga-hpd-fast
> +igt@kms_chamelium@vga-edid-read
> +igt@kms_chamelium@common-hpd-after-suspend
>  igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
>  igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
>  igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
> diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
> similarity index 100%
> rename from tests/chamelium.c
> rename to tests/kms_chamelium.c
> diff --git a/tests/meson.build b/tests/meson.build
> index c3d5372f78ac..20ff79dcb15f 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -251,7 +251,7 @@ endif
>  
>  if chamelium.found()
>  	test_progs += [
> -		'chamelium',
> +		'kms_chamelium',
>  	]
>  	test_deps += chamelium
>  endif
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium.
  2017-11-18  0:42   ` Lyude Paul
@ 2017-11-21 14:13     ` Maarten Lankhorst
  0 siblings, 0 replies; 15+ messages in thread
From: Maarten Lankhorst @ 2017-11-21 14:13 UTC (permalink / raw)
  To: Lyude Paul, intel-gfx

Op 18-11-17 om 01:42 schreef Lyude Paul:
> Reviewed-by: Lyude Paul <lyude@redhat.com>
>
> On Thu, 2017-11-16 at 13:45 +0100, Maarten Lankhorst wrote:
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> ---
>>  tests/Makefile.am                      |  6 +++---
>>  tests/intel-ci/fast-feedback.testlist  | 18 +++++++++---------
>>  tests/{chamelium.c => kms_chamelium.c} |  0
>>  tests/meson.build                      |  2 +-
>>  4 files changed, 13 insertions(+), 13 deletions(-)
>>  rename tests/{chamelium.c => kms_chamelium.c} (100%)
>>
>> diff --git a/tests/Makefile.am b/tests/Makefile.am
>> index 89a970153992..db360523dad6 100644
>> --- a/tests/Makefile.am
>> +++ b/tests/Makefile.am
>> @@ -16,7 +16,7 @@ endif
>>  
>>  if HAVE_CHAMELIUM
>>  TESTS_progs += \
>> -	chamelium \
>> +	kms_chamelium \
>>  	$(NULL)
>>  endif
>>  
>> @@ -153,8 +153,8 @@ vc4_wait_bo_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>>  vc4_wait_seqno_CFLAGS = $(AM_CFLAGS) $(DRM_VC4_CFLAGS)
>>  vc4_wait_seqno_LDADD = $(LDADD) $(DRM_VC4_LIBS)
>>  
>> -chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
>> -chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>> +kms_chamelium_CFLAGS = $(AM_CFLAGS) $(XMLRPC_CFLAGS) $(LIBUDEV_CFLAGS)
>> +kms_chamelium_LDADD = $(LDADD) $(XMLRPC_LIBS) $(LIBUDEV_LIBS)
>>  
>>  audio_CFLAGS = $(AM_CFLAGS) $(ALSA_CFLAGS)
>>  audio_LDADD = $(LDADD) $(ALSA_LIBS)
>> diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-
>> feedback.testlist
>> index bf8c1e663801..f74da743ce88 100644
>> --- a/tests/intel-ci/fast-feedback.testlist
>> +++ b/tests/intel-ci/fast-feedback.testlist
>> @@ -1,14 +1,5 @@
>>  # Keep alphabetically sorted by default
>>  
>> -igt@chamelium@dp-hpd-fast
>> -igt@chamelium@dp-edid-read
>> -igt@chamelium@dp-crc-fast
>> -igt@chamelium@hdmi-hpd-fast
>> -igt@chamelium@hdmi-edid-read
>> -igt@chamelium@hdmi-crc-fast
>> -igt@chamelium@vga-hpd-fast
>> -igt@chamelium@vga-edid-read
>> -igt@chamelium@common-hpd-after-suspend
>>  igt@core_auth@basic-auth
>>  igt@core_prop_blob@basic
>>  igt@debugfs_test@read_all_entries
>> @@ -208,6 +199,15 @@ igt@kms_addfb_basic@unused-pitches
>>  igt@kms_busy@basic-flip-a
>>  igt@kms_busy@basic-flip-b
>>  igt@kms_busy@basic-flip-c
>> +igt@kms_chamelium@dp-hpd-fast
>> +igt@kms_chamelium@dp-edid-read
>> +igt@kms_chamelium@dp-crc-fast
>> +igt@kms_chamelium@hdmi-hpd-fast
>> +igt@kms_chamelium@hdmi-edid-read
>> +igt@kms_chamelium@hdmi-crc-fast
>> +igt@kms_chamelium@vga-hpd-fast
>> +igt@kms_chamelium@vga-edid-read
>> +igt@kms_chamelium@common-hpd-after-suspend
>>  igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
>>  igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
>>  igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
>> diff --git a/tests/chamelium.c b/tests/kms_chamelium.c
>> similarity index 100%
>> rename from tests/chamelium.c
>> rename to tests/kms_chamelium.c
>> diff --git a/tests/meson.build b/tests/meson.build
>> index c3d5372f78ac..20ff79dcb15f 100644
>> --- a/tests/meson.build
>> +++ b/tests/meson.build
>> @@ -251,7 +251,7 @@ endif
>>  
>>  if chamelium.found()
>>  	test_progs += [
>> -		'chamelium',
>> +		'kms_chamelium',
>>  	]
>>  	test_deps += chamelium
>>  endif

Pushed, thanks for review. :)

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2017-11-21 14:14 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-16 12:45 [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Maarten Lankhorst
2017-11-16 12:45 ` [PATCH i-g-t 2/4] lib/igt_kms: Make igt_output_from_connector probe all outputs Maarten Lankhorst
2017-11-18  0:14   ` Lyude Paul
2017-11-16 12:45 ` [PATCH i-g-t 3/4] tests/chamelium: Only initialize igt_display once Maarten Lankhorst
2017-11-18  0:05   ` Lyude Paul
2017-11-16 12:45 ` [PATCH i-g-t 4/4] tests: Rename chamelium to kms_chamelium Maarten Lankhorst
2017-11-18  0:42   ` Lyude Paul
2017-11-21 14:13     ` Maarten Lankhorst
2017-11-16 13:44 ` ✗ Fi.CI.BAT: failure for series starting with [1/4] lib/igt_kms: Add igt_display_reset function Patchwork
2017-11-16 16:07 ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v2 Maarten Lankhorst
2017-11-16 18:42   ` [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3 Maarten Lankhorst
2017-11-16 16:23 ` ✗ Fi.CI.BAT: failure for series starting with lib/igt_kms: Add igt_display_reset function, v2. (rev2) Patchwork
2017-11-16 19:03 ` ✓ Fi.CI.BAT: success for series starting with lib/igt_kms: Add igt_display_reset function, v3. (rev3) Patchwork
2017-11-16 19:41 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-18  0:00 ` [PATCH i-g-t 1/4] lib/igt_kms: Add igt_display_reset function Lyude Paul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox