All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot.
@ 2018-01-18 11:13 Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 1/7] tests/kms_flip: Remove blt/rcs flip tests Maarten Lankhorst
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:13 UTC (permalink / raw)
  To: igt-dev

blurb here

Maarten Lankhorst (7):
  tests/kms_flip: Remove blt/rcs flip tests.
  kms_vblank: Reorganize subtests by pipe, v2.
  tests/kms_flip: Move kms_flip.vblank-vs-hang to kms_vblank, v4.
  kms_vblank: Add tests implemented in kms_flip
  kms_flip: Remove redundant vblank tests.
  kms_vblank: Remove teardown code from cleanup_crtc
  lib/igt_kms: Add support for igt_display_readout_hw_state

 lib/igt_kms.c      |  75 ++++++++++++++++++
 lib/igt_kms.h      |   1 +
 tests/kms_flip.c   |  58 +-------------
 tests/kms_vblank.c | 229 ++++++++++++++++++++++++++++++++++++++---------------
 4 files changed, 244 insertions(+), 119 deletions(-)

-- 
2.15.1

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

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

* [igt-dev] [for trybot 1/7] tests/kms_flip: Remove blt/rcs flip tests.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 2/7] kms_vblank: Reorganize subtests by pipe, v2 Maarten Lankhorst
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

With the removal of mmio flips, blt and rcs flips are no longer
different from doing busy testing in kms_busy.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_flip.c | 40 +---------------------------------------
 1 file changed, 1 insertion(+), 39 deletions(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 2899f20e6c73..7689e65b521a 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -45,8 +45,7 @@
 #include "igt_stats.h"
 
 #define TEST_DPMS		(1 << 0)
-#define TEST_WITH_DUMMY_BCS	(1 << 1)
-#define TEST_WITH_DUMMY_RCS	(1 << 2)
+
 #define TEST_PAN		(1 << 3)
 #define TEST_MODESET		(1 << 4)
 #define TEST_CHECK_TS		(1 << 5)
@@ -668,8 +667,6 @@ static unsigned int run_test_step(struct test_output *o)
 	struct vblank_reply vbl_reply;
 	unsigned int target_seq;
 	igt_hang_t hang;
-	igt_spin_t *spin_rcs = 0;
-	igt_spin_t *spin_bcs = 0;
 
 	target_seq = o->vblank_state.seq_step;
 	/* Absolute waits only works once we have a frame counter. */
@@ -691,20 +688,6 @@ static unsigned int run_test_step(struct test_output *o)
 	if (!(o->flags & TEST_SINGLE_BUFFER))
 		o->current_fb_id = !o->current_fb_id;
 
-	if (o->flags & TEST_WITH_DUMMY_BCS) {
-		spin_bcs = __igt_spin_batch_new(drm_fd, 0, I915_EXEC_BLT,
-						o->fb_info[o->current_fb_id].gem_handle);
-		igt_spin_batch_set_timeout(spin_bcs,
-					   NSEC_PER_SEC);
-	}
-
-	if (o->flags & TEST_WITH_DUMMY_RCS) {
-		spin_rcs = __igt_spin_batch_new(drm_fd, 0, I915_EXEC_RENDER,
-						o->fb_info[o->current_fb_id].gem_handle);
-		igt_spin_batch_set_timeout(spin_rcs,
-					   NSEC_PER_SEC);
-	}
-
 	if (o->flags & TEST_FB_RECREATE)
 		recreate_fb(o);
 	new_fb_id = o->fb_ids[o->current_fb_id];
@@ -809,10 +792,6 @@ static unsigned int run_test_step(struct test_output *o)
 			completed_events = EVENT_VBLANK;
 		}
 	}
-	if (spin_rcs)
-		igt_spin_batch_free(drm_fd, spin_rcs);
-	if (spin_bcs)
-		igt_spin_batch_free(drm_fd, spin_bcs);
 
 	if (do_flip && (o->flags & TEST_EBUSY))
 		igt_assert(do_page_flip(o, new_fb_id, true) == -EBUSY);
@@ -1065,10 +1044,6 @@ static unsigned int wait_for_events(struct test_output *o)
 	evctx.vblank_handler = vblank_handler;
 	evctx.page_flip_handler = page_flip_handler;
 
-	/* make timeout lax with the dummy load */
-	if (o->flags & (TEST_WITH_DUMMY_BCS | TEST_WITH_DUMMY_RCS))
-		timeout.tv_sec *= 60;
-
 	FD_ZERO(&fds);
 	FD_SET(drm_fd, &fds);
 	do {
@@ -1099,9 +1074,6 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms)
 	igt_hang_t hang;
 	int count = 0;
 
-	if (o->flags & (TEST_WITH_DUMMY_BCS | TEST_WITH_DUMMY_RCS))
-		igt_require_gem(drm_fd);
-
 	memset(&hang, 0, sizeof(hang));
 	if (o->flags & TEST_HANG_ONCE)
 		hang = hang_gpu(drm_fd);
