Lines Matching defs:chan

254 #define edma_read_tcdreg_c(chan, _tcd,  __name)				\
256 __iomem __le64 : edma_readq(chan->edma, &(_tcd)->__name), \
257 __iomem __le32 : edma_readl(chan->edma, &(_tcd)->__name), \
258 __iomem __le16 : edma_readw(chan->edma, &(_tcd)->__name) \
261 #define edma_read_tcdreg(chan, __name) \
262 ((fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) ? \
263 edma_read_tcdreg_c(chan, ((struct fsl_edma_hw_tcd64 __iomem *)chan->tcd), __name) : \
264 edma_read_tcdreg_c(chan, ((struct fsl_edma_hw_tcd __iomem *)chan->tcd), __name) \
267 #define edma_write_tcdreg_c(chan, _tcd, _val, __name) \
269 __iomem __le64 : edma_writeq(chan->edma, (u64 __force)(_val), &_tcd->__name), \
270 __iomem __le32 : edma_writel(chan->edma, (u32 __force)(_val), &_tcd->__name), \
271 __iomem __le16 : edma_writew(chan->edma, (u16 __force)(_val), &_tcd->__name), \
272 __iomem u8 : edma_writeb(chan->edma, _val, &_tcd->__name) \
275 #define edma_write_tcdreg(chan, val, __name) \
277 struct fsl_edma_hw_tcd64 __iomem *tcd64_r = (struct fsl_edma_hw_tcd64 __iomem *)chan->tcd; \
278 struct fsl_edma_hw_tcd __iomem *tcd_r = (struct fsl_edma_hw_tcd __iomem *)chan->tcd; \
280 if (fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) \
281 edma_write_tcdreg_c(chan, tcd64_r, val, __name); \
283 edma_write_tcdreg_c(chan, tcd_r, val, __name); \
286 #define edma_cp_tcd_to_reg(chan, __tcd, __name) \
288 struct fsl_edma_hw_tcd64 __iomem *tcd64_r = (struct fsl_edma_hw_tcd64 __iomem *)chan->tcd; \
289 struct fsl_edma_hw_tcd __iomem *tcd_r = (struct fsl_edma_hw_tcd __iomem *)chan->tcd; \
293 if (fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) \
294 edma_write_tcdreg_c(chan, tcd64_r, tcd64_m->__name, __name); \
296 edma_write_tcdreg_c(chan, tcd_r, tcd_m->__name, __name); \
299 #define edma_readl_chreg(chan, __name) \
300 edma_readl(chan->edma, \
301 (void __iomem *)&(container_of(((__force void *)chan->tcd),\
304 #define edma_writel_chreg(chan, val, __name) \
305 edma_writel(chan->edma, val, \
306 (void __iomem *)&(container_of(((__force void *)chan->tcd),\
445 static inline struct fsl_edma_chan *to_fsl_edma_chan(struct dma_chan *chan)
447 return container_of(chan, struct fsl_edma_chan, vchan.chan);
466 int fsl_edma_terminate_all(struct dma_chan *chan);
467 int fsl_edma_pause(struct dma_chan *chan);
468 int fsl_edma_resume(struct dma_chan *chan);
469 int fsl_edma_slave_config(struct dma_chan *chan,
471 enum dma_status fsl_edma_tx_status(struct dma_chan *chan,
474 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len,
478 struct dma_chan *chan, struct scatterlist *sgl,
482 struct dma_chan *chan, dma_addr_t dma_dst, dma_addr_t dma_src,
485 void fsl_edma_issue_pending(struct dma_chan *chan);
486 int fsl_edma_alloc_chan_resources(struct dma_chan *chan);
487 void fsl_edma_free_chan_resources(struct dma_chan *chan);