Hi, On 05/22/2013 01:04 PM, Inki Dae wrote: > From: Rob Clark <rob at ti.com> > > Rebased. > > Signed-off-by: Rob Clark <rob at ti.com> > Signed-off-by: Inki Dae <inki.dae at samsung.com> > --- > drivers/gpu/drm/exynos/exynos_drm_crtc.c | 10 ++-------- > 1 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c > b/drivers/gpu/drm/exynos/exynos_drm_crtc.c > index e8894bc..1e7825a 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c > @@ -398,7 +398,6 @@ void exynos_drm_crtc_finish_pageflip(struct drm_device > *dev, int crtc) > { > struct exynos_drm_private *dev_priv = dev->dev_private; > struct drm_pending_vblank_event *e, *t; > - struct timeval now; > unsigned long flags; > > DRM_DEBUG_KMS("%s\n", __FILE__); > @@ -411,14 +410,9 @@ void exynos_drm_crtc_finish_pageflip(struct drm_device > *dev, int crtc) > if (crtc != e->pipe) > continue; > > - do_gettimeofday(&now); > - e->event.sequence = 0; > - e->event.tv_sec = now.tv_sec; > - e->event.tv_usec = now.tv_usec; > - > - list_move_tail(&e->base.link, &e->base.file_priv->event_list); > - wake_up_interruptible(&e->base.file_priv->event_wait); > drm_vblank_put(dev, crtc); > + list_del(&e->base.link); > + drm_send_vblank_event(dev, -1, e);
I think it's better to add above things before drm_vblank_put is called in comparison with prior codes. Thanks.