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

Ville Syrjälä ville.syrjala at linux.intel.com
Fri May 25 10:56:54 UTC 2018


On Fri, May 25, 2018 at 10:03:35AM +0200, Maarten Lankhorst wrote:
> 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>

Reviewed-by: Ville Syrjälä <ville.syrjala 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

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list