Lines Matching refs:tcd
161 struct fsl_edma_sw_tcd tcd[]; member
287 dma_pool_free(fsl_desc->echan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_free_desc()
288 fsl_desc->tcd[i].ptcd); in fsl_edma_free_desc()
370 len += le32_to_cpu(edesc->tcd[i].vtcd->nbytes) in fsl_edma_desc_residue()
371 * le16_to_cpu(edesc->tcd[i].vtcd->biter); in fsl_edma_desc_residue()
383 size = le32_to_cpu(edesc->tcd[i].vtcd->nbytes) in fsl_edma_desc_residue()
384 * le16_to_cpu(edesc->tcd[i].vtcd->biter); in fsl_edma_desc_residue()
386 dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->saddr); in fsl_edma_desc_residue()
388 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_writel(edma, le32_to_cpu(tcd->saddr), addr + EDMA_TCD_SADDR(ch)); in fsl_edma_set_tcd_regs()
443 edma_writel(edma, le32_to_cpu(tcd->daddr), addr + EDMA_TCD_DADDR(ch)); in fsl_edma_set_tcd_regs()
445 edma_writew(edma, le16_to_cpu(tcd->attr), addr + EDMA_TCD_ATTR(ch)); in fsl_edma_set_tcd_regs()
446 edma_writew(edma, le16_to_cpu(tcd->soff), addr + EDMA_TCD_SOFF(ch)); in fsl_edma_set_tcd_regs()
448 edma_writel(edma, le32_to_cpu(tcd->nbytes), addr + EDMA_TCD_NBYTES(ch)); in fsl_edma_set_tcd_regs()
449 edma_writel(edma, le32_to_cpu(tcd->slast), addr + EDMA_TCD_SLAST(ch)); in fsl_edma_set_tcd_regs()
451 edma_writew(edma, le16_to_cpu(tcd->citer), addr + EDMA_TCD_CITER(ch)); in fsl_edma_set_tcd_regs()
452 edma_writew(edma, le16_to_cpu(tcd->biter), addr + EDMA_TCD_BITER(ch)); in fsl_edma_set_tcd_regs()
453 edma_writew(edma, le16_to_cpu(tcd->doff), addr + EDMA_TCD_DOFF(ch)); in fsl_edma_set_tcd_regs()
455 edma_writel(edma, le32_to_cpu(tcd->dlast_sga), addr + EDMA_TCD_DLAST_SGA(ch)); in fsl_edma_set_tcd_regs()
457 edma_writew(edma, le16_to_cpu(tcd->csr), addr + EDMA_TCD_CSR(ch)); in fsl_edma_set_tcd_regs()
461 void fsl_edma_fill_tcd(struct fsl_edma_hw_tcd *tcd, u32 src, u32 dst, in fsl_edma_fill_tcd() argument
474 tcd->saddr = cpu_to_le32(src); in fsl_edma_fill_tcd()
475 tcd->daddr = cpu_to_le32(dst); in fsl_edma_fill_tcd()
477 tcd->attr = cpu_to_le16(attr); in fsl_edma_fill_tcd()
479 tcd->soff = cpu_to_le16(EDMA_TCD_SOFF_SOFF(soff)); in fsl_edma_fill_tcd()
481 tcd->nbytes = cpu_to_le32(EDMA_TCD_NBYTES_NBYTES(nbytes)); in fsl_edma_fill_tcd()
482 tcd->slast = cpu_to_le32(EDMA_TCD_SLAST_SLAST(slast)); in fsl_edma_fill_tcd()
484 tcd->citer = cpu_to_le16(EDMA_TCD_CITER_CITER(citer)); in fsl_edma_fill_tcd()
485 tcd->doff = cpu_to_le16(EDMA_TCD_DOFF_DOFF(doff)); in fsl_edma_fill_tcd()
487 tcd->dlast_sga = cpu_to_le32(EDMA_TCD_DLAST_SGA_DLAST_SGA(dlast_sga)); in fsl_edma_fill_tcd()
489 tcd->biter = cpu_to_le16(EDMA_TCD_BITER_BITER(biter)); in fsl_edma_fill_tcd()
499 tcd->csr = cpu_to_le16(csr); in fsl_edma_fill_tcd()
516 fsl_desc->tcd[i].vtcd = dma_pool_alloc(fsl_chan->tcd_pool, in fsl_edma_alloc_desc()
517 GFP_NOWAIT, &fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
518 if (!fsl_desc->tcd[i].vtcd) in fsl_edma_alloc_desc()
525 dma_pool_free(fsl_chan->tcd_pool, fsl_desc->tcd[i].vtcd, in fsl_edma_alloc_desc()
526 fsl_desc->tcd[i].ptcd); in fsl_edma_alloc_desc()
561 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd; in fsl_edma_prep_dma_cyclic()
575 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr, dst_addr, in fsl_edma_prep_dma_cyclic()
607 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd; in fsl_edma_prep_slave_sg()
623 last_sg = fsl_desc->tcd[(i + 1)].ptcd; in fsl_edma_prep_slave_sg()
624 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
630 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr, in fsl_edma_prep_slave_sg()
648 fsl_edma_set_tcd_regs(fsl_chan, fsl_chan->edesc->tcd[0].vtcd); in fsl_edma_xfer_desc()