drm/armada: wait for previous work when moving overlay window
We must wait for the previous plane work to complete before moving the overlay window, as it could overwrite our positioning update. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
这个提交包含在:
@@ -239,16 +239,16 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
|
||||
if (!dplane->base.state.changed)
|
||||
return 0;
|
||||
|
||||
/* Wait for pending work to complete */
|
||||
if (armada_drm_plane_work_wait(&dplane->base, HZ / 25) == 0)
|
||||
armada_drm_plane_work_cancel(dcrtc, &dplane->base);
|
||||
|
||||
/* Just updating the position/size? */
|
||||
if (!dplane->base.state.vsync_update) {
|
||||
armada_ovl_plane_work(dcrtc, work);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Wait for pending work to complete */
|
||||
if (armada_drm_plane_work_wait(&dplane->base, HZ / 25) == 0)
|
||||
armada_drm_plane_work_cancel(dcrtc, &dplane->base);
|
||||
|
||||
if (!dcrtc->plane) {
|
||||
dcrtc->plane = plane;
|
||||
armada_ovl_update_attr(&dplane->prop, dcrtc);
|
||||
|
在新工单中引用
屏蔽一个用户