diff options
author | Rob Clark <robdclark@gmail.com> | 2014-11-25 12:41:18 -0500 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2014-12-18 14:32:14 -0500 |
commit | f86afecf0defbc8d046bc7a7c5fc19a8c9ba1364 (patch) | |
tree | 1522a0b086298ed21cda7ea41cd74fa3e0b4ee2f /drivers/gpu/drm/msm/msm_drv.c | |
parent | 5acb07ea802c3a06bbe22cba32fbb8eb97b6b3ae (diff) |
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.c | 1 |
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); |