summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2016-02-15 12:15:14 -0200
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2016-02-19 17:08:48 -0200
commitb87188795e9fda89c7e376726283a63817e83c60 (patch)
treed72e515cacbe4d20aff5794a42e816149b81203f
parent556535400c0b3058569d7df13fcdea826bdeb875 (diff)
kms_frontbuffer_tracking: don't fail fbc-farfromfence on SKL
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>
-rw-r--r--tests/kms_frontbuffer_tracking.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
index 64f880c66..79b88b94f 100644
--- a/tests/kms_frontbuffer_tracking.c
+++ b/tests/kms_frontbuffer_tracking.c
@@ -2820,9 +2820,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;
@@ -2834,6 +2835,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);
@@ -2846,13 +2852,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);