Lines Matching refs:tcd
234 dma_pool_free(fsl_desc->echan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_free_desc()
235 fsl_desc->tcd[i].ptcd); in fsl_edma_free_desc()
361 nbytes = le32_to_cpu(edesc->tcd[i].vtcd->nbytes); in fsl_edma_desc_residue()
364 len += nbytes * le16_to_cpu(edesc->tcd[i].vtcd->biter); in fsl_edma_desc_residue()
377 nbytes = le32_to_cpu(edesc->tcd[i].vtcd->nbytes); in fsl_edma_desc_residue()
381 size = nbytes * le16_to_cpu(edesc->tcd[i].vtcd->biter); in fsl_edma_desc_residue()
384 dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->saddr); in fsl_edma_desc_residue()
386 dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->daddr); in fsl_edma_desc_residue()
430 struct fsl_edma_hw_tcd *tcd) in fsl_edma_set_tcd_regs() argument
442 edma_write_tcdreg(fsl_chan, tcd->saddr, saddr); in fsl_edma_set_tcd_regs()
443 edma_write_tcdreg(fsl_chan, tcd->daddr, daddr); in fsl_edma_set_tcd_regs()
445 edma_write_tcdreg(fsl_chan, tcd->attr, attr); in fsl_edma_set_tcd_regs()
446 edma_write_tcdreg(fsl_chan, tcd->soff, soff); in fsl_edma_set_tcd_regs()
448 edma_write_tcdreg(fsl_chan, tcd->nbytes, nbytes); in fsl_edma_set_tcd_regs()
449 edma_write_tcdreg(fsl_chan, tcd->slast, slast); in fsl_edma_set_tcd_regs()
451 edma_write_tcdreg(fsl_chan, tcd->citer, citer); in fsl_edma_set_tcd_regs()
452 edma_write_tcdreg(fsl_chan, tcd->biter, biter); in fsl_edma_set_tcd_regs()
453 edma_write_tcdreg(fsl_chan, tcd->doff, doff); in fsl_edma_set_tcd_regs()
455 edma_write_tcdreg(fsl_chan, tcd->dlast_sga, dlast_sga); in fsl_edma_set_tcd_regs()
457 csr = le16_to_cpu(tcd->csr); in fsl_edma_set_tcd_regs()
461 tcd->csr = cpu_to_le16(csr); in fsl_edma_set_tcd_regs()
476 edma_write_tcdreg(fsl_chan, tcd->csr, csr); in fsl_edma_set_tcd_regs()
481 struct fsl_edma_hw_tcd *tcd, u32 src, u32 dst, in fsl_edma_fill_tcd() argument
496 tcd->saddr = cpu_to_le32(src); in fsl_edma_fill_tcd()
497 tcd->daddr = cpu_to_le32(dst); in fsl_edma_fill_tcd()
499 tcd->attr = cpu_to_le16(attr); in fsl_edma_fill_tcd()
501 tcd->soff = cpu_to_le16(soff); in fsl_edma_fill_tcd()
518 tcd->nbytes = cpu_to_le32(nbytes); in fsl_edma_fill_tcd()
519 tcd->slast = cpu_to_le32(slast); in fsl_edma_fill_tcd()
521 tcd->citer = cpu_to_le16(EDMA_TCD_CITER_CITER(citer)); in fsl_edma_fill_tcd()
522 tcd->doff = cpu_to_le16(doff); in fsl_edma_fill_tcd()
524 tcd->dlast_sga = cpu_to_le32(dlast_sga); in fsl_edma_fill_tcd()
526 tcd->biter = cpu_to_le16(EDMA_TCD_BITER_BITER(biter)); in fsl_edma_fill_tcd()
542 tcd->csr = cpu_to_le16(csr); in fsl_edma_fill_tcd()
551 fsl_desc = kzalloc(struct_size(fsl_desc, tcd, sg_len), GFP_NOWAIT); in fsl_edma_alloc_desc()
558 fsl_desc->tcd[i].vtcd = dma_pool_alloc(fsl_chan->tcd_pool, in fsl_edma_alloc_desc()
559 GFP_NOWAIT, &fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
560 if (!fsl_desc->tcd[i].vtcd) in fsl_edma_alloc_desc()
567 dma_pool_free(fsl_chan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_alloc_desc()
568 fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
619 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd; in fsl_edma_prep_dma_cyclic()
639 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, dst_addr, in fsl_edma_prep_dma_cyclic()
727 last_sg = fsl_desc->tcd[(i + 1)].ptcd; in fsl_edma_prep_slave_sg()
728 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
734 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
759 fsl_edma_fill_tcd(fsl_chan, fsl_desc->tcd[0].vtcd, dma_src, dma_dst, in fsl_edma_prep_memcpy()
776 fsl_edma_set_tcd_regs(fsl_chan, fsl_chan->edesc->tcd[0].vtcd); in fsl_edma_xfer_desc()