* [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.