diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2017-09-27 18:17:53 +0200 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2017-10-03 09:40:12 +0200 |
commit | 1e3db6500dd5c5aa2cc8cb03501b50ef17d06564 (patch) | |
tree | 9080b955a805173cfbc597162246ad20921e1589 | |
parent | 76c7a71a13fd21fbf58ec2903c25acc980b7ddaf (diff) |
lib/igt_kms: Commit primary plane when a modeset is forced on a pipe
In between tests, some tests can do the following sequence:
(pipe C configured with FB)
igt_plane_set_fb(primary (pipe C), NULL);
/* Clear rotation property first */
igt_display_commit2(display, COMMIT_UNIVERSAL);
/* disable pipe */
igt_display_commit2(display, COMMIT_LEGACY);
This would result in PIPE_C not being properly disabled, which
will cause an error on the next mode. This can be seen when running
the full kms_rotation_crc testcase without --subtest, it will fail
on exhaust-fences because the bad-tiling subtest wasn't able to
disable pipe C correctly.
Testcase: kms_rotation_crc
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
-rw-r--r-- | lib/igt_kms.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c index a5db6bc4..d25090b0 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -2332,7 +2332,7 @@ static int igt_primary_plane_commit_legacy(igt_plane_t *primary, igt_assert(!primary->rotation_changed); if (!primary->fb_changed && !primary->position_changed && - !primary->size_changed) + !primary->size_changed && !primary->pipe->mode_changed) return 0; crtc_id = pipe->crtc_id; |