|
XenevaOS
|


Go to the source code of this file.
Classes | |
| struct | dma_fence_chain |
Macros | |
| #define | dma_fence_chain_alloc() kmalloc_obj(struct dma_fence_chain) |
| #define | dma_fence_chain_for_each(iter, head) |
Functions | |
| struct dma_fence * | dma_fence_chain_walk (struct dma_fence *fence) |
| int | dma_fence_chain_find_seqno (struct dma_fence **pfence, uint64_t seqno) |
| void | dma_fence_chain_init (struct dma_fence_chain *chain, struct dma_fence *prev, struct dma_fence *fence, uint64_t seqno) |
| #define dma_fence_chain_alloc | ( | ) | kmalloc_obj(struct dma_fence_chain) |
dma_fence_chain_alloc
Returns a new struct dma_fence_chain object or NULL on failure.
This specialized allocator has to be a macro for its allocations to be accounted separately (to have a separate alloc_tag). The typecast is intentional to enforce typesafety.
| #define dma_fence_chain_for_each | ( | iter, | |
| head | |||
| ) |
dma_fence_chain_for_each - iterate over all fences in chain @iter: current fence @head: starting point
Iterate over all fences in the chain. We keep a reference to the current fence while inside the loop which must be dropped when breaking out.
For a deep dive iterator see dma_fence_unwrap_for_each().
| void dma_fence_chain_init | ( | struct dma_fence_chain * | chain, |
| struct dma_fence * | prev, | ||
| struct dma_fence * | fence, | ||
| uint64_t | seqno | ||
| ) |