From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [Intel-gfx] [PATCH 15/19] drm: Update vblank->last in drm_update_vblank_count() Date: Wed, 6 Aug 2014 15:08:25 +0200 Message-ID: <20140806130825.GH8727@phenom.ffwll.local> References: <1407325803-6944-1-git-send-email-ville.syrjala@linux.intel.com> <1407325803-6944-16-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-we0-f172.google.com (mail-we0-f172.google.com [74.125.82.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 73B046E668 for ; Wed, 6 Aug 2014 06:08:13 -0700 (PDT) Received: by mail-we0-f172.google.com with SMTP id x48so2599525wes.31 for ; Wed, 06 Aug 2014 06:08:12 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1407325803-6944-16-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Wed, Aug 06, 2014 at 02:49:58PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > We should update the last in drm_update_vblank_count() to avoid applying > the diff more than once. This could occur eg. if drm_vblank_off() gets > called multiple times for the crtc. > = > Signed-off-by: Ville Syrj=E4l=E4 Currently we update ->last when disabling the vblank and use it when re-enabling it. Those calls should be symmetric, except for driver bugs. Imo would be better to tighten up the checks for that. Or do I completely misunderstand what's going on here? -Daniel > --- > drivers/gpu/drm/drm_irq.c | 2 ++ > 1 file changed, 2 insertions(+) > = > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index 0523f5b..67507a4 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -109,6 +109,8 @@ static void drm_update_vblank_count(struct drm_device= *dev, int crtc) > if (diff =3D=3D 0) > return; > = > + vblank->last =3D cur_vblank; > + > /* Reinitialize corresponding vblank timestamp if high-precision query > * available. Skip this step if query unsupported or failed. Will > * reinitialize delayed at next vblank interrupt in that case. > -- = > 1.8.5.5 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch