Lines Matching refs:chan

110 	struct dma_chan			chan;
178 static struct mxs_dma_chan *to_mxs_dma_chan(struct dma_chan *chan)
180 return container_of(chan, struct mxs_dma_chan, chan);
183 static void mxs_dma_reset_chan(struct dma_chan *chan)
185 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
187 int chan_id = mxs_chan->chan.chan_id;
232 static void mxs_dma_enable_chan(struct dma_chan *chan)
234 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
236 int chan_id = mxs_chan->chan.chan_id;
255 static void mxs_dma_disable_chan(struct dma_chan *chan)
257 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
262 static int mxs_dma_pause_chan(struct dma_chan *chan)
264 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
266 int chan_id = mxs_chan->chan.chan_id;
280 static int mxs_dma_resume_chan(struct dma_chan *chan)
282 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
284 int chan_id = mxs_chan->chan.chan_id;
327 int chan = mxs_dma_irq_to_chan(mxs_dma, irq);
329 if (chan < 0)
334 completed = (completed >> chan) & 0x1;
337 writel((1 << chan),
342 err &= (1 << (MXS_DMA_CHANNELS + chan)) | (1 << chan);
349 err = (err >> (MXS_DMA_CHANNELS + chan)) + (err >> chan);
352 writel((1 << chan),
364 mxs_chan = &mxs_dma->mxs_chans[chan];
369 chan);
371 mxs_dma_reset_chan(&mxs_chan->chan);
377 HW_APBHX_CHn_SEMA(mxs_dma, chan));
395 static int mxs_dma_alloc_chan_resources(struct dma_chan *chan)
397 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
418 mxs_dma_reset_chan(chan);
420 dma_async_tx_descriptor_init(&mxs_chan->desc, chan);
437 static void mxs_dma_free_chan_resources(struct dma_chan *chan)
439 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
442 mxs_dma_disable_chan(chan);
475 struct dma_chan *chan, struct scatterlist *sgl,
479 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
574 struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len,
578 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
638 static int mxs_dma_terminate_all(struct dma_chan *chan)
640 mxs_dma_reset_chan(chan);
641 mxs_dma_disable_chan(chan);
646 static enum dma_status mxs_dma_tx_status(struct dma_chan *chan,
649 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
662 HW_APBHX_CHn_BAR(mxs_dma, chan->chan_id));
666 dma_set_tx_state(txstate, chan->completed_cookie, chan->cookie,
705 static bool mxs_dma_filter_fn(struct dma_chan *chan, void *fn_param)
708 struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan);
712 if (chan->chan_id != param->chan_id)
782 mxs_chan->chan.device = &mxs_dma->dma_device;
783 dma_cookie_init(&mxs_chan->chan);
789 list_add_tail(&mxs_chan->chan.device_node,