#ifndef _XE_RANGE_FENCE_H_
#define _XE_RANGE_FENCE_H_
#include <linux/dma-fence.h>
#include <linux/rbtree.h>
#include <linux/types.h>
struct xe_range_fence_tree;
struct xe_range_fence;
struct xe_range_fence_ops { … };
struct xe_range_fence { … };
struct xe_range_fence_tree { … };
extern const struct xe_range_fence_ops xe_range_fence_kfree_ops;
struct xe_range_fence *
xe_range_fence_tree_first(struct xe_range_fence_tree *tree, u64 start,
u64 last);
struct xe_range_fence *
xe_range_fence_tree_next(struct xe_range_fence *rfence, u64 start, u64 last);
void xe_range_fence_tree_init(struct xe_range_fence_tree *tree);
void xe_range_fence_tree_fini(struct xe_range_fence_tree *tree);
int xe_range_fence_insert(struct xe_range_fence_tree *tree,
struct xe_range_fence *rfence,
const struct xe_range_fence_ops *ops,
u64 start, u64 end,
struct dma_fence *fence);
#endif