Lines Matching refs:vc
91 struct virt_dma_chan vc; member
132 return container_of(chan, struct sa11x0_dma_chan, vc.chan); in to_sa11x0_dma_chan()
142 struct virt_dma_desc *vd = vchan_next_desc(&c->vc); in sa11x0_dma_next_desc()
283 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_irq()
297 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_irq()
339 list_for_each_entry(c, &d->slave.channels, vc.chan.device_node) { in sa11x0_dma_tasklet()
340 spin_lock_irq(&c->vc.lock); in sa11x0_dma_tasklet()
353 spin_unlock_irq(&c->vc.lock); in sa11x0_dma_tasklet()
370 dev_dbg(d->slave.dev, "pchan %u: alloc vchan %p\n", pch, &c->vc); in sa11x0_dma_tasklet()
380 spin_lock_irq(&c->vc.lock); in sa11x0_dma_tasklet()
384 spin_unlock_irq(&c->vc.lock); in sa11x0_dma_tasklet()
402 vchan_free_chan_resources(&c->vc); in sa11x0_dma_free_chan_resources()
431 ret = dma_cookie_status(&c->vc.chan, cookie, state); in sa11x0_dma_tx_status()
438 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_tx_status()
445 vd = vchan_find_desc(&c->vc, cookie); in sa11x0_dma_tx_status()
492 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_tx_status()
510 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_issue_pending()
511 if (vchan_issue_pending(&c->vc)) { in sa11x0_dma_issue_pending()
517 dev_dbg(d->slave.dev, "vchan %p: issued\n", &c->vc); in sa11x0_dma_issue_pending()
522 dev_dbg(d->slave.dev, "vchan %p: nothing to issue\n", &c->vc); in sa11x0_dma_issue_pending()
523 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_issue_pending()
539 &c->vc, c->ddar, dir); in sa11x0_dma_prep_slave_sg()
555 &c->vc, addr); in sa11x0_dma_prep_slave_sg()
562 dev_dbg(chan->device->dev, "vchan %p: kzalloc failed\n", &c->vc); in sa11x0_dma_prep_slave_sg()
603 &c->vc, &txd->vd, txd->size, txd->sglen); in sa11x0_dma_prep_slave_sg()
605 return vchan_tx_prep(&c->vc, &txd->vd, flags); in sa11x0_dma_prep_slave_sg()
619 &c->vc, c->ddar, dir); in sa11x0_dma_prep_dma_cyclic()
632 dev_dbg(chan->device->dev, "vchan %p: kzalloc failed\n", &c->vc); in sa11x0_dma_prep_dma_cyclic()
664 return vchan_tx_prep(&c->vc, &txd->vd, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); in sa11x0_dma_prep_dma_cyclic()
696 dev_dbg(c->vc.chan.device->dev, "vchan %p: dma_slave_config addr %x width %u burst %u\n", in sa11x0_dma_device_config()
697 &c->vc, addr, width, maxburst); in sa11x0_dma_device_config()
712 dev_dbg(d->slave.dev, "vchan %p: pause\n", &c->vc); in sa11x0_dma_device_pause()
713 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_device_pause()
726 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_device_pause()
739 dev_dbg(d->slave.dev, "vchan %p: resume\n", &c->vc); in sa11x0_dma_device_resume()
740 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_device_resume()
747 } else if (!list_empty(&c->vc.desc_issued)) { in sa11x0_dma_device_resume()
753 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_device_resume()
766 dev_dbg(d->slave.dev, "vchan %p: terminate all\n", &c->vc); in sa11x0_dma_device_terminate_all()
768 spin_lock_irqsave(&c->vc.lock, flags); in sa11x0_dma_device_terminate_all()
769 vchan_get_all_descriptors(&c->vc, &head); in sa11x0_dma_device_terminate_all()
795 spin_unlock_irqrestore(&c->vc.lock, flags); in sa11x0_dma_device_terminate_all()
796 vchan_dma_desc_free_list(&c->vc, &head); in sa11x0_dma_device_terminate_all()
855 c->vc.desc_free = sa11x0_dma_free_desc; in sa11x0_dma_init_dmadev()
856 vchan_init(&c->vc, dmadev); in sa11x0_dma_init_dmadev()
885 list_for_each_entry_safe(c, cn, &dmadev->channels, vc.chan.device_node) { in sa11x0_dma_free_channels()
886 list_del(&c->vc.chan.device_node); in sa11x0_dma_free_channels()
887 tasklet_kill(&c->vc.task); in sa11x0_dma_free_channels()