Lines Matching refs:prev
23 struct dma_fence *prev;
26 prev = dma_fence_get_rcu_safe(&chain->prev);
28 return prev;
42 struct dma_fence *prev, *replacement, *tmp;
50 while ((prev = dma_fence_chain_get_prev(chain))) {
52 prev_chain = to_dma_fence_chain(prev);
59 if (!dma_fence_is_signaled(prev))
65 tmp = cmpxchg((struct dma_fence __force **)&chain->prev,
66 prev, replacement);
67 if (tmp == prev)
71 dma_fence_put(prev);
75 return prev;
182 struct dma_fence *prev;
187 while ((prev = rcu_dereference_protected(chain->prev, true))) {
190 if (kref_read(&prev->refcount) > 1)
193 prev_chain = to_dma_fence_chain(prev);
200 chain->prev = prev_chain->prev;
201 RCU_INIT_POINTER(prev_chain->prev, NULL);
202 dma_fence_put(prev);
204 dma_fence_put(prev);
223 * @prev: the previous fence
231 struct dma_fence *prev,
235 struct dma_fence_chain *prev_chain = to_dma_fence_chain(prev);
239 rcu_assign_pointer(chain->prev, prev);
245 if (prev_chain && __dma_fence_is_later(seqno, prev->seqno, prev->ops)) {
246 context = prev->context;
247 chain->prev_seqno = prev->seqno;
252 seqno = max(prev->seqno, seqno);