@@ -1571,15 +1543,7 @@ int main(int argc, char **argv)
 		{ 30,  TEST_VBLANK | TEST_VBLANK_BLOCK | TEST_VBLANK_ABSOLUTE,
 					"blocking-absolute-wf_vblank" },
 		{ 60,  TEST_VBLANK | TEST_DPMS | TEST_EINVAL, "wf_vblank-vs-dpms" },
-		{ 60,  TEST_VBLANK | TEST_DPMS | TEST_WITH_DUMMY_BCS,
-					"blt-wf_vblank-vs-dpms" },
-		{ 60,  TEST_VBLANK | TEST_DPMS | TEST_WITH_DUMMY_RCS,
-					"rcs-wf_vblank-vs-dpms" },
 		{ 60,  TEST_VBLANK | TEST_MODESET | TEST_EINVAL, "wf_vblank-vs-modeset" },
-		{ 60,  TEST_VBLANK | TEST_MODESET | TEST_WITH_DUMMY_BCS,
-					"blt-wf_vblank-vs-modeset" },
-		{ 60,  TEST_VBLANK | TEST_MODESET | TEST_WITH_DUMMY_RCS,
-					"rcs-wf_vblank-vs-modeset" },
 		{ 10, TEST_FLIP | TEST_BASIC, "plain-flip" },
 		{ 30, TEST_FLIP | TEST_EBUSY , "busy-flip" },
 		{ 30, TEST_FLIP | TEST_FENCE_STRESS , "flip-vs-fences" },
@@ -1589,8 +1553,6 @@ int main(int argc, char **argv)
 		{ 30, TEST_FLIP | TEST_RMFB | TEST_MODESET , "flip-vs-rmfb" },
 		{ 20, TEST_FLIP | TEST_DPMS | TEST_EINVAL | TEST_BASIC, "flip-vs-dpms" },
 		{ 30,  TEST_FLIP | TEST_PAN, "flip-vs-panning" },
-		{ 60, TEST_FLIP | TEST_PAN | TEST_WITH_DUMMY_BCS, "blt-flip-vs-panning" },
-		{ 60, TEST_FLIP | TEST_PAN | TEST_WITH_DUMMY_RCS, "render-flip-vs-panning" },
 		{ 20, TEST_FLIP | TEST_MODESET | TEST_EINVAL | TEST_BASIC, "flip-vs-modeset" },
 		{ 30,  TEST_FLIP | TEST_VBLANK_EXPIRED_SEQ,
 					"flip-vs-expired-vblank" },
-- 
2.15.1

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

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

* [igt-dev] [for trybot 2/7] kms_vblank: Reorganize subtests by pipe, v2.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 1/7] tests/kms_flip: Remove blt/rcs flip tests Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 3/7] tests/kms_flip: Move kms_flip.vblank-vs-hang to kms_vblank, v4 Maarten Lankhorst
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

Changes since v1:
- Move per-pipe subtests to its own function and fix indent.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_vblank.c | 111 +++++++++++++++++++++++++++++------------------------
 1 file changed, 60 insertions(+), 51 deletions(-)

diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 342e4ef23b97..d5f5aa0b6189 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -113,54 +113,47 @@ static int wait_vblank(int fd, union drm_wait_vblank *vbl)
 	return err;
 }
 
