Lines Matching defs:fsl_chan
30 struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan);
32 vchan_synchronize(&fsl_chan->vchan);
56 struct fsl_edma_chan *fsl_chan = dev_id;
59 intr = edma_readl_chreg(fsl_chan, ch_int);
63 edma_writel_chreg(fsl_chan, 1, ch_int);
65 fsl_edma_tx_chan_handler(fsl_chan);
103 struct fsl_edma_chan *fsl_chan;
118 fsl_chan = to_fsl_edma_chan(chan);
119 fsl_chan->slave_id = dma_spec->args[1];
120 fsl_edma_chan_mux(fsl_chan, fsl_chan->slave_id,
136 struct fsl_edma_chan *fsl_chan;
152 fsl_chan = to_fsl_edma_chan(chan);
153 i = fsl_chan - fsl_edma->chans;
155 fsl_chan->priority = dma_spec->args[1];
156 fsl_chan->is_rxchan = dma_spec->args[2] & FSL_EDMA_RX;
157 fsl_chan->is_remote = dma_spec->args[2] & FSL_EDMA_REMOTE;
158 fsl_chan->is_multi_fifo = dma_spec->args[2] & FSL_EDMA_MULTI_FIFO;
171 } else if (b_chmux && !fsl_chan->srcid) {
175 fsl_chan->srcid = dma_spec->args[0];
232 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i];
238 fsl_chan->txirq = platform_get_irq(pdev, i);
239 if (fsl_chan->txirq < 0) {
244 ret = devm_request_irq(&pdev->dev, fsl_chan->txirq,
246 fsl_chan->chan_name, fsl_chan);
384 struct fsl_edma_chan *fsl_chan;
396 fsl_chan = &fsl_edma->chans[i];
412 fsl_chan->pd_dev = pd_chan;
414 pm_runtime_use_autosuspend(fsl_chan->pd_dev);
415 pm_runtime_set_autosuspend_delay(fsl_chan->pd_dev, 200);
416 pm_runtime_set_active(fsl_chan->pd_dev);
523 struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i];
529 snprintf(fsl_chan->chan_name, sizeof(fsl_chan->chan_name), "%s-CH%02d",
532 fsl_chan->edma = fsl_edma;
533 fsl_chan->pm_state = RUNNING;
534 fsl_chan->slave_id = 0;
535 fsl_chan->idle = true;
536 fsl_chan->dma_dir = DMA_NONE;
537 fsl_chan->vchan.desc_free = fsl_edma_free_desc;
541 fsl_chan->tcd = fsl_edma->membase
544 fsl_chan->pdev = pdev;
545 vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev);
547 edma_write_tcdreg(fsl_chan, 0, csr);
548 fsl_edma_chan_mux(fsl_chan, 0, false);
641 struct fsl_edma_chan *fsl_chan;
646 fsl_chan = &fsl_edma->chans[i];
649 spin_lock_irqsave(&fsl_chan->vchan.lock, flags);
651 if (unlikely(!fsl_chan->idle)) {
653 fsl_edma_disable_request(fsl_chan);
654 fsl_edma_chan_mux(fsl_chan, 0, false);
657 fsl_chan->pm_state = SUSPENDED;
658 spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags);
667 struct fsl_edma_chan *fsl_chan;
672 fsl_chan = &fsl_edma->chans[i];
675 fsl_chan->pm_state = RUNNING;
676 edma_write_tcdreg(fsl_chan, 0, csr);
677 if (fsl_chan->slave_id != 0)
678 fsl_edma_chan_mux(fsl_chan, fsl_chan->slave_id, true);