[igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Make test pass on gen9's pipe C

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Wed Mar 14 10:54:11 UTC 2018


The legacy test fails because it tries scaling on pipe C,
because the single scaler is already used for CRTC scaling.
On other pipes and newer gens we have 2 scalers, so special
case pipe C here.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105456
---
 tests/kms_panel_fitting.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index 1f087ecc82a0..5dce101003c5 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -133,6 +133,14 @@ static void test_panel_fitting(data_t *d)
 		igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200);
 		igt_display_commit2(display, COMMIT_UNIVERSAL);
 
+		/*
+		 * gen9 pipe C has only 1 scaler shared with the crtc, which
+		 * means pipe scaling can't work simultaneously with panel
+		 * fitting.
+		 */
+		if (intel_gen(intel_get_drm_devid(display->drm_fd)) == 9 && pipe == PIPE_C)
+			igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200);
+
 		/* enable panel fitting along with sprite scaling */
 		mode->hdisplay = 1024;
 		mode->vdisplay = 768;
-- 
2.16.2



More information about the igt-dev mailing list