On Tue, Oct 24, 2017 at 11:01:32AM +0200, Benjamin Gaignard wrote: > 2017-10-23 17:25 GMT+02:00 Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx>: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > Since commit 632c6e4edef1 ("drm/vblank: Fix flip event vblank count") > > even drivers that don't implement accurate vblank timestamps will end > > up using drm_crtc_accurate_vblank_count(). That leads to a WARN every > > time drm_crtc_arm_vblank_event() gets called. The could be as often > > as every frame for each active crtc. > > > > Considering drm_crtc_accurate_vblank_count() is never any worse than > > the drm_vblank_count() we used previously, let's just skip the WARN > > unless DRM_UT_VBL is enabled. That way people won't be bothered by > > this unless they're debugging vblank code. And let's also change it > > to WARN_ONCE() so that even when you're debugging vblank code you > > won't get drowned by constant WARNs. > > > > Cc: stable@xxxxxxxxxxxxxxx > > Cc: Daniel Vetter <daniel@xxxxxxxx> > > Cc: "Szyprowski, Marek" <m.szyprowski@xxxxxxxxxxx> > > Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> > > Reported-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> > > Fixes: 632c6e4edef1 ("drm/vblank: Fix flip event vblank count") > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > I have tested it on sti and stm driver, it fix the problem, thanks. > > Acked-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> > > > --- > > drivers/gpu/drm/drm_vblank.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c > > index 13722c373a6a..c81c297995c6 100644 > > --- a/drivers/gpu/drm/drm_vblank.c > > +++ b/drivers/gpu/drm/drm_vblank.c > > @@ -299,8 +299,8 @@ u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc) > > u32 vblank; > > unsigned long flags; > > > > - WARN(!dev->driver->get_vblank_timestamp, > > - "This function requires support for accurate vblank timestamps."); > > + WARN_ONCE(drm_debug & DRM_UT_VBL && !dev->driver->get_vblank_timestamp, > > + "This function requires support for accurate vblank timestamps."); Somewhat a bikeshed, but if we e.g. enable debugging in a CI or piglit run, then this could change the results. I'd go with a if () DRM_DEBUG_VBLANK. Either way: Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > > > spin_lock_irqsave(&dev->vblank_time_lock, flags); > > > > -- > > 2.13.6 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel