dma-buf/sync_file: add sync_file_get_fence()
Creates a function that given an sync file descriptor returns a fence containing all fences in the sync_file. v2: Comments by Daniel Vetter - Adapt to new version of fence_collection_init() - Hold a reference for the fence we return v3: - Adapt to use fput() directly - rename to sync_file_get_fence() as we always return one fence v4: Adapt to use fence_array v5: set fence through fence_get() Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
This commit is contained in:
parent
a02b9dc90d
commit
972526a409
|
@ -116,6 +116,29 @@ static struct sync_file *sync_file_fdget(int fd)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* sync_file_get_fence - get the fence related to the sync_file fd
|
||||
* @fd: sync_file fd to get the fence from
|
||||
*
|
||||
* Ensures @fd references a valid sync_file and returns a fence that
|
||||
* represents all fence in the sync_file. On error NULL is returned.
|
||||
*/
|
||||
struct fence *sync_file_get_fence(int fd)
|
||||
{
|
||||
struct sync_file *sync_file;
|
||||
struct fence *fence;
|
||||
|
||||
sync_file = sync_file_fdget(fd);
|
||||
if (!sync_file)
|
||||
return NULL;
|
||||
|
||||
fence = fence_get(sync_file->fence);
|
||||
fput(sync_file->file);
|
||||
|
||||
return fence;
|
||||
}
|
||||
EXPORT_SYMBOL(sync_file_get_fence);
|
||||
|
||||
static int sync_file_set_fence(struct sync_file *sync_file,
|
||||
struct fence **fences, int num_fences)
|
||||
{
|
||||
|
|
|
@ -46,5 +46,6 @@ struct sync_file {
|
|||
};
|
||||
|
||||
struct sync_file *sync_file_create(struct fence *fence);
|
||||
struct fence *sync_file_get_fence(int fd);
|
||||
|
||||
#endif /* _LINUX_SYNC_H */
|
||||
|
|
Loading…
Reference in New Issue