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

Chris Wilson chris at chris-wilson.co.uk
Wed Mar 14 11:04:10 UTC 2018


Quoting Maarten Lankhorst (2018-03-14 10:54:11)
> 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.

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


More information about the igt-dev mailing list