-static void run_test(data_t *data, int fd, void (*testfunc)(data_t *, int, int))
+static void run_test(data_t *data, void (*testfunc)(data_t *, int, int))
 {
 	int nchildren =
 		data->flags & FORKED ? sysconf(_SC_NPROCESSORS_ONLN) : 1;
 	igt_display_t *display = &data->display;
-	igt_output_t *output;
-	enum pipe p;
-
-	for_each_pipe_with_valid_output(display, p, output) {
-		data->pipe = p;
-		prepare_crtc(data, fd, output);
+	igt_output_t *output = data->output;
+	int fd = display->drm_fd;
 
-		igt_info("Beginning %s on pipe %s, connector %s (%d threads)\n",
-			 igt_subtest_name(),
-			 kmstest_pipe_name(data->pipe),
-			 igt_output_name(output),
-			 nchildren);
-
-		if (data->flags & BUSY) {
-			union drm_wait_vblank vbl;
-
-			memset(&vbl, 0, sizeof(vbl));
-			vbl.request.type =
-				DRM_VBLANK_RELATIVE | DRM_VBLANK_EVENT;
-			vbl.request.type |= kmstest_get_vbl_flag(data->pipe);
-			vbl.request.sequence = 120 + 12;
-			igt_assert_eq(wait_vblank(fd, &vbl), 0);
-		}
+	prepare_crtc(data, fd, output);
 
-		igt_fork(child, nchildren)
-			testfunc(data, fd, nchildren);
-		igt_waitchildren();
+	igt_info("Beginning %s on pipe %s, connector %s (%d threads)\n",
+		 igt_subtest_name(), kmstest_pipe_name(data->pipe),
+		 igt_output_name(output), nchildren);
 
-		if (data->flags & BUSY) {
-			struct drm_event_vblank buf;
-			igt_assert_eq(read(fd, &buf, sizeof(buf)), sizeof(buf));
-		}
+	if (data->flags & BUSY) {
+		union drm_wait_vblank vbl;
 
-		igt_assert(poll(&(struct pollfd){fd, POLLIN}, 1, 0) == 0);
+		memset(&vbl, 0, sizeof(vbl));
+		vbl.request.type =
+			DRM_VBLANK_RELATIVE | DRM_VBLANK_EVENT;
+		vbl.request.type |= kmstest_get_vbl_flag(data->pipe);
+		vbl.request.sequence = 120 + 12;
+		igt_assert_eq(wait_vblank(fd, &vbl), 0);
+	}
 
-		igt_info("\n%s on pipe %s, connector %s: PASSED\n\n",
-			 igt_subtest_name(),
-			 kmstest_pipe_name(data->pipe),
-			 igt_output_name(output));
+	igt_fork(child, nchildren)
+		testfunc(data, fd, nchildren);
+	igt_waitchildren();
 
-		/* cleanup what prepare_crtc() has done */
-		cleanup_crtc(data, fd, output);
+	if (data->flags & BUSY) {
+		struct drm_event_vblank buf;
+		igt_assert_eq(read(fd, &buf, sizeof(buf)), sizeof(buf));
 	}
+
+	igt_assert(poll(&(struct pollfd){fd, POLLIN}, 1, 0) == 0);
+
+	igt_info("\n%s on pipe %s, connector %s: PASSED\n\n",
+		 igt_subtest_name(), kmstest_pipe_name(data->pipe), igt_output_name(output));
+
+	/* cleanup what prepare_crtc() has done */
+	cleanup_crtc(data, fd, output);
 }
 
 static void crtc_id_subtest(data_t *data, int fd)
@@ -315,10 +308,8 @@ static void vblank_wait(data_t *data, int fd, int nchildren)
 		 elapsed(&start, &end, count));
 }
 
-igt_main
+static void run_subtests_for_pipe(data_t *data)
 {
-	int fd;
-	data_t data;
 	const struct {
 		const char *name;
 		void (*func)(data_t *, int, int);
@@ -329,6 +320,7 @@ igt_main
 		{ "wait", vblank_wait, IDLE | FORKED | BUSY },
 		{ }
 	}, *f;
+
 	const struct {
 		const char *name;
 		unsigned int flags;
@@ -340,6 +332,31 @@ igt_main
 		{ }
 	}, *m;
 
+	igt_fixture
+		igt_display_require_output_on_pipe(&data->display, data->pipe);
+
+	for (f = funcs; f->name; f++) {
+		for (m = modes; m->name; m++) {
+			if (m->flags & ~f->valid)
+				continue;
+
+			igt_subtest_f("pipe-%s-%s-%s",
+				      kmstest_pipe_name(data->pipe),
+				      f->name, m->name) {
+				for_each_valid_output_on_pipe(&data->display, data->pipe, data->output) {
+					data->flags = m->flags;
+					run_test(data, f->func);
+				}
+			}
+		}
+	}
+}
+
+igt_main
+{
+	int fd;
+	data_t data;
+
 	igt_skip_on_simulation();
 
 	igt_fixture {
@@ -352,15 +369,7 @@ igt_main
 	igt_subtest("crtc-id")
 		crtc_id_subtest(&data, fd);
 
-	for (f = funcs; f->name; f++) {
-		for (m = modes; m->name; m++) {
-			if (m->flags & ~f->valid)
-				continue;
-
-			igt_subtest_f("%s-%s", f->name, m->name) {
-				data.flags = m->flags;
-				run_test(&data, fd, f->func);
-			}
-		}
-	}
+	for_each_pipe_static(data.pipe)
+		igt_subtest_group
+			run_subtests_for_pipe(&data);
 }
-- 
2.15.1

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

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

* [igt-dev] [for trybot 3/7] tests/kms_flip: Move kms_flip.vblank-vs-hang to kms_vblank, v4.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 1/7] tests/kms_flip: Remove blt/rcs flip tests Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 2/7] kms_vblank: Reorganize subtests by pipe, v2 Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 4/7] kms_vblank: Add tests implemented in kms_flip Maarten Lankhorst
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

There's no need to test this more than once. Add a NOHANG
flag which can be used to specify that a subtest can not
be run when hanging. If it's set on either the subtest or
the mode, the -hang test for this combination will not be
generated.

Changes since v1:
- Merge the patch that renamed HANG to NOHANG.
- Rebase after 'reorganize subtests by type'.
- Allow subtests to specify NOHANG too.
Changes since v2:
- Mark accuracy test with NOHANG, gpu reset disables interrupts,
  causing the test to fail.
Changes since v3:
- Rebase on top of subtest split changes.
- Add nohang comment to accuracy test. (Daniel)

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_flip.c   | 10 +---------
 tests/kms_vblank.c | 29 +++++++++++++++++++++++++++--
 2 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 7689e65b521a..50c16b0debbf 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -72,7 +72,7 @@
 #define TEST_SUSPEND		(1 << 26)
 #define TEST_TS_CONT		(1 << 27)
 #define TEST_BO_TOOBIG		(1 << 28)
