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

Commit 7cb410cd authored by Russell King's avatar Russell King
Browse files

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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 4a8506d2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
	}
}