diff options
author | Rob Clark <robdclark@gmail.com> | 2016-03-16 18:18:17 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2016-05-08 10:22:14 -0400 |
commit | ba00c3f2f0c84456ffe9d548823ff4fb8e4e7ed4 (patch) | |
tree | 1cddb413a2c1f4281f938f356bf74cfaf33cedcc /drivers/gpu/drm/msm/msm_gem.c | |
parent | ca762a8ae7f453978a4769af9dcd3cb08e45b932 (diff) | |
download | op-kernel-dev-ba00c3f2f0c84456ffe9d548823ff4fb8e4e7ed4.zip op-kernel-dev-ba00c3f2f0c84456ffe9d548823ff4fb8e4e7ed4.tar.gz |
drm/msm: remove fence_cbs
This was only used for atomic commit these days. So instead just give
atomic it's own work-queue where we can do a block on each bo in turn.
Simplifies things a whole bunch and makes the 'struct fence' conversion
easier.
Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gem.c')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gem.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index 80aba76..9080ed1 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -439,7 +439,7 @@ void msm_gem_move_to_inactive(struct drm_gem_object *obj) list_add_tail(&msm_obj->mm_list, &priv->inactive_list); } -int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout) +int msm_gem_cpu_sync(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout) { struct drm_device *dev = obj->dev; struct msm_drm_private *priv = dev->dev_private; @@ -456,6 +456,13 @@ int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout) ret = msm_wait_fence(priv->gpu->fctx, fence, timeout, true); } + return ret; +} + +int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout) +{ + int ret = msm_gem_cpu_sync(obj, op, timeout); + /* TODO cache maintenance */ return ret; |