Lines Matching refs:hvd
414 struct mtk_hsdma_vdesc *hvd) in mtk_hsdma_issue_pending_vdesc() argument
428 num_sgs = DIV_ROUND_UP(hvd->len, MTK_HSDMA_MAX_LEN); in mtk_hsdma_issue_pending_vdesc()
440 tlen = (hvd->len > MTK_HSDMA_MAX_LEN) ? in mtk_hsdma_issue_pending_vdesc()
441 MTK_HSDMA_MAX_LEN : hvd->len; in mtk_hsdma_issue_pending_vdesc()
451 WRITE_ONCE(txd->desc1, hvd->src); in mtk_hsdma_issue_pending_vdesc()
456 WRITE_ONCE(rxd->desc1, hvd->dest); in mtk_hsdma_issue_pending_vdesc()
460 ring->cb[ring->cur_tptr].vd = &hvd->vd; in mtk_hsdma_issue_pending_vdesc()
467 hvd->src += tlen; in mtk_hsdma_issue_pending_vdesc()
468 hvd->dest += tlen; in mtk_hsdma_issue_pending_vdesc()
469 hvd->len -= tlen; in mtk_hsdma_issue_pending_vdesc()
476 if (!hvd->len) { in mtk_hsdma_issue_pending_vdesc()
504 struct mtk_hsdma_vdesc *hvd; in mtk_hsdma_issue_vchan_pending() local
506 hvd = to_hsdma_vdesc(vd); in mtk_hsdma_issue_vchan_pending()
509 err = mtk_hsdma_issue_pending_vdesc(hsdma, hsdma->pc, hvd); in mtk_hsdma_issue_vchan_pending()
518 if (err == -ENOSPC || hvd->len > 0) in mtk_hsdma_issue_vchan_pending()
537 struct mtk_hsdma_vdesc *hvd; in mtk_hsdma_free_rooms_in_ring() local
579 hvd = to_hsdma_vdesc(cb->vd); in mtk_hsdma_free_rooms_in_ring()
580 hvd->residue -= MTK_HSDMA_DESC_PLEN_GET(rxd->desc2); in mtk_hsdma_free_rooms_in_ring()
682 struct mtk_hsdma_vdesc *hvd; in mtk_hsdma_tx_status() local
697 hvd = to_hsdma_vdesc(vd); in mtk_hsdma_tx_status()
698 bytes = hvd->residue; in mtk_hsdma_tx_status()
724 struct mtk_hsdma_vdesc *hvd; in mtk_hsdma_prep_dma_memcpy() local
726 hvd = kzalloc(sizeof(*hvd), GFP_NOWAIT); in mtk_hsdma_prep_dma_memcpy()
727 if (!hvd) in mtk_hsdma_prep_dma_memcpy()
730 hvd->len = len; in mtk_hsdma_prep_dma_memcpy()
731 hvd->residue = len; in mtk_hsdma_prep_dma_memcpy()
732 hvd->src = src; in mtk_hsdma_prep_dma_memcpy()
733 hvd->dest = dest; in mtk_hsdma_prep_dma_memcpy()
735 return vchan_tx_prep(to_virt_chan(c), &hvd->vd, flags); in mtk_hsdma_prep_dma_memcpy()