Lines Matching refs:txd

206 	struct owl_dma_txd	*txd;  member
364 static struct owl_dma_lli *owl_dma_add_lli(struct owl_dma_txd *txd, in owl_dma_add_lli() argument
370 list_add_tail(&next->node, &txd->lli_list); in owl_dma_add_lli()
540 struct owl_dma_txd *txd = to_owl_txd(&vd->tx); in owl_dma_start_next_txd() local
547 vchan->txd = txd; in owl_dma_start_next_txd()
553 lli = list_first_entry(&txd->lli_list, in owl_dma_start_next_txd()
556 if (txd->cyclic) in owl_dma_start_next_txd()
641 struct owl_dma_txd *txd; in owl_dma_interrupt() local
654 txd = vchan->txd; in owl_dma_interrupt()
655 if (txd) { in owl_dma_interrupt()
656 vchan->txd = NULL; in owl_dma_interrupt()
658 vchan_cookie_complete(&txd->vd); in owl_dma_interrupt()
676 static void owl_dma_free_txd(struct owl_dma *od, struct owl_dma_txd *txd) in owl_dma_free_txd() argument
680 if (unlikely(!txd)) in owl_dma_free_txd()
683 list_for_each_entry_safe(lli, _lli, &txd->lli_list, node) in owl_dma_free_txd()
686 kfree(txd); in owl_dma_free_txd()
692 struct owl_dma_txd *txd = to_owl_txd(&vd->tx); in owl_dma_desc_free() local
694 owl_dma_free_txd(od, txd); in owl_dma_desc_free()
709 if (vchan->txd) { in owl_dma_terminate_all()
710 owl_dma_desc_free(&vchan->txd->vd); in owl_dma_terminate_all()
711 vchan->txd = NULL; in owl_dma_terminate_all()
757 if (!vchan->pchan && !vchan->txd) in owl_dma_resume()
774 struct owl_dma_txd *txd; in owl_dma_getbytes_chan() local
780 txd = vchan->txd; in owl_dma_getbytes_chan()
782 if (!pchan || !txd) in owl_dma_getbytes_chan()
791 list_for_each_entry(lli, &txd->lli_list, node) { in owl_dma_getbytes_chan()
794 list_for_each_entry(lli, &txd->lli_list, node) in owl_dma_getbytes_chan()
811 struct owl_dma_txd *txd; in owl_dma_tx_status() local
824 txd = to_owl_txd(&vd->tx); in owl_dma_tx_status()
825 list_for_each_entry(lli, &txd->lli_list, node) in owl_dma_tx_status()
873 struct owl_dma_txd *txd; in owl_dma_prep_memcpy() local
881 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_dma_prep_memcpy()
882 if (!txd) in owl_dma_prep_memcpy()
885 INIT_LIST_HEAD(&txd->lli_list); in owl_dma_prep_memcpy()
899 &vchan->cfg, txd->cyclic); in owl_dma_prep_memcpy()
905 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_dma_prep_memcpy()
908 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_dma_prep_memcpy()
911 owl_dma_free_txd(od, txd); in owl_dma_prep_memcpy()
925 struct owl_dma_txd *txd; in owl_dma_prep_slave_sg() local
932 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_dma_prep_slave_sg()
933 if (!txd) in owl_dma_prep_slave_sg()
936 INIT_LIST_HEAD(&txd->lli_list); in owl_dma_prep_slave_sg()
963 txd->cyclic); in owl_dma_prep_slave_sg()
969 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_dma_prep_slave_sg()
972 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_dma_prep_slave_sg()
975 owl_dma_free_txd(od, txd); in owl_dma_prep_slave_sg()
990 struct owl_dma_txd *txd; in owl_prep_dma_cyclic() local
996 txd = kzalloc(sizeof(*txd), GFP_NOWAIT); in owl_prep_dma_cyclic()
997 if (!txd) in owl_prep_dma_cyclic()
1000 INIT_LIST_HEAD(&txd->lli_list); in owl_prep_dma_cyclic()
1001 txd->cyclic = true; in owl_prep_dma_cyclic()
1019 dir, sconfig, txd->cyclic); in owl_prep_dma_cyclic()
1028 prev = owl_dma_add_lli(txd, prev, lli, false); in owl_prep_dma_cyclic()
1032 owl_dma_add_lli(txd, prev, first, true); in owl_prep_dma_cyclic()
1034 return vchan_tx_prep(&vchan->vc, &txd->vd, flags); in owl_prep_dma_cyclic()
1037 owl_dma_free_txd(od, txd); in owl_prep_dma_cyclic()