summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/msm_drv.c
diff options
context:
space:
mode:
authorRob Clark2014-11-25 18:41:18 +0100
committerRob Clark2014-12-18 20:32:14 +0100
commitf86afecf0defbc8d046bc7a7c5fc19a8c9ba1364 (patch)
tree1522a0b086298ed21cda7ea41cd74fa3e0b4ee2f /drivers/gpu/drm/msm/msm_drv.c
parentdrm/msm: Deletion of unnecessary checks before the function call "release_fir... (diff)
downloadkernel-qcow2-linux-f86afecf0defbc8d046bc7a7c5fc19a8c9ba1364.tar.gz
kernel-qcow2-linux-f86afecf0defbc8d046bc7a7c5fc19a8c9ba1364.tar.xz
kernel-qcow2-linux-f86afecf0defbc8d046bc7a7c5fc19a8c9ba1364.zip
drm/msm: block incoming update on pending updates
We can't have multiple updates pending on a given CRTC, and we don't want a sync update to race w/ an async update that preceeded it. So keep track of which CRTCs have updates in flight, and block later updates that would conflict. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.c')
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index d3b791b7ddef..7e1c71e51cb4 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -193,6 +193,7 @@ static int msm_load(struct drm_device *dev, unsigned long flags)
priv->wq = alloc_ordered_workqueue("msm", 0);
init_waitqueue_head(&priv->fence_event);
+ init_waitqueue_head(&priv->pending_crtcs_event);
INIT_LIST_HEAD(&priv->inactive_list);
INIT_LIST_HEAD(&priv->fence_cbs);