aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_irq.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2016-01-11 16:40:59 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-01-25 13:34:43 -0500
commitfb740cf2492cc1e8f2216bc5ad9f5b2c49a32752 (patch)
treefbd2342a19fe510bd44713b340d88c10215826b3 /drivers/gpu/drm/drm_irq.c
parent6d3729ac1332e3b63b7a140d29fb60ef77d61af6 (diff)
drm: Create drm_send_event helpers
Use them in the core vblank code and exynos/vmwgfx drivers. Note that the difference between wake_up_all and _interruptible in vmwgfx doesn't matter since the only waiter is the core code in drm_fops.c. And that is interruptible. v2: Adjust existing kerneldoc too. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) Acked-by: Daniel Stone <daniels@collabora.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Thomas Hellstrom <thellstrom@vmware.com> Cc: Inki Dae <inki.dae@samsung.com> Link: http://patchwork.freedesktop.org/patch/msgid/1452548477-15905-6-git-send-email-daniel.vetter@ffwll.ch Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> [danvet: Squash in compile fixup, spotted by 0-day.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
-rw-r--r--drivers/gpu/drm/drm_irq.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index d12a4efa651b..4ec8bca643ac 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -983,15 +983,12 @@ static void send_vblank_event(struct drm_device *dev,
983 struct drm_pending_vblank_event *e, 983 struct drm_pending_vblank_event *e,
984 unsigned long seq, struct timeval *now) 984 unsigned long seq, struct timeval *now)
985{ 985{
986 assert_spin_locked(&dev->event_lock);
987
988 e->event.sequence = seq; 986 e->event.sequence = seq;
989 e->event.tv_sec = now->tv_sec; 987 e->event.tv_sec = now->tv_sec;
990 e->event.tv_usec = now->tv_usec; 988 e->event.tv_usec = now->tv_usec;
991 989
992 list_add_tail(&e->base.link, 990 drm_send_event_locked(dev, &e->base);
993 &e->base.file_priv->event_list); 991
994 wake_up_interruptible(&e->base.file_priv->event_wait);
995 trace_drm_vblank_event_delivered(e->base.pid, e->pipe, 992 trace_drm_vblank_event_delivered(e->base.pid, e->pipe,
996 e->event.sequence); 993 e->event.sequence);
997} 994}