diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-08-07 13:34:26 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-10-01 14:33:29 +0100 |
commit | 7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21 (patch) | |
tree | 87ce85b1b56f3e047cb016bda09f124045b0bc10 /drivers/gpu/drm/armada | |
parent | 4a8506d2d68724b6d326621118874c07095c6645 (diff) | |
download | lwn-7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21.tar.gz lwn-7cb410cdbdc9b71e2d4f356f2e4cea0b925abb21.zip |
drm/armada: move frame wait wakeup into plane work
Move the wakeup for the frame wait into the armada plane work, to
ensure that it is woken up every time we run a work.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada')
-rw-r--r-- | drivers/gpu/drm/armada/armada_crtc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c index 418dbfad4271..cebcab560626 100644 --- a/drivers/gpu/drm/armada/armada_crtc.c +++ b/drivers/gpu/drm/armada/armada_crtc.c @@ -201,6 +201,8 @@ static void armada_drm_plane_work_run(struct armada_crtc *dcrtc, work->fn(dcrtc, plane, work); drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); } + + wake_up(&plane->frame_wait); } int armada_drm_plane_work_queue(struct armada_crtc *dcrtc, @@ -415,7 +417,6 @@ static void armada_drm_crtc_irq(struct armada_crtc *dcrtc, u32 stat) if (ovl_plane) { struct armada_plane *plane = drm_to_armada_plane(ovl_plane); armada_drm_plane_work_run(dcrtc, plane); - wake_up(&plane->frame_wait); } if (stat & GRA_FRAME_IRQ && dcrtc->interlaced) { @@ -449,7 +450,6 @@ static void armada_drm_crtc_irq(struct armada_crtc *dcrtc, u32 stat) if (stat & GRA_FRAME_IRQ) { struct armada_plane *plane = drm_to_armada_plane(dcrtc->crtc.primary); armada_drm_plane_work_run(dcrtc, plane); - wake_up(&plane->frame_wait); } } |