Lines Matching refs:vc

44 void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head);
45 void vchan_init(struct virt_dma_chan *vc, struct dma_device *dmadev);
54 static inline struct dma_async_tx_descriptor *vchan_tx_prep(struct virt_dma_chan *vc, in vchan_tx_prep() argument
59 dma_async_tx_descriptor_init(&vd->tx, &vc->chan); in vchan_tx_prep()
72 static inline bool vchan_issue_pending(struct virt_dma_chan *vc) in vchan_issue_pending() argument
74 list_splice_tail_init(&vc->desc_submitted, &vc->desc_issued); in vchan_issue_pending()
75 return !list_empty(&vc->desc_issued); in vchan_issue_pending()
86 struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan); in vchan_cookie_complete() local
91 dev_vdbg(vc->chan.device->dev, "txd %p[%x]: marked complete\n", in vchan_cookie_complete()
93 list_add_tail(&vd->node, &vc->desc_completed); in vchan_cookie_complete()
95 tasklet_schedule(&vc->task); in vchan_cookie_complete()
104 struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan); in vchan_cyclic_callback() local
106 vc->cyclic = vd; in vchan_cyclic_callback()
107 tasklet_schedule(&vc->task); in vchan_cyclic_callback()
116 static inline struct virt_dma_desc *vchan_next_desc(struct virt_dma_chan *vc) in vchan_next_desc() argument
118 if (list_empty(&vc->desc_issued)) in vchan_next_desc()
121 return list_first_entry(&vc->desc_issued, struct virt_dma_desc, node); in vchan_next_desc()
134 static inline void vchan_get_all_descriptors(struct virt_dma_chan *vc, in vchan_get_all_descriptors() argument
137 list_splice_tail_init(&vc->desc_submitted, head); in vchan_get_all_descriptors()
138 list_splice_tail_init(&vc->desc_issued, head); in vchan_get_all_descriptors()
139 list_splice_tail_init(&vc->desc_completed, head); in vchan_get_all_descriptors()
142 static inline void vchan_free_chan_resources(struct virt_dma_chan *vc) in vchan_free_chan_resources() argument
147 spin_lock_irqsave(&vc->lock, flags); in vchan_free_chan_resources()
148 vchan_get_all_descriptors(vc, &head); in vchan_free_chan_resources()
149 spin_unlock_irqrestore(&vc->lock, flags); in vchan_free_chan_resources()
151 vchan_dma_desc_free_list(vc, &head); in vchan_free_chan_resources()