[igt-dev] [PATCH i-g-t] tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Fri May 25 08:03:35 UTC 2018


Except for ivy bridge, those platforms don't support scaling the
sprite planes, so we fail with -ERANGE. Do the same as we do for
gen9 pipe C, and do not attempt to scale the sprite plane. It will
fail, and the kernel will no longer hide the failure from us.

Changes since v1:
- Extend from haswell to all of gen7/gen8 (except IVB).

Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106606
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 tests/kms_panel_fitting.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index fc6099ed57ce..7df8104ed00a 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -89,6 +89,7 @@ static void test_panel_fitting(data_t *d)
 
 	for_each_pipe_with_valid_output(display, pipe, output) {
 		drmModeModeInfo *mode, native_mode;
+		uint32_t devid = intel_get_drm_devid(display->drm_fd);
 
 		/* Check that the "scaling mode" property has been set. */
 		if (!igt_output_has_prop(output, IGT_CONNECTOR_SCALING_MODE))
@@ -134,6 +135,8 @@ static void test_panel_fitting(data_t *d)
 		igt_display_commit2(display, COMMIT_UNIVERSAL);
 
 		/*
+		 * most of gen7 and all of gen8 doesn't support scaling at all.
+		 *
 		 * gen9 pipe C has only 1 scaler shared with the crtc, which
 		 * means pipe scaling can't work simultaneously with panel
 		 * fitting.
@@ -141,7 +144,8 @@ static void test_panel_fitting(data_t *d)
 		 * Since this is the legacy path, userspace has to know about
 		 * the HW limitations, whereas atomic can ask.
 		 */
-		if (intel_gen(intel_get_drm_devid(display->drm_fd)) == 9 && pipe == PIPE_C)
+		if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) ||
+		    (IS_GEN9(devid) && pipe == PIPE_C))
 			igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200);
 
 		/* enable panel fitting along with sprite scaling */
-- 
2.17.0



More information about the igt-dev mailing list