Lines Matching refs:fsl_desc

222 	struct fsl_edma_desc *fsl_desc;  in fsl_edma_free_desc()  local
225 fsl_desc = to_fsl_edma_desc(vdesc); in fsl_edma_free_desc()
226 for (i = 0; i < fsl_desc->n_tcds; i++) in fsl_edma_free_desc()
227 dma_pool_free(fsl_desc->echan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_free_desc()
228 fsl_desc->tcd[i].ptcd); in fsl_edma_free_desc()
229 kfree(fsl_desc); in fsl_edma_free_desc()
541 struct fsl_edma_desc *fsl_desc; in fsl_edma_alloc_desc() local
544 fsl_desc = kzalloc(struct_size(fsl_desc, tcd, sg_len), GFP_NOWAIT); in fsl_edma_alloc_desc()
545 if (!fsl_desc) in fsl_edma_alloc_desc()
548 fsl_desc->echan = fsl_chan; in fsl_edma_alloc_desc()
549 fsl_desc->n_tcds = sg_len; in fsl_edma_alloc_desc()
551 fsl_desc->tcd[i].vtcd = dma_pool_alloc(fsl_chan->tcd_pool, in fsl_edma_alloc_desc()
552 GFP_NOWAIT, &fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
553 if (!fsl_desc->tcd[i].vtcd) in fsl_edma_alloc_desc()
556 return fsl_desc; in fsl_edma_alloc_desc()
560 dma_pool_free(fsl_chan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_alloc_desc()
561 fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
562 kfree(fsl_desc); in fsl_edma_alloc_desc()
572 struct fsl_edma_desc *fsl_desc; in fsl_edma_prep_dma_cyclic() local
586 fsl_desc = fsl_edma_alloc_desc(fsl_chan, sg_len); in fsl_edma_prep_dma_cyclic()
587 if (!fsl_desc) in fsl_edma_prep_dma_cyclic()
589 fsl_desc->iscyclic = true; in fsl_edma_prep_dma_cyclic()
590 fsl_desc->dirn = direction; in fsl_edma_prep_dma_cyclic()
612 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd; in fsl_edma_prep_dma_cyclic()
632 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, dst_addr, in fsl_edma_prep_dma_cyclic()
638 return vchan_tx_prep(&fsl_chan->vchan, &fsl_desc->vdesc, flags); in fsl_edma_prep_dma_cyclic()
647 struct fsl_edma_desc *fsl_desc; in fsl_edma_prep_slave_sg() local
659 fsl_desc = fsl_edma_alloc_desc(fsl_chan, sg_len); in fsl_edma_prep_slave_sg()
660 if (!fsl_desc) in fsl_edma_prep_slave_sg()
662 fsl_desc->iscyclic = false; in fsl_edma_prep_slave_sg()
663 fsl_desc->dirn = direction; in fsl_edma_prep_slave_sg()
720 last_sg = fsl_desc->tcd[(i + 1)].ptcd; in fsl_edma_prep_slave_sg()
721 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
727 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
734 return vchan_tx_prep(&fsl_chan->vchan, &fsl_desc->vdesc, flags); in fsl_edma_prep_slave_sg()
742 struct fsl_edma_desc *fsl_desc; in fsl_edma_prep_memcpy() local
744 fsl_desc = fsl_edma_alloc_desc(fsl_chan, 1); in fsl_edma_prep_memcpy()
745 if (!fsl_desc) in fsl_edma_prep_memcpy()
747 fsl_desc->iscyclic = false; in fsl_edma_prep_memcpy()
754 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[0].vtcd, dma_src, dma_dst, in fsl_edma_prep_memcpy()
758 return vchan_tx_prep(&fsl_chan->vchan, &fsl_desc->vdesc, flags); in fsl_edma_prep_memcpy()