Lines Matching refs:txd
205 struct owl_dma_txd *txd; member
363 static struct owl_dma_lli *owl_dma_add_lli(struct owl_dma_txd *txd, in owl_dma_add_lli() argument
369 list_add_tail(&next->node, &txd->lli_list); in owl_dma_add_lli()
539 struct owl_dma_txd *txd = to_owl_txd(&vd->tx); in owl_dma_start_next_txd() local
546 vchan->txd = txd; in owl_dma_start_next_txd()
552 lli = list_first_entry(&txd->lli_list, in owl_dma_start_next_txd()
555 if (txd->cyclic) in owl_dma_start_next_txd()
640 struct owl_dma_txd *txd; in owl_dma_interrupt() local
653 txd = vchan->txd; in owl_dma_interrupt()
654 if (txd) { in owl_dma_interrupt()
655 vchan->txd = NULL; in owl_dma_interrupt()
657 vchan_cookie_complete(&txd->vd); in owl_dma_interrupt()
675 static void owl_dma_free_txd(struct owl_dma *od, struct owl_dma_txd *txd) in owl_dma_free_txd() argument
679 if (unlikely(!txd)) in owl_dma_free_txd()
682 list_for_each_entry_safe(lli, _lli, &txd->lli_list, node) in owl_dma_free_txd()
685 kfree(txd); in owl_dma_free_txd()
691 struct owl_dma_txd *txd = to_owl_txd(&vd->tx); in owl_dma_desc_free() local
693 owl_dma_free_txd(od, txd); in owl_dma_desc_free()
708 if (vchan->txd) { in owl_dma_terminate_all()
709 owl_dma_desc_free(&vchan->txd->vd); in owl_dma_terminate_all()
710 vchan->txd = NULL; in owl_dma_terminate_all()
756 if (!vchan->pchan && !vchan->txd) in owl_dma_resume()
773 struct owl_dma_txd *txd; in owl_dma_getbytes_chan() local
779 txd = vchan->txd; in owl_dma_getbytes_chan()
781 if (!pchan || !txd) in owl_dma_getbytes_chan()
790 list_for_each_entry(lli, &txd->lli_list, node) { in owl_dma_getbytes_chan()
793 list_for_each_entry(lli, &txd->lli_list, node) in owl_dma_getbytes_chan()
810 struct owl_dma_txd *txd; in owl_dma_tx_status() local
823 txd = to_owl_txd(&vd->tx); in owl_dma_tx_status()
824 list_for_each_entry(lli, &txd->lli_list, node) in owl_dma_tx_status()
872 struct owl_dma_txd *txd; in owl_dma_prep_memcpy() local
880 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_dma_prep_memcpy()
881 if (!txd) in owl_dma_prep_memcpy()
884 INIT_LIST_HEAD(&txd->lli_list); in owl_dma_prep_memcpy()
898 &vchan->cfg, txd->cyclic); in owl_dma_prep_memcpy()
904 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_dma_prep_memcpy()
907 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_dma_prep_memcpy()
910 owl_dma_free_txd(od, txd); in owl_dma_prep_memcpy()
924 struct owl_dma_txd *txd; in owl_dma_prep_slave_sg() local
931 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_dma_prep_slave_sg()
932 if (!txd) in owl_dma_prep_slave_sg()
935 INIT_LIST_HEAD(&txd->lli_list); in owl_dma_prep_slave_sg()
962 txd->cyclic); in owl_dma_prep_slave_sg()
968 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_dma_prep_slave_sg()
971 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_dma_prep_slave_sg()
974 owl_dma_free_txd(od, txd); in owl_dma_prep_slave_sg()
989 struct owl_dma_txd *txd; in owl_prep_dma_cyclic() local
995 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_prep_dma_cyclic()
996 if (!txd) in owl_prep_dma_cyclic()
999 INIT_LIST_HEAD(&txd->lli_list); in owl_prep_dma_cyclic()
1000 txd->cyclic = true; in owl_prep_dma_cyclic()
1018 dir, sconfig, txd->cyclic); in owl_prep_dma_cyclic()
1027 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_prep_dma_cyclic()
1031 owl_dma_add_lli(txd, prev, first, true); in owl_prep_dma_cyclic()
1033 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_prep_dma_cyclic()
1036 owl_dma_free_txd(od, txd); in owl_prep_dma_cyclic()