[igt-dev] [PATCH 1/2 i-g-t][V2] tests/kms_universal_plane: Skip off screen universal calls on AMD devices

Mark Yacoub markyacoub at chromium.org
Mon May 9 16:21:23 UTC 2022


On Mon, May 9, 2022 at 11:51 AM Alex Hung <alex.hung at amd.com> wrote:
>
> amdgpu_dm intentionally blocks planes outside the screen in the function
> "dm_plane_helper_check_state" and returns -EINVAL. As a results, this
do you know why it intentionally does that? What happens if you remove
this check? Maybe AMD shouldn't check for it? I'm thinking that
ideally we don't want drivers to have special handling when it's not
needed and for KMS tests to become a standard for userspace.
> piece of code should be skipped on AMD devices.
>
> Signed-off-by: Alex Hung <alex.hung at amd.com>
> ---
>  tests/kms_universal_plane.c | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
> index 3cb6d704..3a3667e6 100644
> --- a/tests/kms_universal_plane.c
> +++ b/tests/kms_universal_plane.c
> @@ -242,16 +242,18 @@ functional_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
>         igt_display_commit2(display, COMMIT_LEGACY);
>
>         /* Step 14: Universal API, set primary completely offscreen (CRC 9) */
> -       igt_assert(drmModeSetPlane(data->drm_fd, primary->drm_plane->plane_id,
> -                                  output->config.crtc->crtc_id,
> -                                  test.blue_fb.fb_id, 0,
> -                                  9000, 9000,
> -                                  test.mode->hdisplay,
> -                                  test.mode->vdisplay,
> -                                  IGT_FIXED(0,0), IGT_FIXED(0,0),
> -                                  IGT_FIXED(test.mode->hdisplay,0),
> -                                  IGT_FIXED(test.mode->vdisplay,0)) == 0);
> -       igt_pipe_crc_collect_crc(test.pipe_crc, &test.crc_9);
> +       if (!is_amdgpu_device(data->drm_fd)) {
> +               igt_assert(drmModeSetPlane(data->drm_fd, primary->drm_plane->plane_id,
> +                                          output->config.crtc->crtc_id,
> +                                          test.blue_fb.fb_id, 0,
> +                                          9000, 9000,
> +                                          test.mode->hdisplay,
> +                                          test.mode->vdisplay,
> +                                          IGT_FIXED(0,0), IGT_FIXED(0,0),
> +                                          IGT_FIXED(test.mode->hdisplay,0),
> +                                          IGT_FIXED(test.mode->vdisplay,0)) == 0);
> +               igt_pipe_crc_collect_crc(test.pipe_crc, &test.crc_9);
> +       }
>
>         /*
>          * Step 15: Explicitly disable primary after it's already been
> --
> 2.25.1
>


More information about the igt-dev mailing list