These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / msm / msm_gem.c
index 5283976..c76cc85 100644 (file)
@@ -448,8 +448,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,
-               struct timespec *timeout)
+int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout)
 {
        struct drm_device *dev = obj->dev;
        struct msm_gem_object *msm_obj = to_msm_bo(obj);
@@ -461,7 +460,7 @@ int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op,
                if (op & MSM_PREP_NOSYNC)
                        timeout = NULL;
 
-               ret = msm_wait_fence_interruptable(dev, fence, timeout);
+               ret = msm_wait_fence(dev, fence, timeout, true);
        }
 
        /* TODO cache maintenance */
@@ -540,6 +539,7 @@ void msm_gem_free_object(struct drm_gem_object *obj)
                if (msm_obj->pages)
                        drm_free_large(msm_obj->pages);
 
+               drm_prime_gem_destroy(obj, msm_obj->sgt);
        } else {
                vunmap(msm_obj->vaddr);
                put_pages(obj);