diff options
author | Dave Airlie <airlied@redhat.com> | 2013-05-24 10:12:22 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-05-24 10:12:22 +1000 |
commit | c313d56754fee4eaed849f85a14044144bdd79c4 (patch) | |
tree | 17b562070406b6d56347ab86ae748203d6d8cfe1 /drivers/staging | |
parent | b91fd4d5aad0c1124654341814067ca3f59490fc (diff) | |
parent | 0eca56f9467038ee0b798637f03581aaa1186fac (diff) |
Merge remote-tracking branch 'pfdo/drm-fixes' into drm-next
Pull the vblank event changes into a Linus master tree to make merging
easier.
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/imx-drm/ipuv3-crtc.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c index ea61c869110f..ff5c63350932 100644 --- a/drivers/staging/imx-drm/ipuv3-crtc.c +++ b/drivers/staging/imx-drm/ipuv3-crtc.c @@ -316,31 +316,14 @@ static int ipu_crtc_mode_set(struct drm_crtc *crtc, static void ipu_crtc_handle_pageflip(struct ipu_crtc *ipu_crtc) { - struct drm_pending_vblank_event *e; - struct timeval now; unsigned long flags; struct drm_device *drm = ipu_crtc->base.dev; spin_lock_irqsave(&drm->event_lock, flags); - - e = ipu_crtc->page_flip_event; - if (!e) { - spin_unlock_irqrestore(&drm->event_lock, flags); - return; - } - - do_gettimeofday(&now); - e->event.sequence = 0; - e->event.tv_sec = now.tv_sec; - e->event.tv_usec = now.tv_usec; + if (ipu_crtc->page_flip_event) + drm_send_vblank_event(drm, -1, ipu_crtc->page_flip_event); ipu_crtc->page_flip_event = NULL; - imx_drm_crtc_vblank_put(ipu_crtc->imx_crtc); - - list_add_tail(&e->base.link, &e->base.file_priv->event_list); - - wake_up_interruptible(&e->base.file_priv->event_wait); - spin_unlock_irqrestore(&drm->event_lock, flags); } |