search for: sync_pt

Displaying 7 results from an estimated 7 matches for "sync_pt".

Did you mean: sync_ctx
2014 Sep 26
0
[RFC PATCH 1/7] android: Support creating sync fence from drm fences
Modify sync_fence_create to accept an array of 'struct fence' objects. This will allow drm drivers to create sync_fence objects and pass sync fd's between user space with minimal modifications, without ever creating sync_timeline or sync_pt objects, and without implementing the sync_timeline_ops interface. Modify the sync driver debug code to not assume that every 'struct fence' (that is associated with a 'struct sync_fence') is embedded within a 'struct sync_pt'. Signed-off-by: Lauri Peltonen <lpeltonen a...
2014 Sep 26
14
[RFC] Explicit synchronization for Nouveau
...d support to Nouveau. It's not a lot of code, because I only use a relatively small subset of the android sync driver functionality. Thanks to Maarten's rewrite, all I need to do is to allow creating a sync_fence from a drm fence in order to pass it to user space. I don't need to use sync_pt or sync_timeline, or fill in sync_timeline_ops. I can see why the upstream has been reluctant to de-stage the android sync driver in its current form, since (even though it now builds on struct fence) it still duplicates some of the drm fence concepts. I'd like to think that my patches only u...
2014 Sep 26
0
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...*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; +#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 (!d...
2014 Sep 29
1
[RFC PATCH 7/7] drm/prime: Support explicit fence on export
...f (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; > +#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_p...
2014 Sep 29
3
[RFC] Explicit synchronization for Nouveau
...s not a lot of code, because I only use a relatively > > small subset of the android sync driver functionality. Thanks to Maarten's > > rewrite, all I need to do is to allow creating a sync_fence from a drm fence in > > order to pass it to user space. I don't need to use sync_pt or sync_timeline, > > or fill in sync_timeline_ops. > > > > I can see why the upstream has been reluctant to de-stage the android sync > > driver in its current form, since (even though it now builds on struct fence) > > it still duplicates some of the drm fence conce...
2014 Sep 29
0
[RFC] Explicit synchronization for Nouveau
...uveau. It's not a lot of code, because I only use a relatively > small subset of the android sync driver functionality. Thanks to Maarten's > rewrite, all I need to do is to allow creating a sync_fence from a drm fence in > order to pass it to user space. I don't need to use sync_pt or sync_timeline, > or fill in sync_timeline_ops. > > I can see why the upstream has been reluctant to de-stage the android sync > driver in its current form, since (even though it now builds on struct fence) > it still duplicates some of the drm fence concepts. I'd like to thi...
2014 Sep 29
0
[RFC] Explicit synchronization for Nouveau
...ot of code, because I only use a relatively >>> small subset of the android sync driver functionality. Thanks to Maarten's >>> rewrite, all I need to do is to allow creating a sync_fence from a drm fence in >>> order to pass it to user space. I don't need to use sync_pt or sync_timeline, >>> or fill in sync_timeline_ops. >>> >>> I can see why the upstream has been reluctant to de-stage the android sync >>> driver in its current form, since (even though it now builds on struct fence) >>> it still duplicates some of the d...