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 <[email protected]>
---
 tests/kms_frontbuffer_tracking.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

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);
-- 
2.7.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to