Lines Matching defs:tcd

154 		dma_pool_free(fsl_desc->echan->tcd_pool, fsl_desc->tcd[i].vtcd,
155 fsl_desc->tcd[i].ptcd);
283 len += le32_to_cpu(edesc->tcd[i].vtcd->nbytes)
284 * le16_to_cpu(edesc->tcd[i].vtcd->biter);
290 cur_addr = edma_readl(fsl_chan->edma, &regs->tcd[ch].saddr);
292 cur_addr = edma_readl(fsl_chan->edma, &regs->tcd[ch].daddr);
296 size = le32_to_cpu(edesc->tcd[i].vtcd->nbytes)
297 * le16_to_cpu(edesc->tcd[i].vtcd->biter);
299 dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->saddr);
301 dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->daddr);
346 struct fsl_edma_hw_tcd *tcd)
358 edma_writew(edma, 0, &regs->tcd[ch].csr);
360 edma_writel(edma, (s32)tcd->saddr, &regs->tcd[ch].saddr);
361 edma_writel(edma, (s32)tcd->daddr, &regs->tcd[ch].daddr);
363 edma_writew(edma, (s16)tcd->attr, &regs->tcd[ch].attr);
364 edma_writew(edma, tcd->soff, &regs->tcd[ch].soff);
366 edma_writel(edma, (s32)tcd->nbytes, &regs->tcd[ch].nbytes);
367 edma_writel(edma, (s32)tcd->slast, &regs->tcd[ch].slast);
369 edma_writew(edma, (s16)tcd->citer, &regs->tcd[ch].citer);
370 edma_writew(edma, (s16)tcd->biter, &regs->tcd[ch].biter);
371 edma_writew(edma, (s16)tcd->doff, &regs->tcd[ch].doff);
373 edma_writel(edma, (s32)tcd->dlast_sga,
374 &regs->tcd[ch].dlast_sga);
376 edma_writew(edma, (s16)tcd->csr, &regs->tcd[ch].csr);
380 void fsl_edma_fill_tcd(struct fsl_edma_hw_tcd *tcd, u32 src, u32 dst,
393 tcd->saddr = cpu_to_le32(src);
394 tcd->daddr = cpu_to_le32(dst);
396 tcd->attr = cpu_to_le16(attr);
398 tcd->soff = cpu_to_le16(soff);
400 tcd->nbytes = cpu_to_le32(nbytes);
401 tcd->slast = cpu_to_le32(slast);
403 tcd->citer = cpu_to_le16(EDMA_TCD_CITER_CITER(citer));
404 tcd->doff = cpu_to_le16(doff);
406 tcd->dlast_sga = cpu_to_le32(dlast_sga);
408 tcd->biter = cpu_to_le16(EDMA_TCD_BITER_BITER(biter));
418 tcd->csr = cpu_to_le16(csr);
427 fsl_desc = kzalloc(struct_size(fsl_desc, tcd, sg_len), GFP_NOWAIT);
434 fsl_desc->tcd[i].vtcd = dma_pool_alloc(fsl_chan->tcd_pool,
435 GFP_NOWAIT, &fsl_desc->tcd[i].ptcd);
436 if (!fsl_desc->tcd[i].vtcd)
443 dma_pool_free(fsl_chan->tcd_pool, fsl_desc->tcd[i].vtcd,
444 fsl_desc->tcd[i].ptcd);
494 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd;
508 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr, dst_addr,
556 last_sg = fsl_desc->tcd[(i + 1) % sg_len].ptcd;
572 last_sg = fsl_desc->tcd[(i + 1)].ptcd;
573 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr,
579 fsl_edma_fill_tcd(fsl_desc->tcd[i].vtcd, src_addr,
600 fsl_edma_set_tcd_regs(fsl_chan, fsl_chan->edesc->tcd[0].vtcd);
714 edma->regs.tcd = edma->membase + EDMA_TCD;