diff options
Diffstat (limited to 'drm/nouveau_gem.c')
-rw-r--r-- | drm/nouveau_gem.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drm/nouveau_gem.c b/drm/nouveau_gem.c index 36951ee4b..42c34babc 100644 --- a/drm/nouveau_gem.c +++ b/drm/nouveau_gem.c @@ -867,6 +867,7 @@ nouveau_gem_ioctl_cpu_prep(struct drm_device *dev, void *data, else ret = lret; } + nouveau_bo_sync_for_cpu(nvbo); drm_gem_object_unreference_unlocked(gem); return ret; @@ -876,6 +877,17 @@ int nouveau_gem_ioctl_cpu_fini(struct drm_device *dev, void *data, struct drm_file *file_priv) { + struct drm_nouveau_gem_cpu_fini *req = data; + struct drm_gem_object *gem; + struct nouveau_bo *nvbo; + + gem = drm_gem_object_lookup(dev, file_priv, req->handle); + if (!gem) + return -ENOENT; + nvbo = nouveau_gem_object(gem); + + nouveau_bo_sync_for_device(nvbo); + drm_gem_object_unreference_unlocked(gem); return 0; } |