summaryrefslogtreecommitdiff
path: root/tests/kms_flip.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2015-11-10 19:31:33 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2015-11-16 15:35:28 +0200
commit5bb87dc0e563fe9fd54dde7b38732d28c3d2fa2e (patch)
treea7a67b8d047117c6d3a34e08b0606388978c4470 /tests/kms_flip.c
parent2f894820ac216c9aef8db3008acb2492cae3bce1 (diff)
tests/kms_flip: Disable all pipes before each test
Currently kms_flip leaks the state of the pipes from one subtest to the next. Meaning a single pipe test can actually have two or more pipes actually up and running, and similarly a two pipe test can have three pipes running. This is particularly nasty on IVB since one of the pipes still running but not actually part of the test maybe have reserved the shared FDI lanes, thus preventing one of the pipes taking part in the test from being enabled. To avoid such problems explicitly disable all pipes before each subtests. v2: Use kmstest_unset_all_crtcs() (Paulo) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_flip.c')
-rw-r--r--tests/kms_flip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 649678c5..8bba1218 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -1425,6 +1425,8 @@ static void run_test_on_crtc_set(struct test_output *o, int *crtc_idxs,
for (i = 0; i < o->count; i++)
kmstest_dump_mode(&o->kmode[i]);
+ kmstest_unset_all_crtcs(drm_fd, resources);
+
if (set_mode(o, o->fb_ids[0], 0, 0)) {
/* We may fail to apply the mode if there are hidden
* constraints, such as bandwidth on the third pipe.