[igt-dev] [PATCH i-g-t] kms_psr2_su: Skip page-flip tests if FB_DAMAGE_CLIPS not supported

Souza, Jose jose.souza at intel.com
Tue Apr 26 13:38:09 UTC 2022


On Tue, 2022-04-26 at 13:31 +0000, Hogander, Jouni wrote:
> On Tue, 2022-04-26 at 13:08 +0000, Souza, Jose wrote:
> > On Tue, 2022-04-26 at 05:23 +0000, Hogander, Jouni wrote:
> > > On Mon, 2022-04-25 at 13:36 +0000, Souza, Jose wrote:
> > > > On Fri, 2022-04-22 at 09:02 +0300, Jouni Högander wrote:
> > > > > Currently we are seeing failures in ICL platforms due to
> > > > > missing support for IGT_PLANE_FB_DAMAGE_CLIPS. Skip page-flip
> > > > > tests if IGT_PLANE_FB_DAMAGE_CLIPS is not supported.
> > > > 
> > > > It should skip this whole test test in display <= 11
> 
> Why should it skip frontbuffer subtests? We have them passing:
> 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11549/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
> 
> The bug referenced here is about page_flip failing due to missing
> support for FB_DAMAGE_CLIPS. The fix I'm proposing is to check
> whether FB_DAMAGE_CLIPS is supported and skip page_flip subtests if
> it's not. It's logical to my opinion, because page_flip subtests are
> relying on FB_DAMAGE_CLIPS.
> 

Sorry mixed up kms_psr2_su with kms_psr2_sf.

So kms_psr2_su only depends on damage_clips when selective fetch is enabled, so instead of skip when damage_clips is not available it should just not
send the damage_clips.

For ICL and older it will use the PSR2 HW tracking and will update the register with the number of blocks that was sent to the panel.

> > > > 
> > > 
> > > Yes, I considered this one as well. I just thought it would be
> > > better
> > > to check possible support for FB_DAMAGE_CLIPS (which doesn't exist
> > > for
> > > "<= 11" either) rather than add one more platform check into igt.
> > > This
> > > is basically what the problem in
> > > https://gitlab.freedesktop.org/drm/intel/-/issues/4148 is. We try
> > > to
> > > run this test on platform not supporting FB_DAMAGE_CLIPS.
> > > 
> > > drivers/gpu/drm/i915/display/skl_universal_plane.c:
> > > 
> > >         if (DISPLAY_VER(dev_priv) >= 12)
> > >                 drm_plane_enable_fb_damage_clips(&plane->base);
> > 
> > I'm fine in using the damage clip property check but the check should
> > skip the whole test not only when operation is PAGE_FLIP.
> > 
> > > What do you think?
> > > 
> > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4148
> > > > > 
> > > > > Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
> > > > > Cc: Petri Latvala <petri.latvala at intel.com>
> > > > > Cc: José Roberto de Souza <jose.souza at intel.com>
> > > > > ---
> > > > >  tests/i915/kms_psr2_su.c | 7 +++++++
> > > > >  1 file changed, 7 insertions(+)
> > > > > 
> > > > > diff --git a/tests/i915/kms_psr2_su.c
> > > > > b/tests/i915/kms_psr2_su.c
> > > > > index 474b1dfd..0ce1f924 100644
> > > > > --- a/tests/i915/kms_psr2_su.c
> > > > > +++ b/tests/i915/kms_psr2_su.c
> > > > > @@ -322,6 +322,13 @@ igt_main
> > > > >   */
> > > > >  igt_skip("PSR2 selective fetch is doing full frame fetches for
> > > > > frontbuffer rendering\n");
> > > > >  }
> > > > > +if (data.op == PAGE_FLIP &&
> > > > > +    !igt_plane_has_prop(igt_output_get_plane_type(
> > > > > +data.output,
> > > > > +DRM_PLANE_TYPE_PRIMARY),
> > > > > +IGT_PLANE_FB_DAMAGE_CLIPS)) {
> > > > > +igt_skip("FB_DAMAGE_CLIPS not supported\n");
> > > > > +}
> > > > >  prepare(&data);
> > > > >  run(&data);
> > > > >  cleanup(&data);
> 



More information about the igt-dev mailing list