summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Roberto de Souza <jose.souza@intel.com>2019-04-02 13:59:01 -0700
committerJosé Roberto de Souza <jose.souza@intel.com>2019-04-03 12:55:10 -0700
commitff77959d1526fbace9bd12c9ecdac5d8715c4f73 (patch)
tree04be146a0a20814d000bdd8096090d8c148bdfa5
parentca623acb8b2b6f0a4cdb01946dc9002e11d62574 (diff)
tests/frontbuffer_tracking: Do not assert FBC state after a page flip changing stride
When the stridechange subtest was introduced f23ea58f1fbb ("kms_frontbuffer_tracking: expand badstride and stridechange") atomic was not around and change the stride using drmModePageFlip() was not allowed so it was expected that it would return -EINVAL and kernel would keep the old framebuffer with the smaller plane that is know to fit on CFB(if it don't fit the test will skip on the first full-modeset because "not enough stolen memory" is set). But after the introduction of atomic the subtest was updated by f63e070b469d ("kms_frontbuffer_tracking: Fix tests with the new atomic reality.") to accept a no error return from drmModePageFlip() but the do_assertions() that follows it was not updated. As the subtest function comment states, kernel will do fastsets in this scenario and the allocated CFB could not be enough to keep FBC enabled over the new framebuffer, so here adding the missing DONT_ASSERT_FEATURE_STATUS to ignore the FBC state and just test if CRC match and if kernel do not misbehave. Other way to solve this issue would be make the kernel do a full-modeset when CFB is not enough for the new plane so FBC is disabled with the CRC freeing the actual CFB and then after enable CRTC again it will try to enable FBC again if it can allocate the required CFB but by the subtest comment this is not intended. v2: Assert features when drmModePageFlip() fails aka non-atomic driver(Dhinakaran) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105683 Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
-rw-r--r--tests/kms_frontbuffer_tracking.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 89586326..caef6755 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2932,7 +2932,7 @@ static void stridechange_subtest(const struct test_mode *t)
*/
rc = drmModePageFlip(drm.fd, drm.display.pipes[params->pipe].crtc_id, new_fb->fb_id, 0, NULL);
igt_assert(rc == -EINVAL || rc == 0);
- do_assertions(0);
+ do_assertions(rc ? 0 : DONT_ASSERT_FEATURE_STATUS);
}
/**