Lines Matching refs:vc
72 struct virt_dma_chan vc; member
140 return container_of(c, struct bcm2835_chan, vc.chan); in to_bcm2835_dma_chan()
199 struct virt_dma_desc *vd = vchan_next_desc(&c->vc); in bcm2835_dma_start_desc()
221 spin_lock_irqsave(&c->vc.lock, flags); in bcm2835_dma_callback()
236 spin_unlock_irqrestore(&c->vc.lock, flags); in bcm2835_dma_callback()
244 struct device *dev = c->vc.chan.device->dev; in bcm2835_dma_alloc_chan_resources()
263 vchan_free_chan_resources(&c->vc); in bcm2835_dma_free_chan_resources()
267 dev_dbg(c->vc.chan.device->dev, "Freeing DMA channel %u\n", c->ch); in bcm2835_dma_free_chan_resources()
311 spin_lock_irqsave(&c->vc.lock, flags); in bcm2835_dma_tx_status()
312 vd = vchan_find_desc(&c->vc, cookie); in bcm2835_dma_tx_status()
332 spin_unlock_irqrestore(&c->vc.lock, flags); in bcm2835_dma_tx_status()
344 spin_lock_irqsave(&c->vc.lock, flags); in bcm2835_dma_issue_pending()
345 if (vchan_issue_pending(&c->vc) && !c->desc) in bcm2835_dma_issue_pending()
348 spin_unlock_irqrestore(&c->vc.lock, flags); in bcm2835_dma_issue_pending()
455 return vchan_tx_prep(&c->vc, &d->vd, flags); in bcm2835_dma_prep_dma_cyclic()
490 struct bcm2835_dmadev *d = to_bcm2835_dma_dev(c->vc.chan.device); in bcm2835_dma_terminate_all()
495 spin_lock_irqsave(&c->vc.lock, flags); in bcm2835_dma_terminate_all()
525 vchan_get_all_descriptors(&c->vc, &head); in bcm2835_dma_terminate_all()
526 spin_unlock_irqrestore(&c->vc.lock, flags); in bcm2835_dma_terminate_all()
527 vchan_dma_desc_free_list(&c->vc, &head); in bcm2835_dma_terminate_all()
540 c->vc.desc_free = bcm2835_dma_desc_free; in bcm2835_dma_chan_init()
541 vchan_init(&c->vc, &d->ddev); in bcm2835_dma_chan_init()
556 vc.chan.device_node) { in bcm2835_dma_free()
557 list_del(&c->vc.chan.device_node); in bcm2835_dma_free()
558 tasklet_kill(&c->vc.task); in bcm2835_dma_free()