|
@@ -77,6 +77,18 @@ drm_syncobj_put(struct drm_syncobj *obj)
|
|
kref_put(&obj->refcount, drm_syncobj_free);
|
|
kref_put(&obj->refcount, drm_syncobj_free);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static inline struct dma_fence *
|
|
|
|
+drm_syncobj_fence_get(struct drm_syncobj *syncobj)
|
|
|
|
+{
|
|
|
|
+ struct dma_fence *fence;
|
|
|
|
+
|
|
|
|
+ rcu_read_lock();
|
|
|
|
+ fence = dma_fence_get_rcu_safe(&syncobj->fence);
|
|
|
|
+ rcu_read_unlock();
|
|
|
|
+
|
|
|
|
+ return fence;
|
|
|
|
+}
|
|
|
|
+
|
|
struct drm_syncobj *drm_syncobj_find(struct drm_file *file_private,
|
|
struct drm_syncobj *drm_syncobj_find(struct drm_file *file_private,
|
|
u32 handle);
|
|
u32 handle);
|
|
void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
|
|
void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
|