search for: fail_put_dmabuf

Displaying 3 results from an estimated 3 matches for "fail_put_dmabuf".

2014 Sep 26
0
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...turn -EINVAL; + } + fence = fence_get(sf->cbs[0].sync_pt); + sync_fence_put(sf); + flags &= ~DRM_SYNC_FD; +#else + return -ENODEV; +#endif + } mutex_lock(&file_priv->prime.lock); obj = drm_gem_object_lookup(dev, file_priv, handle); @@ -453,6 +473,14 @@ out_have_obj: goto fail_put_dmabuf; out_have_handle: + if (fence) { + if (!dmabuf->resv) { + ret = -ENODEV; + goto fail_put_dmabuf; + } + reservation_object_add_excl_fence(dmabuf->resv, fence); + } + ret = dma_buf_fd(dmabuf, flags); /* * We must _not_ remove the buffer from the handle cache since the newly @@...
2014 Sep 29
1
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...ync_pt); > + sync_fence_put(sf); > + flags &= ~DRM_SYNC_FD; > +#else > + return -ENODEV; > +#endif > + } > > mutex_lock(&file_priv->prime.lock); > obj = drm_gem_object_lookup(dev, file_priv, handle); > @@ -453,6 +473,14 @@ out_have_obj: > goto fail_put_dmabuf; > > out_have_handle: > + if (fence) { > + if (!dmabuf->resv) { > + ret = -ENODEV; > + goto fail_put_dmabuf; > + } > + reservation_object_add_excl_fence(dmabuf->resv, fence); > + } > + > ret = dma_buf_fd(dmabuf, flags); > /* > * We must...
2014 Sep 26
14
[RFC] Explicit synchronization for Nouveau
Hi guys, I'd like to start a new thread about explicit fence synchronization. This time with a Nouveau twist. :-) First, let me define what I understand by implicit/explicit sync: Implicit synchronization * Fences are attached to buffers * Kernel manages fences automatically based on buffer read/write access Explicit synchronization * Fences are passed around independently * Kernel takes