[igt-dev] [PATCH] tests: Remove restrictions on tests running only DRIVER_INTEL and DRIVER_AMDGPU

Mark Yacoub markyacoub at chromium.org
Thu Nov 11 17:39:02 UTC 2021


Applied. Thanks!

On Thu, Nov 11, 2021 at 7:30 AM Petri Latvala <petri.latvala at intel.com> wrote:
>
> On Wed, Nov 10, 2021 at 02:53:02PM -0500, Mark Yacoub wrote:
> > From: Mark Yacoub <markyacoub at google.com>
> >
> > [Why]
> > Drivers such as MSM are able to run tests that are made generic through
> > supporting another driver that's not i915. Removing the restriction that
> > enables the test on a 2 drivers only allow the tests to run on other
> > drivers.
> >
> > [How]
> > 1. Replace DRIVER_INTEL | DRIVER_AMDGPU by DRIVER_ANY
> > 2. Make the checks more broad to allow intel generic implementation to
> > work on all drivers while keeping special amdgpu's quirks.
> >
> > Tested on Trogdor (MSM)
> >
> > Signed-off-by: Mark Yacoub <markyacoub at chromium.org>
>
> Reviewed-by: Petri Latvala <petri.latvala at intel.com>
>
> Thanks for this!
>
>
> > ---
> >  tests/kms_hdr.c            |  2 +-
> >  tests/kms_plane_multiple.c |  2 +-
> >  tests/kms_plane_scaling.c  |  2 +-
> >  tests/kms_rotation_crc.c   | 52 +++++++++++++++++++++++---------------
> >  4 files changed, 34 insertions(+), 24 deletions(-)
> >
> > diff --git a/tests/kms_hdr.c b/tests/kms_hdr.c
> > index 5b8529c8..2a76c7ec 100644
> > --- a/tests/kms_hdr.c
> > +++ b/tests/kms_hdr.c
> > @@ -643,7 +643,7 @@ igt_main
> >       data_t data = {};
> >
> >       igt_fixture {
> > -             data.fd = drm_open_driver_master(DRIVER_AMDGPU | DRIVER_INTEL);
> > +             data.fd = drm_open_driver_master(DRIVER_ANY);
> >
> >               kmstest_set_vt_graphics_mode();
> >
> > diff --git a/tests/kms_plane_multiple.c b/tests/kms_plane_multiple.c
> > index 45cabb50..e3aa2e7c 100644
> > --- a/tests/kms_plane_multiple.c
> > +++ b/tests/kms_plane_multiple.c
> > @@ -445,7 +445,7 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
> >       enum pipe pipe;
> >
> >       igt_fixture {
> > -             data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU);
> > +             data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> >               kmstest_set_vt_graphics_mode();
> >               igt_require_pipe_crc(data.drm_fd);
> >               igt_display_require(&data.display, data.drm_fd);
> > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> > index 4c517a43..270f7615 100644
> > --- a/tests/kms_plane_scaling.c
> > +++ b/tests/kms_plane_scaling.c
> > @@ -709,7 +709,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> >       enum pipe pipe;
> >
> >       igt_fixture {
> > -             data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU);
> > +             data.drm_fd = drm_open_driver_master(DRIVER_ANY);
> >               igt_display_require(&data.display, data.drm_fd);
> >               data.devid = is_i915_device(data.drm_fd) ?
> >                       intel_get_drm_devid(data.drm_fd) : 0;
> > diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> > index 11401a6d..71525f95 100644
> > --- a/tests/kms_rotation_crc.c
> > +++ b/tests/kms_rotation_crc.c
> > @@ -295,15 +295,15 @@ static void prepare_fbs(data_t *data, igt_output_t *output,
> >                       igt_plane_set_position(plane, data->pos_x, data->pos_y);
> >               igt_display_commit2(display, COMMIT_ATOMIC);
> >
> > -             if (is_i915_device(data->gfx_fd)) {
> > +             if (is_amdgpu_device(data->gfx_fd)) {
> > +                     igt_pipe_crc_collect_crc(
> > +                             data->pipe_crc,
> > +                             &data->crc_rect[data->output_crc_in_use][rect].flip_crc);
> > +             } else {
> >                       igt_pipe_crc_get_current(
> >                               display->drm_fd, data->pipe_crc,
> >                               &data->crc_rect[data->output_crc_in_use][rect].flip_crc);
> >                       igt_remove_fb(data->gfx_fd, &data->fb_flip);
> > -             } else if (is_amdgpu_device(data->gfx_fd)) {
> > -                     igt_pipe_crc_collect_crc(
> > -                             data->pipe_crc,
> > -                             &data->crc_rect[data->output_crc_in_use][rect].flip_crc);
> >               }
> >
> >               /*
> > @@ -318,13 +318,15 @@ static void prepare_fbs(data_t *data, igt_output_t *output,
> >                       igt_plane_set_position(plane, data->pos_x, data->pos_y);
> >               igt_display_commit2(display, COMMIT_ATOMIC);
> >
> > -             if (is_i915_device(data->gfx_fd)) {
> > -                     igt_pipe_crc_get_current(display->drm_fd, data->pipe_crc,
> > -                                     &data->crc_rect[data->output_crc_in_use][rect].ref_crc);
> > -             } else if (is_amdgpu_device(data->gfx_fd)) {
> > -                     igt_pipe_crc_collect_crc(data->pipe_crc,
> > -                                     &data->crc_rect[data->output_crc_in_use][rect].ref_crc);
> > +             if (is_amdgpu_device(data->gfx_fd)) {
> > +                     igt_pipe_crc_collect_crc(
> > +                             data->pipe_crc,
> > +                             &data->crc_rect[data->output_crc_in_use][rect].ref_crc);
> >                       igt_remove_fb(data->gfx_fd, &data->fb_flip);
> > +             } else {
> > +                     igt_pipe_crc_get_current(
> > +                             display->drm_fd, data->pipe_crc,
> > +                             &data->crc_rect[data->output_crc_in_use][rect].ref_crc);
> >               }
> >               data->crc_rect[data->output_crc_in_use][rect].valid = true;
> >       }
> > @@ -383,12 +385,15 @@ static void test_single_case(data_t *data, enum pipe pipe,
> >       igt_assert_eq(ret, 0);
> >
> >       /* Check CRC */
> > -     if (is_i915_device(data->gfx_fd))
> > -             igt_pipe_crc_get_current(display->drm_fd, data->pipe_crc, &crc_output);
> > -     else if (is_amdgpu_device(data->gfx_fd))
> > +     if (is_amdgpu_device(data->gfx_fd)) {
> >               igt_pipe_crc_collect_crc(data->pipe_crc, &crc_output);
> > -     igt_assert_crc_equal(&data->crc_rect[data->output_crc_in_use][rect].ref_crc,
> > -                          &crc_output);
> > +     } else {
> > +             igt_pipe_crc_get_current(display->drm_fd, data->pipe_crc,
> > +                                                              &crc_output);
> > +     }
> > +     igt_assert_crc_equal(
> > +             &data->crc_rect[data->output_crc_in_use][rect].ref_crc,
> > +             &crc_output);
> >
> >       /*
> >        * If flips are requested flip to a different fb and
> > @@ -410,10 +415,13 @@ static void test_single_case(data_t *data, enum pipe pipe,
> >                       igt_assert_eq(ret, 0);
> >               }
> >               kmstest_wait_for_pageflip(data->gfx_fd);
> > -             if (is_i915_device(data->gfx_fd))
> > -                     igt_pipe_crc_get_current(display->drm_fd, data->pipe_crc, &crc_output);
> > -             else if (is_amdgpu_device(data->gfx_fd))
> > +
> > +             if (is_amdgpu_device(data->gfx_fd)) {
> >                       igt_pipe_crc_collect_crc(data->pipe_crc, &crc_output);
> > +             } else {
> > +                     igt_pipe_crc_get_current(display->drm_fd, data->pipe_crc,
> > +                                                                      &crc_output);
> > +             }
> >               igt_assert_crc_equal(&data->crc_rect[data->output_crc_in_use][rect].flip_crc,
> >                                    &crc_output);
> >       }
> > @@ -519,7 +527,9 @@ static void test_plane_rotation(data_t *data, int plane_type, bool test_bad_form
> >                       /* Only support partial covering primary plane on gen9+ */
> >                       if (is_amdgpu_device(data->gfx_fd) ||
> >                               (plane_type == DRM_PLANE_TYPE_PRIMARY &&
> > -                         intel_display_ver(intel_get_drm_devid(data->gfx_fd)) < 9)) {
> > +                              is_i915_device(data->gfx_fd) &&
> > +                              intel_display_ver(
> > +                                      intel_get_drm_devid(data->gfx_fd)) < 9)) {
> >                               if (i != rectangle)
> >                                       continue;
> >                               else
> > @@ -1033,7 +1043,7 @@ igt_main_args("", long_opts, help_str, opt_handler, &data)
> >       int gen = 0;
> >
> >       igt_fixture {
> > -             data.gfx_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_AMDGPU);
> > +             data.gfx_fd = drm_open_driver_master(DRIVER_ANY);
> >               if (is_i915_device(data.gfx_fd)) {
> >                       data.devid = intel_get_drm_devid(data.gfx_fd);
> >                       gen = intel_display_ver(data.devid);
> > --
> > 2.34.0.rc0.344.g81b53c2807-goog
> >


More information about the igt-dev mailing list