Lines Matching refs:vc

193  * @vc:			   An instance for struct virt_dma_chan
197 * which is protected by vc.lock
200 struct virt_dma_chan vc;
224 * @vc: The pointer to all available VCs
238 struct mtk_hsdma_vchan *vc;
255 return container_of(chan, struct mtk_hsdma_vchan, vc.chan);
500 lockdep_assert_held(&hvc->vc.lock);
502 list_for_each_entry_safe(vd, vd2, &hvc->vc.desc_issued, node) {
585 spin_lock(&hvc->vc.lock);
598 spin_unlock(&hvc->vc.lock);
633 hvc = &hsdma->vc[i];
634 spin_lock(&hvc->vc.lock);
636 spin_unlock(&hvc->vc.lock);
669 list_for_each_entry(vd, &hvc->vc.desc_issued, node)
691 spin_lock_irqsave(&hvc->vc.lock, flags);
693 spin_unlock_irqrestore(&hvc->vc.lock, flags);
711 spin_lock_irqsave(&hvc->vc.lock, flags);
713 if (vchan_issue_pending(&hvc->vc))
716 spin_unlock_irqrestore(&hvc->vc.lock, flags);
739 struct virt_dma_chan *vc = to_virt_chan(c);
743 spin_lock_irqsave(&vc->lock, flags);
744 list_splice_tail_init(&vc->desc_allocated, &head);
745 list_splice_tail_init(&vc->desc_submitted, &head);
746 list_splice_tail_init(&vc->desc_issued, &head);
747 spin_unlock_irqrestore(&vc->lock, flags);
750 vchan_dma_desc_free_list(vc, &head);
765 spin_lock(&hvc->vc.lock);
770 spin_unlock(&hvc->vc.lock);
782 vchan_synchronize(&hvc->vc);
784 WARN_ONCE(!list_empty(&hvc->vc.desc_completed),
896 struct mtk_hsdma_vchan *vc;
961 hsdma->vc = devm_kcalloc(&pdev->dev, hsdma->dma_requests,
962 sizeof(*hsdma->vc), GFP_KERNEL);
963 if (!hsdma->vc)
967 vc = &hsdma->vc[i];
968 vc->vc.desc_free = mtk_hsdma_vdesc_free;
969 vchan_init(&vc->vc, dd);
970 init_completion(&vc->issue_completion);
971 INIT_LIST_HEAD(&vc->desc_hw_processing);
1015 struct mtk_hsdma_vchan *vc;
1020 vc = &hsdma->vc[i];
1022 list_del(&vc->vc.chan.device_node);
1023 tasklet_kill(&vc->vc.task);