Lines Matching refs:vchan
44 return container_of(dchan, struct sf_pdma_chan, vchan.chan); in to_sf_pdma_chan()
101 desc->async_tx = vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); in sf_pdma_prep_dma_memcpy()
103 spin_lock_irqsave(&chan->vchan.lock, iflags); in sf_pdma_prep_dma_memcpy()
105 spin_unlock_irqrestore(&chan->vchan.lock, iflags); in sf_pdma_prep_dma_memcpy()
144 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_free_chan_resources()
148 vchan_get_all_descriptors(&chan->vchan, &head); in sf_pdma_free_chan_resources()
150 spin_unlock_irqrestore(&chan->vchan.lock, flags); in sf_pdma_free_chan_resources()
151 vchan_dma_desc_free_list(&chan->vchan, &head); in sf_pdma_free_chan_resources()
164 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_desc_residue()
166 list_for_each_entry(vd, &chan->vchan.desc_submitted, node) in sf_pdma_desc_residue()
179 vd = vchan_find_desc(&chan->vchan, cookie); in sf_pdma_desc_residue()
188 spin_unlock_irqrestore(&chan->vchan.lock, flags); in sf_pdma_desc_residue()
214 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_terminate_all()
219 vchan_get_all_descriptors(&chan->vchan, &head); in sf_pdma_terminate_all()
220 spin_unlock_irqrestore(&chan->vchan.lock, flags); in sf_pdma_terminate_all()
221 vchan_dma_desc_free_list(&chan->vchan, &head); in sf_pdma_terminate_all()
241 struct virt_dma_chan *vchan = &chan->vchan; in sf_pdma_get_first_pending_desc() local
244 if (list_empty(&vchan->desc_issued)) in sf_pdma_get_first_pending_desc()
247 vdesc = list_first_entry(&vchan->desc_issued, struct virt_dma_desc, node); in sf_pdma_get_first_pending_desc()
277 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_issue_pending()
279 if (!chan->desc && vchan_issue_pending(&chan->vchan)) { in sf_pdma_issue_pending()
285 spin_unlock_irqrestore(&chan->vchan.lock, flags); in sf_pdma_issue_pending()
309 spin_lock_irqsave(&chan->vchan.lock, flags); in sf_pdma_donebh_tasklet()
317 spin_unlock_irqrestore(&chan->vchan.lock, flags); in sf_pdma_donebh_tasklet()
348 spin_lock(&chan->vchan.lock); in sf_pdma_done_isr()
365 spin_unlock(&chan->vchan.lock); in sf_pdma_done_isr()
488 chan->vchan.desc_free = sf_pdma_free_desc; in sf_pdma_setup_chans()
489 vchan_init(&chan->vchan, &pdma->dma_dev); in sf_pdma_setup_chans()
587 list_del(&ch->vchan.chan.device_node); in sf_pdma_remove()
588 tasklet_kill(&ch->vchan.task); in sf_pdma_remove()