Lines Matching refs:vd
125 * @vd: An instance for struct virt_dma_desc
132 struct virt_dma_desc vd;
143 * @vd: Pointer to the relevant VD.
148 struct virt_dma_desc *vd;
259 static struct mtk_hsdma_vdesc *to_hsdma_vdesc(struct virt_dma_desc *vd)
261 return container_of(vd, struct mtk_hsdma_vdesc, vd);
300 static void mtk_hsdma_vdesc_free(struct virt_dma_desc *vd)
302 kfree(container_of(vd, struct mtk_hsdma_vdesc, vd));
460 ring->cb[ring->cur_tptr].vd = &hvd->vd;
498 struct virt_dma_desc *vd, *vd2;
503 list_for_each_entry_safe(vd, vd2, &hvc->vc.desc_issued, node) {
506 hvd = to_hsdma_vdesc(vd);
529 list_move_tail(&vd->node, &hvc->desc_hw_processing);
573 if (unlikely(!cb->vd)) {
574 dev_err(hsdma2dev(hsdma), "cb->vd cannot be null\n");
579 hvd = to_hsdma_vdesc(cb->vd);
584 hvc = to_hsdma_vchan(cb->vd->tx.chan);
589 list_del(&cb->vd->node);
592 vchan_cookie_complete(cb->vd);
604 cb->vd = 0;
664 struct virt_dma_desc *vd;
666 list_for_each_entry(vd, &hvc->desc_hw_processing, node)
667 if (vd->tx.cookie == cookie)
668 return vd;
670 list_for_each_entry(vd, &hvc->vc.desc_issued, node)
671 if (vd->tx.cookie == cookie)
672 return vd;
683 struct virt_dma_desc *vd;
693 vd = mtk_hsdma_find_active_desc(c, cookie);
696 if (vd) {
697 hvd = to_hsdma_vdesc(vd);
735 return vchan_tx_prep(to_virt_chan(c), &hvd->vd, flags);