Lines Matching defs:vd
124 * @vd: An instance for struct virt_dma_desc
131 struct virt_dma_desc vd;
142 * @vd: Pointer to the relevant VD.
147 struct virt_dma_desc *vd;
258 static struct mtk_hsdma_vdesc *to_hsdma_vdesc(struct virt_dma_desc *vd)
260 return container_of(vd, struct mtk_hsdma_vdesc, vd);
299 static void mtk_hsdma_vdesc_free(struct virt_dma_desc *vd)
301 kfree(container_of(vd, struct mtk_hsdma_vdesc, vd));
459 ring->cb[ring->cur_tptr].vd = &hvd->vd;
497 struct virt_dma_desc *vd, *vd2;
502 list_for_each_entry_safe(vd, vd2, &hvc->vc.desc_issued, node) {
505 hvd = to_hsdma_vdesc(vd);
528 list_move_tail(&vd->node, &hvc->desc_hw_processing);
572 if (unlikely(!cb->vd)) {
573 dev_err(hsdma2dev(hsdma), "cb->vd cannot be null\n");
578 hvd = to_hsdma_vdesc(cb->vd);
583 hvc = to_hsdma_vchan(cb->vd->tx.chan);
588 list_del(&cb->vd->node);
591 vchan_cookie_complete(cb->vd);
603 cb->vd = NULL;
663 struct virt_dma_desc *vd;
665 list_for_each_entry(vd, &hvc->desc_hw_processing, node)
666 if (vd->tx.cookie == cookie)
667 return vd;
669 list_for_each_entry(vd, &hvc->vc.desc_issued, node)
670 if (vd->tx.cookie == cookie)
671 return vd;
682 struct virt_dma_desc *vd;
692 vd = mtk_hsdma_find_active_desc(c, cookie);
695 if (vd) {
696 hvd = to_hsdma_vdesc(vd);
734 return vchan_tx_prep(to_virt_chan(c), &hvd->vd, flags);