Gen9 has two scalers on pipes A & B, but only a single scaler on pipe C.
We should bail out of the test early on pipe C so that we don't ask the
kernel to use more scalers than we really have.

Note that this test may still fail (on any pipe) if we're already using
one of the scalers as a panel fitter.  But at least this is an
improvement over the existing state where the test is guaranteed to fail
if run with pipe C active.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92248
Signed-off-by: Matt Roper <matthew.d.ro...@intel.com>
---
 tests/kms_plane_scaling.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index ad5404d..2b17702 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -264,6 +264,9 @@ static void test_plane_scaling(data_t *d)
                        igt_display_commit2(display, COMMIT_UNIVERSAL);
                }
 
+               if (pipe == PIPE_C)
+                       goto crtcdone;
+
                /* Set up fb3->plane3 mapping. */
                d->plane3 = igt_output_get_plane(output, IGT_PLANE_3);
                igt_plane_set_fb(d->plane3, &d->fb3);
@@ -301,9 +304,11 @@ static void test_plane_scaling(data_t *d)
                        igt_display_commit2(display, COMMIT_UNIVERSAL);
                }
 
+crtcdone:
                /* back to single plane mode */
                igt_plane_set_fb(d->plane2, NULL);
-               igt_plane_set_fb(d->plane3, NULL);
+               if (pipe != PIPE_C)
+                       igt_plane_set_fb(d->plane3, NULL);
                igt_display_commit2(display, COMMIT_UNIVERSAL);
 
                valid_tests++;
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to