diff mbox

[igt,1/2] kms_frontbuffer_tracking: don't fail fbc-farfromfence on SKL

Message ID 1455655643-2535-2-git-send-email-paulo.r.zanoni@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Zanoni, Paulo R Feb. 16, 2016, 8:47 p.m. UTC
SKL doesn't do the same dspaddr_offset magic as the older gens, so FBC
may not be enabled on fbc-farfromfence. This is not a bug since FBC is
just disabled, and this is the expected case of the current Kernel, so
let's not fail the test.

If/once we land the proper infrastructure to fix this in the Kernel we
may revert this commit.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 tests/kms_frontbuffer_tracking.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
diff mbox

Patch

diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 9090a74..4d40e24 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2822,9 +2822,10 @@  static void farfromfence_subtest(const struct test_mode *t)
 	struct modeset_params *params = pick_params(t);
 	struct draw_pattern_info *pattern = &pattern1;
 	struct fb_region *target;
-	int max_height;
+	int max_height, assertions = 0;
+	int gen = intel_gen(intel_get_drm_devid(drm.fd));
 
-	switch (intel_gen(intel_get_drm_devid(drm.fd))) {
+	switch (gen) {
 	case 2:
 		max_height = 2048;
 		break;
@@ -2836,6 +2837,11 @@  static void farfromfence_subtest(const struct test_mode *t)
 		break;
 	}
 
+	/* Gen 9 doesn't do the same dspaddr_offset magic as the older
+	 * gens, so FBC may not be enabled there. */
+	if (gen >= 9)
+		assertions |= DONT_ASSERT_FEATURE_STATUS;
+
 	prepare_subtest(t, pattern);
 	target = pick_target(t, params);
 
@@ -2848,13 +2854,14 @@  static void farfromfence_subtest(const struct test_mode *t)
 	params->fb.x = 0;
 	params->fb.y = max_height - params->mode->vdisplay;
 	set_mode_for_params(params);
-	do_assertions(0);
+	do_assertions(assertions);
 
 	for (r = 0; r < pattern->n_rects; r++) {
 		draw_rect(pattern, target, t->method, r);
 		update_wanted_crc(t, &pattern->crcs[t->format][r]);
+
 		/* GTT draws disable PSR. */
-		do_assertions(ASSERT_PSR_DISABLED);
+		do_assertions(assertions | ASSERT_PSR_DISABLED);
 	}
 
 	igt_remove_fb(drm.fd, &tall_fb);