drm/syncobj: add new drm_syncobj_add_point interface v4
Use the dma_fence_chain object to create a timeline of fence objects instead of just replacing the existing fence. v2: rebase and cleanup v3: fix garbage collection parameters v4: add unorder point check, print a warn calltrace Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Link: https://patchwork.freedesktop.org/patch/295780/?series=58813&rev=1
This commit is contained in:

committed by
Christian König

parent
7bf60c52e0
commit
44f8a1396e
@@ -27,6 +27,7 @@
|
||||
#define __DRM_SYNCOBJ_H__
|
||||
|
||||
#include <linux/dma-fence.h>
|
||||
#include <linux/dma-fence-chain.h>
|
||||
|
||||
struct drm_file;
|
||||
|
||||
@@ -112,6 +113,10 @@ drm_syncobj_fence_get(struct drm_syncobj *syncobj)
|
||||
|
||||
struct drm_syncobj *drm_syncobj_find(struct drm_file *file_private,
|
||||
u32 handle);
|
||||
void drm_syncobj_add_point(struct drm_syncobj *syncobj,
|
||||
struct dma_fence_chain *chain,
|
||||
struct dma_fence *fence,
|
||||
uint64_t point);
|
||||
void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
|
||||
struct dma_fence *fence);
|
||||
int drm_syncobj_find_fence(struct drm_file *file_private,
|
||||
|
Reference in New Issue
Block a user