-#define TEST_HANG_ONCE		(1 << 29)
+
 #define TEST_BASIC		(1 << 30)
 
 #define EVENT_FLIP		(1 << 0)
@@ -1071,13 +1071,8 @@ static unsigned int wait_for_events(struct test_output *o)
 static unsigned event_loop(struct test_output *o, unsigned duration_ms)
 {
 	unsigned long start, end;
-	igt_hang_t hang;
 	int count = 0;
 
-	memset(&hang, 0, sizeof(hang));
-	if (o->flags & TEST_HANG_ONCE)
-		hang = hang_gpu(drm_fd);
-
 	start = gettime_us();
 
 	while (1) {
@@ -1097,8 +1092,6 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms)
 
 	end = gettime_us();
 
-	unhang_gpu(drm_fd, hang);
-
 	/* Flush any remaining events */
 	if (o->pending_events)
 		wait_for_events(o);
@@ -1565,7 +1558,6 @@ int main(int argc, char **argv)
 			TEST_CHECK_TS, "flip-vs-blocking-wf-vblank" },
 		{ 30, TEST_FLIP | TEST_MODESET | TEST_HANG | TEST_NOEVENT, "flip-vs-modeset-vs-hang" },
 		{ 30, TEST_FLIP | TEST_PAN | TEST_HANG, "flip-vs-panning-vs-hang" },
