[igt-dev] [PATCH i-g-t] tests/i915/kms_big_fb: move start of crc calculation past first commit

Juha-Pekka Heikkilä juhapekka.heikkila at gmail.com
Wed Apr 6 19:35:52 UTC 2022


On Wed, Apr 6, 2022 at 10:21 PM Ville Syrjälä
<ville.syrjala at linux.intel.com> wrote:
>
> On Wed, Apr 06, 2022 at 10:11:39PM +0300, Juha-Pekka Heikkila wrote:
> > First commit may cause modeset which can on some machines take enough
> > time to fill up crc buffer causing crc buffer overflow messages. Moved
> > crc calcualtion start past first commit to avoid these messages.
> >
> > I changed small fb not to be cleared with green color, this seem
> > to take portion of execution time away.
> >
> > Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> > ---
> >  tests/i915/kms_big_fb.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/i915/kms_big_fb.c b/tests/i915/kms_big_fb.c
> > index 8724d6069..6c6d674cb 100644
> > --- a/tests/i915/kms_big_fb.c
> > +++ b/tests/i915/kms_big_fb.c
> > @@ -370,12 +370,12 @@ static bool test_plane(data_t *data)
> >                * rendering pipeline introduces slight differences into
> >                * the result if we try that, and so the crc will not match.
> >                */
> > -             igt_pipe_crc_start(data->pipe_crc);
> >               copy_pattern(data, small_fb, 0, 0, big_fb, x, y,
> >                            small_fb->width, small_fb->height);
> >
> >               igt_display_commit2(&data->display, data->display.is_atomic ?
> >                                   COMMIT_ATOMIC : COMMIT_UNIVERSAL);
>
> Is is modesetting multiple pipes here? If not then we seem
> to have a bug somewhere as CRCs should be disabled during
> most of the modeset sequence.

>From what I see on those logs where there are comments about crc
buffer overflow there's two pipes set.

>
> > +             igt_pipe_crc_start(data->pipe_crc);
> >               igt_pipe_crc_get_current(data->display.drm_fd, data->pipe_crc, &small_crc);
> >
> >               igt_plane_set_fb(plane, big_fb);
> > @@ -420,9 +420,8 @@ static bool test_pipe(data_t *data)
> >       if (igt_rotation_90_or_270(data->rotation))
> >               igt_swap(width, height);
> >
> > -     igt_create_color_fb(data->drm_fd, width, height,
> > -                         data->format, data->modifier,
> > -                         0, 1, 0, &data->small_fb);
> > +     igt_create_fb(data->drm_fd, width, height, data->format,
> > +                   data->modifier, &data->small_fb);
>
> I'd split that into a separate patch.

ok

>
> >
> >       igt_output_set_pipe(data->output, data->pipe);
> >
> > --
> > 2.28.0
>
> --
> Ville Syrjälä
> Intel


More information about the igt-dev mailing list