|
XenevaOS
|
#include <dma-fence-chain.h>

Public Attributes | ||
| struct dma_fence | base | |
| struct dma_fence __rcu * | prev | |
| u64 | prev_seqno | |
| struct dma_fence * | fence | |
| union { | ||
| struct dma_fence_cb cb | ||
| struct irq_work work | ||
| }; | ||
struct dma_fence_chain - fence to represent an node of a fence chain @base: fence base class @prev: previous fence of the chain @prev_seqno: original previous seqno before garbage collection @fence: encapsulated fence @lock: spinlock for fence handling
| union { ... } dma_fence_chain |
| struct dma_fence dma_fence_chain::base |
| struct dma_fence_cb dma_fence_chain::cb |
@cb: callback for signaling
This is used to add the callback for signaling the complection of the fence chain. Never used at the same time as the irq work.
| struct dma_fence* dma_fence_chain::fence |
| u64 dma_fence_chain::prev_seqno |
| struct irq_work dma_fence_chain::work |
@work: irq work item for signaling
Irq work structure to allow us to add the callback without running into lock inversion. Never used at the same time as the callback.