Displaying 3 results from an estimated 3 matches for "config_sync".
2014 Sep 26
0
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...*
* This is the PRIME export function which must be used mandatorily by GEM
@@ -401,6 +403,24 @@ int drm_gem_prime_handle_to_fd(struct drm_device *dev,
struct drm_gem_object *obj;
int ret = 0;
struct dma_buf *dmabuf;
+ struct fence *fence = NULL;
+
+ if (flags & DRM_SYNC_FD) {
+#ifdef CONFIG_SYNC
+ struct sync_fence *sf = sync_fence_fdget(*prime_fd);
+ if (!sf)
+ return -ENOENT;
+ if (sf->num_fences != 1) {
+ sync_fence_put(sf);
+ return -EINVAL;
+ }
+ fence = fence_get(sf->cbs[0].sync_pt);
+ sync_fence_put(sf);
+ flags &= ~DRM_SYNC_FD;
+#else
+ return -ENODEV;
+#end...
2014 Sep 29
1
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...n which must be used mandatorily by GEM
> @@ -401,6 +403,24 @@ int drm_gem_prime_handle_to_fd(struct drm_device *dev,
> struct drm_gem_object *obj;
> int ret = 0;
> struct dma_buf *dmabuf;
> + struct fence *fence = NULL;
> +
> + if (flags & DRM_SYNC_FD) {
> +#ifdef CONFIG_SYNC
> + struct sync_fence *sf = sync_fence_fdget(*prime_fd);
> + if (!sf)
> + return -ENOENT;
> + if (sf->num_fences != 1) {
> + sync_fence_put(sf);
> + return -EINVAL;
> + }
> + fence = fence_get(sf->cbs[0].sync_pt);
> + sync_fence_put(sf);
> + flags &a...
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