Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7e96d7e authored by Rob Clark's avatar Rob Clark Committed by Dave Airlie
Browse files

drm/shmob: use drm_send_vblank_event() helper



Signed-off-by: default avatarRob Clark <rob@ti.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 26ae4667
Loading
Loading
Loading
Loading
+4 −15
Original line number Diff line number Diff line
@@ -451,28 +451,17 @@ void shmob_drm_crtc_finish_page_flip(struct shmob_drm_crtc *scrtc)
{
	struct drm_pending_vblank_event *event;
	struct drm_device *dev = scrtc->crtc.dev;
	struct timeval vblanktime;
	unsigned long flags;

	spin_lock_irqsave(&dev->event_lock, flags);
	event = scrtc->event;
	scrtc->event = NULL;
	spin_unlock_irqrestore(&dev->event_lock, flags);

	if (event == NULL)
		return;

	event->event.sequence = drm_vblank_count_and_time(dev, 0, &vblanktime);
	event->event.tv_sec = vblanktime.tv_sec;
	event->event.tv_usec = vblanktime.tv_usec;

	spin_lock_irqsave(&dev->event_lock, flags);
	list_add_tail(&event->base.link, &event->base.file_priv->event_list);
	wake_up_interruptible(&event->base.file_priv->event_wait);
	spin_unlock_irqrestore(&dev->event_lock, flags);

	if (event) {
		drm_send_vblank_event(dev, 0, event);
		drm_vblank_put(dev, 0);
	}
	spin_unlock_irqrestore(&dev->event_lock, flags);
}

static int shmob_drm_crtc_page_flip(struct drm_crtc *crtc,
				    struct drm_framebuffer *fb,