-		{ 30, TEST_VBLANK | TEST_HANG_ONCE, "vblank-vs-hang" },
 		{ 1, TEST_FLIP | TEST_EINVAL | TEST_FB_BAD_TILING, "flip-vs-bad-tiling" },
 
 		{ 1, TEST_DPMS_OFF | TEST_MODESET | TEST_FLIP,
diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index d5f5aa0b6189..04675c268d5e 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -54,6 +54,7 @@ typedef struct {
 #define IDLE 1
 #define BUSY 2
 #define FORKED 4
+#define NOHANG 8
 } data_t;
 
 static double elapsed(const struct timespec *start,
@@ -120,6 +121,7 @@ static void run_test(data_t *data, void (*testfunc)(data_t *, int, int))
 	igt_display_t *display = &data->display;
 	igt_output_t *output = data->output;
 	int fd = display->drm_fd;
+	igt_hang_t hang;
 
 	prepare_crtc(data, fd, output);
 
@@ -127,6 +129,9 @@ static void run_test(data_t *data, void (*testfunc)(data_t *, int, int))
 		 igt_subtest_name(), kmstest_pipe_name(data->pipe),
 		 igt_output_name(output), nchildren);
 
+	if (!(data->flags & NOHANG))
+		hang = igt_hang_ring(fd, I915_EXEC_DEFAULT);
+
 	if (data->flags & BUSY) {
 		union drm_wait_vblank vbl;
 
@@ -149,6 +154,9 @@ static void run_test(data_t *data, void (*testfunc)(data_t *, int, int))
 
 	igt_assert(poll(&(struct pollfd){fd, POLLIN}, 1, 0) == 0);
 
+	if (!(data->flags & NOHANG))
+		igt_post_hang_ring(fd, hang);
+
 	igt_info("\n%s on pipe %s, connector %s: PASSED\n\n",
 		 igt_subtest_name(), kmstest_pipe_name(data->pipe), igt_output_name(output));
 
@@ -315,7 +323,11 @@ static void run_subtests_for_pipe(data_t *data)
 		void (*func)(data_t *, int, int);
 		unsigned int valid;
 	} funcs[] = {
-		{ "accuracy", accuracy, IDLE },
+		/*
+		 * GPU reset recovery may disable irqs or reset display, so
+		 * accuracy tests will fail in the hang case, disable this test.
+		 */
+		{ "accuracy", accuracy, IDLE | NOHANG },
 		{ "query", vblank_query, IDLE | FORKED | BUSY },
 		{ "wait", vblank_wait, IDLE | FORKED | BUSY },
 		{ }
@@ -337,12 +349,25 @@ static void run_subtests_for_pipe(data_t *data)
 
 	for (f = funcs; f->name; f++) {
 		for (m = modes; m->name; m++) {
-			if (m->flags & ~f->valid)
+			if (m->flags & ~(f->valid | NOHANG))
 				continue;
 
 			igt_subtest_f("pipe-%s-%s-%s",
 				      kmstest_pipe_name(data->pipe),
 				      f->name, m->name) {
+				for_each_valid_output_on_pipe(&data->display, data->pipe, data->output) {
+					data->flags = m->flags | NOHANG;
+					run_test(data, f->func);
+				}
+			}
+
+			/* Skip the -hang version if NOHANG flag is set */
+			if (f->valid & NOHANG || m->flags & NOHANG)
+				continue;
+
+			igt_subtest_f("pipe-%s-%s-%s-hang",
+				      kmstest_pipe_name(data->pipe),
+				      f->name, m->name) {
 				for_each_valid_output_on_pipe(&data->display, data->pipe, data->output) {
 					data->flags = m->flags;
 					run_test(data, f->func);
-- 
2.15.1

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

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

* [igt-dev] [for trybot 4/7] kms_vblank: Add tests implemented in kms_flip
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (2 preceding siblings ...)
  2018-01-18 11:14 ` [igt-dev] [for trybot 3/7] tests/kms_flip: Move kms_flip.vblank-vs-hang to kms_vblank, v4 Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 5/7] kms_flip: Remove redundant vblank tests Maarten Lankhorst
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

In kms_flip there are some tests for testing whether the
vblank counter is monotonically increasing. Add these subtests
to kms_vblank, where they belong.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_vblank.c | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 80 insertions(+), 4 deletions(-)

diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 04675c268d5e..7c3885bd7cff 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -51,10 +51,14 @@ typedef struct {
 	igt_output_t *output;
 	enum pipe pipe;
 	unsigned int flags;
-#define IDLE 1
-#define BUSY 2
-#define FORKED 4
-#define NOHANG 8
+#define IDLE	0x1
+#define BUSY	0x2
+#define FORKED	0x4
+#define NOHANG	0x8
+#define MODESET 0x10
+#define DPMS	0x20
+#define SUSPEND 0x40
+#define RPM	0x80
 } data_t;
 
 static double elapsed(const struct timespec *start,
@@ -125,6 +129,9 @@ static void run_test(data_t *data, void (*testfunc)(data_t *, int, int))
 
 	prepare_crtc(data, fd, output);
 
+	if (data->flags & RPM)
+		igt_require(igt_setup_runtime_pm());
+
 	igt_info("Beginning %s on pipe %s, connector %s (%d threads)\n",
 		 igt_subtest_name(), kmstest_pipe_name(data->pipe),
 		 igt_output_name(output), nchildren);
@@ -316,6 +323,69 @@ static void vblank_wait(data_t *data, int fd, int nchildren)
 		 elapsed(&start, &end, count));
 }
 
+static int get_vblank(int fd, enum pipe pipe, unsigned flags)
+{
+	union drm_wait_vblank vbl;
+
+	memset(&vbl, 0, sizeof(vbl));
+	vbl.request.type = DRM_VBLANK_RELATIVE | kmstest_get_vbl_flag(pipe) | flags;
+	do_or_die(igt_ioctl(fd, DRM_IOCTL_WAIT_VBLANK, &vbl));
+
+	return vbl.reply.sequence;
+}
+
+static void vblank_ts_cont(data_t *data, int fd, int nchildren)
+{
+	igt_display_t *display = &data->display;
+	igt_output_t *output = data->output;
+	int seq1, seq2;
+	union drm_wait_vblank vbl;
+
+	seq1 = get_vblank(fd, data->pipe, 0);
+
+	if (data->flags & DPMS) {
+		igt_output_set_prop_value(output, IGT_CONNECTOR_DPMS, DRM_MODE_DPMS_OFF);
+		igt_display_commit(display);
+	}
+
+	if (data->flags & MODESET) {
+		igt_output_set_pipe(output, PIPE_NONE);
+		igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+	}
+
+	if (data->flags & RPM)
+		igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+
+	if (data->flags & SUSPEND)
+		igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
+					      SUSPEND_TEST_NONE);
+
+	if (data->flags & (MODESET | DPMS)) {
+		/* Attempting to do a vblank while disabled should return -EINVAL */
+		memset(&vbl, 0, sizeof(vbl));
+		vbl.request.type = DRM_VBLANK_RELATIVE;
+		vbl.request.type |= kmstest_get_vbl_flag(data->pipe);
+		igt_assert_eq(wait_vblank(fd, &vbl), -EINVAL);
+	}
+
+	if (data->flags & DPMS) {
+		igt_output_set_prop_value(output, IGT_CONNECTOR_DPMS, DRM_MODE_DPMS_ON);
+		igt_display_commit(display);
+	}
+
+	if (data->flags & MODESET) {
+		igt_output_set_pipe(output, data->pipe);
+		igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
+	}
+
+	seq2 = get_vblank(fd, data->pipe, 0);
+
+	igt_debug("testing ts continuity: Current frame %u, old frame %u\n", seq2, seq1);
+
+	igt_assert_f(seq2 - seq1 >= 0, "unexpected vblank seq %u, should be >= %u\n", seq2, seq1);
+	igt_assert_f(seq2 - seq1 <= 150, "unexpected vblank seq %u, should be < %u\n", seq2, seq1 + 150);
+}
+
 static void run_subtests_for_pipe(data_t *data)
 {
 	const struct {
@@ -330,6 +400,7 @@ static void run_subtests_for_pipe(data_t *data)
 		{ "accuracy", accuracy, IDLE | NOHANG },
 		{ "query", vblank_query, IDLE | FORKED | BUSY },
 		{ "wait", vblank_wait, IDLE | FORKED | BUSY },
+		{ "ts-continuation", vblank_ts_cont, IDLE | SUSPEND | MODESET | DPMS | RPM },
 		{ }
 	}, *f;
 
@@ -341,6 +412,11 @@ static void run_subtests_for_pipe(data_t *data)
 		{ "forked", IDLE | FORKED },
 		{ "busy", BUSY },
 		{ "forked-busy", BUSY | FORKED },
+		{ "dpms-rpm", DPMS | RPM | NOHANG },
+		{ "dpms-suspend", DPMS | SUSPEND | NOHANG},
+		{ "suspend", SUSPEND | NOHANG },
+		{ "modeset", MODESET },
+		{ "modeset-rpm", MODESET | RPM | NOHANG},
 		{ }
 	}, *m;
 
-- 
2.15.1

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

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

* [igt-dev] [for trybot 5/7] kms_flip: Remove redundant vblank tests.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (3 preceding siblings ...)
  2018-01-18 11:14 ` [igt-dev] [for trybot 4/7] kms_vblank: Add tests implemented in kms_flip Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 6/7] kms_vblank: Remove teardown code from cleanup_crtc Maarten Lankhorst
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

wf_vblank is redundant with wf_vblank-ts-check, which also performs
a check but runs in the same way.

The -EINVAL vblank tests are reproduced in kms_vblank, as are the
vblank-vs-* tests.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_flip.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 50c16b0debbf..710ea52b4a8a 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1527,7 +1527,6 @@ int main(int argc, char **argv)
 		int flags;
 		const char *name;
 	} tests[] = {
-		{ 30, TEST_VBLANK, "wf_vblank" },
 		{ 30, TEST_VBLANK | TEST_CHECK_TS, "wf_vblank-ts-check" },
 		{ 30, TEST_VBLANK | TEST_VBLANK_BLOCK | TEST_CHECK_TS,
 					"blocking-wf_vblank" },
@@ -1535,8 +1534,6 @@ int main(int argc, char **argv)
 					"absolute-wf_vblank" },
 		{ 30,  TEST_VBLANK | TEST_VBLANK_BLOCK | TEST_VBLANK_ABSOLUTE,
 					"blocking-absolute-wf_vblank" },
-		{ 60,  TEST_VBLANK | TEST_DPMS | TEST_EINVAL, "wf_vblank-vs-dpms" },
-		{ 60,  TEST_VBLANK | TEST_MODESET | TEST_EINVAL, "wf_vblank-vs-modeset" },
 		{ 10, TEST_FLIP | TEST_BASIC, "plain-flip" },
 		{ 30, TEST_FLIP | TEST_EBUSY , "busy-flip" },
 		{ 30, TEST_FLIP | TEST_FENCE_STRESS , "flip-vs-fences" },
@@ -1568,11 +1565,6 @@ int main(int argc, char **argv)
 		{ 0, TEST_ENOENT | TEST_NOEVENT, "nonexisting-fb" },
 		{ 10, TEST_DPMS_OFF | TEST_DPMS | TEST_VBLANK_RACE, "dpms-vs-vblank-race" },
 		{ 10, TEST_MODESET | TEST_VBLANK_RACE, "modeset-vs-vblank-race" },
-		{ 10, TEST_VBLANK | TEST_DPMS | TEST_RPM | TEST_TS_CONT, "vblank-vs-dpms-rpm" },
-		{ 10, TEST_VBLANK | TEST_MODESET | TEST_RPM | TEST_TS_CONT, "vblank-vs-modeset-rpm" },
-		{ 0, TEST_VBLANK | TEST_DPMS | TEST_SUSPEND | TEST_TS_CONT, "vblank-vs-dpms-suspend" },
-		{ 0, TEST_VBLANK | TEST_MODESET | TEST_SUSPEND | TEST_TS_CONT, "vblank-vs-modeset-suspend" },
-		{ 0, TEST_VBLANK | TEST_SUSPEND | TEST_TS_CONT, "vblank-vs-suspend" },
 		{ 0, TEST_BO_TOOBIG | TEST_NO_2X_OUTPUT, "bo-too-big" },
 	};
 	int i;
-- 
2.15.1

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

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

* [igt-dev] [for trybot 6/7] kms_vblank: Remove teardown code from cleanup_crtc
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (4 preceding siblings ...)
  2018-01-18 11:14 ` [igt-dev] [for trybot 5/7] kms_flip: Remove redundant vblank tests Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 11:14 ` [igt-dev] [for trybot 7/7] lib/igt_kms: Add support for igt_display_readout_hw_state Maarten Lankhorst
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

New way of doing things is calling igt_display_reset() before any
setup code. This way if the configuration stays the same, the initial
modeset will be a noop.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 tests/kms_vblank.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
index 7c3885bd7cff..5df2da7b038c 100644
--- a/tests/kms_vblank.c
+++ b/tests/kms_vblank.c
@@ -74,6 +74,8 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 	igt_display_t *display = &data->display;
 	igt_plane_t *primary;
 
+	igt_display_reset(display);
+
 	/* select the pipe we want to use */
 	igt_output_set_pipe(output, data->pipe);
 
@@ -95,16 +97,7 @@ static void prepare_crtc(data_t *data, int fd, igt_output_t *output)
 
 static void cleanup_crtc(data_t *data, int fd, igt_output_t *output)
 {
-	igt_display_t *display = &data->display;
-	igt_plane_t *primary;
-
 	igt_remove_fb(fd, &data->primary_fb);
-
-	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
-	igt_plane_set_fb(primary, NULL);
-
-	igt_output_set_pipe(output, PIPE_ANY);
-	igt_display_commit(display);
 }
 
 static int wait_vblank(int fd, union drm_wait_vblank *vbl)
-- 
2.15.1

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

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

* [igt-dev] [for trybot 7/7] lib/igt_kms: Add support for igt_display_readout_hw_state
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (5 preceding siblings ...)
  2018-01-18 11:14 ` [igt-dev] [for trybot 6/7] kms_vblank: Remove teardown code from cleanup_crtc Maarten Lankhorst
@ 2018-01-18 11:14 ` Maarten Lankhorst
  2018-01-18 13:04 ` [igt-dev] ✓ Fi.CI.BAT: success for resubmitting kms_vblank changes for trybot Patchwork
  2018-01-18 16:06 ` [igt-dev] ✗ Fi.CI.IGT: warning " Patchwork
  8 siblings, 0 replies; 10+ messages in thread
From: Maarten Lankhorst @ 2018-01-18 11:14 UTC (permalink / raw)
  To: igt-dev

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

diff --git a/lib/igt_kms.c b/lib/igt_kms.c
index eb57f4a99454..11f23fcaaa81 100644
--- a/lib/igt_kms.c
+++ b/lib/igt_kms.c
@@ -1776,6 +1776,81 @@ void igt_display_reset(igt_display_t *display)
 	}
 }
 
+/**
+ * igt_display_readout_hw_state:
+ * @display: a pointer to an #igt_display_t structure
+ *
+ * Reads in the current state for pipes, connectors and planes on @display.
+ * It will also set output->pending_pipe based on the current crtc the pipe
+ * is set on.
+ *
+ * This function requires an atomic driver, and will skip if not found.
+ * If the mode must be preserved across the entire test, then commits
+ * should be done atomically with the %DRM_MODE_ATOMIC_ALLOW_MODESET flag
+ * cleared.
+ */
+void igt_display_readout_hw_state(igt_display_t *display)
+{
+	enum pipe pipe;
+	int i;
+
+	igt_display_reset(display);
+
+	/*
+	 * igt_display matches closely the atomic interfaces, implementing
+	 * legacy readout would be a nice source of bugs.
+	 */
+	igt_require_f(display->is_atomic, "readout only implemented for atomic drivers\n");
+
+	for_each_pipe(display, pipe) {
+		igt_pipe_t *pipe_obj = &display->pipes[pipe];
+		igt_plane_t *plane;
+
+		for (i = 0; i < IGT_NUM_CRTC_PROPS; i++) {
+			if (igt_pipe_obj_has_prop(pipe_obj, i))
+				pipe_obj->values[i] = igt_pipe_obj_get_prop(pipe_obj, i);
+		}
+
+		for_each_plane_on_pipe(display, pipe, plane) {
+			for (i = 0; i < IGT_NUM_PLANE_PROPS; i++) {
+				if (igt_plane_has_prop(plane, i))
+					plane->values[i] = igt_plane_get_prop(plane, i);
+			}
+
+			plane->changed = 0;
+		}
+		pipe_obj->changed = 0;
+	}
+
+	for (i = 0; i < display->n_outputs; i++) {
+		igt_output_t *output = &display->outputs[i];
+		uint64_t crtc_id;
+		int j;
+
+		for (j = 0; j < IGT_NUM_CONNECTOR_PROPS; j++)
+			if (igt_output_has_prop(output, i))
+				output->values[i] = igt_output_get_prop(output, i);
+
+		crtc_id = output->values[IGT_CONNECTOR_CRTC_ID];
+
+		output->pending_pipe = output->config.pipe = PIPE_NONE;
+		output->changed = 0;
+
+		if (crtc_id) {
+			for_each_pipe(display, pipe) {
+				igt_pipe_t *pipe_obj = &display->pipes[pipe];
+
+				if (pipe_obj->crtc_id != crtc_id)
+					continue;
+
+				output->pending_pipe = output->config.pipe = pipe;
+				break;
+			}
+			igt_assert(output->pending_pipe != PIPE_NONE);
+		}
+	}
+}
+
 /**
  * igt_display_init:
  * @display: a pointer to an #igt_display_t structure
diff --git a/lib/igt_kms.h b/lib/igt_kms.h
index b75210393d3b..85e9564adf34 100644
--- a/lib/igt_kms.h
+++ b/lib/igt_kms.h
@@ -360,6 +360,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);
+void igt_display_readout_hw_state(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.1

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

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

* [igt-dev] ✓ Fi.CI.BAT: success for resubmitting kms_vblank changes for trybot.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (6 preceding siblings ...)
  2018-01-18 11:14 ` [igt-dev] [for trybot 7/7] lib/igt_kms: Add support for igt_display_readout_hw_state Maarten Lankhorst
@ 2018-01-18 13:04 ` Patchwork
  2018-01-18 16:06 ` [igt-dev] ✗ Fi.CI.IGT: warning " Patchwork
  8 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-01-18 13:04 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: igt-dev

== Series Details ==

Series: resubmitting kms_vblank changes for trybot.
URL   : https://patchwork.freedesktop.org/series/36686/
State : success

== Summary ==

IGT patchset tested on top of latest successful build
aff8aa16762b190fef51738f5a36e94d3ebda091 igt/pm_rps: Increase load for waitboosting

with latest DRM-Tip kernel build CI_DRM_3644
68669ade8e50 drm-tip: 2018y-01m-18d-12h-01m-38s UTC integration manifest

Testlist changes:
+++ 150 lines
--- 65 lines

Test debugfs_test:
        Subgroup read_all_entries:
                dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1
                incomplete -> PASS       (fi-snb-2520m) fdo#103713
Test kms_pipe_crc_basic:
        Subgroup read-crc-pipe-a-frame-sequence:
                pass       -> FAIL       (fi-skl-6700k2) fdo#103191

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

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:424s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:371s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:491s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:282s
fi-bxt-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:494s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:485s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:475s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:471s
fi-elk-e7500     total:224  pass:169  dwarn:9   dfail:0   fail:0   skip:45 
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:279s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:512s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:391s
fi-hsw-4770r     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:400s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:414s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:455s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:412s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:462s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:497s
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:453s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:502s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:577s
fi-skl-6260u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:432s
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:512s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:530s
fi-skl-6700k2    total:288  pass:263  dwarn:0   dfail:0   fail:1   skip:24  time:489s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:508s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:431s
fi-snb-2520m     total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:518s
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:399s
Blacklisted hosts:
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:575s
fi-glk-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:483s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:418s

== Logs ==

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

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

* [igt-dev] ✗ Fi.CI.IGT: warning for resubmitting kms_vblank changes for trybot.
  2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
                   ` (7 preceding siblings ...)
  2018-01-18 13:04 ` [igt-dev] ✓ Fi.CI.BAT: success for resubmitting kms_vblank changes for trybot Patchwork
@ 2018-01-18 16:06 ` Patchwork
  8 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2018-01-18 16:06 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: igt-dev

== Series Details ==

Series: resubmitting kms_vblank changes for trybot.
URL   : https://patchwork.freedesktop.org/series/36686/
State : warning

== Summary ==

Warning: bzip IGTPW_791/shard-snb1/results30.json.bz2 wasn't in correct JSON format
Test kms_cursor_crc:
        Subgroup cursor-256x256-suspend:
                pass       -> SKIP       (shard-hsw) fdo#103375
Test kms_fbcon_fbt:
        Subgroup fbc-suspend:
                pass       -> SKIP       (shard-snb)
Test kms_flip:
        Subgroup plain-flip-ts-check:
                fail       -> PASS       (shard-hsw) fdo#100368
Test kms_frontbuffer_tracking:
        Subgroup fbc-1p-offscren-pri-shrfb-draw-render:
                fail       -> PASS       (shard-snb) fdo#101623

fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375
fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623

shard-hsw        total:2838 pass:1735 dwarn:1   dfail:0   fail:10  skip:1091 time:11746s
shard-snb        total:2759 pass:1288 dwarn:1   dfail:0   fail:11  skip:1459 time:6315s
Blacklisted hosts:
shard-apl        total:2838 pass:1753 dwarn:1   dfail:0   fail:20  skip:1064 time:12532s
shard-kbl        total:2795 pass:1852 dwarn:1   dfail:0   fail:22  skip:919 time:9079s

== Logs ==

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

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

end of thread, other threads:[~2018-01-18 16:06 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-18 11:13 [igt-dev] [for trybot 0/7] resubmitting kms_vblank changes for trybot Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 1/7] tests/kms_flip: Remove blt/rcs flip tests Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 2/7] kms_vblank: Reorganize subtests by pipe, v2 Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 3/7] tests/kms_flip: Move kms_flip.vblank-vs-hang to kms_vblank, v4 Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 4/7] kms_vblank: Add tests implemented in kms_flip Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 5/7] kms_flip: Remove redundant vblank tests Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 6/7] kms_vblank: Remove teardown code from cleanup_crtc Maarten Lankhorst
2018-01-18 11:14 ` [igt-dev] [for trybot 7/7] lib/igt_kms: Add support for igt_display_readout_hw_state Maarten Lankhorst
2018-01-18 13:04 ` [igt-dev] ✓ Fi.CI.BAT: success for resubmitting kms_vblank changes for trybot Patchwork
2018-01-18 16:06 ` [igt-dev] ✗ Fi.CI.IGT: warning " Patchwork

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