mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 04:02:20 +00:00
dmaengine: fsl-edma: remove redundant "idle" field from fsl_chan
The 'idle' in fsl_chan is redundant as it's equivalent to 'status != DMA_IN_PROGRESS'. So remote it to simple code logic. Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20240603152317.69917-2-Frank.Li@nxp.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
44eb827264
commit
bb160502a4
@ -59,7 +59,6 @@ void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan)
|
||||
vchan_cookie_complete(&fsl_chan->edesc->vdesc);
|
||||
fsl_chan->edesc = NULL;
|
||||
fsl_chan->status = DMA_COMPLETE;
|
||||
fsl_chan->idle = true;
|
||||
} else {
|
||||
vchan_cyclic_callback(&fsl_chan->edesc->vdesc);
|
||||
}
|
||||
@ -239,7 +238,7 @@ int fsl_edma_terminate_all(struct dma_chan *chan)
|
||||
spin_lock_irqsave(&fsl_chan->vchan.lock, flags);
|
||||
fsl_edma_disable_request(fsl_chan);
|
||||
fsl_chan->edesc = NULL;
|
||||
fsl_chan->idle = true;
|
||||
fsl_chan->status = DMA_COMPLETE;
|
||||
vchan_get_all_descriptors(&fsl_chan->vchan, &head);
|
||||
spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags);
|
||||
vchan_dma_desc_free_list(&fsl_chan->vchan, &head);
|
||||
@ -259,7 +258,6 @@ int fsl_edma_pause(struct dma_chan *chan)
|
||||
if (fsl_chan->edesc) {
|
||||
fsl_edma_disable_request(fsl_chan);
|
||||
fsl_chan->status = DMA_PAUSED;
|
||||
fsl_chan->idle = true;
|
||||
}
|
||||
spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags);
|
||||
return 0;
|
||||
@ -274,7 +272,6 @@ int fsl_edma_resume(struct dma_chan *chan)
|
||||
if (fsl_chan->edesc) {
|
||||
fsl_edma_enable_request(fsl_chan);
|
||||
fsl_chan->status = DMA_IN_PROGRESS;
|
||||
fsl_chan->idle = false;
|
||||
}
|
||||
spin_unlock_irqrestore(&fsl_chan->vchan.lock, flags);
|
||||
return 0;
|
||||
@ -780,7 +777,6 @@ void fsl_edma_xfer_desc(struct fsl_edma_chan *fsl_chan)
|
||||
fsl_edma_set_tcd_regs(fsl_chan, fsl_chan->edesc->tcd[0].vtcd);
|
||||
fsl_edma_enable_request(fsl_chan);
|
||||
fsl_chan->status = DMA_IN_PROGRESS;
|
||||
fsl_chan->idle = false;
|
||||
}
|
||||
|
||||
void fsl_edma_issue_pending(struct dma_chan *chan)
|
||||
|
@ -150,7 +150,6 @@ struct fsl_edma_chan {
|
||||
struct virt_dma_chan vchan;
|
||||
enum dma_status status;
|
||||
enum fsl_edma_pm_state pm_state;
|
||||
bool idle;
|
||||
struct fsl_edma_engine *edma;
|
||||
struct fsl_edma_desc *edesc;
|
||||
struct dma_slave_config cfg;
|
||||
@ -456,7 +455,6 @@ static inline struct fsl_edma_desc *to_fsl_edma_desc(struct virt_dma_desc *vd)
|
||||
static inline void fsl_edma_err_chan_handler(struct fsl_edma_chan *fsl_chan)
|
||||
{
|
||||
fsl_chan->status = DMA_ERROR;
|
||||
fsl_chan->idle = true;
|
||||
}
|
||||
|
||||
void fsl_edma_tx_chan_handler(struct fsl_edma_chan *fsl_chan);
|
||||
|
@ -544,7 +544,6 @@ static int fsl_edma_probe(struct platform_device *pdev)
|
||||
fsl_chan->edma = fsl_edma;
|
||||
fsl_chan->pm_state = RUNNING;
|
||||
fsl_chan->srcid = 0;
|
||||
fsl_chan->idle = true;
|
||||
fsl_chan->dma_dir = DMA_NONE;
|
||||
fsl_chan->vchan.desc_free = fsl_edma_free_desc;
|
||||
|
||||
@ -669,7 +668,7 @@ static int fsl_edma_suspend_late(struct device *dev)
|
||||
continue;
|
||||
spin_lock_irqsave(&fsl_chan->vchan.lock, flags);
|
||||
/* Make sure chan is idle or will force disable. */
|
||||
if (unlikely(!fsl_chan->idle)) {
|
||||
if (unlikely(fsl_chan->status == DMA_IN_PROGRESS)) {
|
||||
dev_warn(dev, "WARN: There is non-idle channel.");
|
||||
fsl_edma_disable_request(fsl_chan);
|
||||
fsl_edma_chan_mux(fsl_chan, 0, false);
|
||||
|
@ -64,7 +64,6 @@ static irqreturn_t mcf_edma_err_handler(int irq, void *dev_id)
|
||||
fsl_edma_disable_request(&mcf_edma->chans[ch]);
|
||||
iowrite8(EDMA_CERR_CERR(ch), regs->cerr);
|
||||
mcf_edma->chans[ch].status = DMA_ERROR;
|
||||
mcf_edma->chans[ch].idle = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -196,7 +195,6 @@ static int mcf_edma_probe(struct platform_device *pdev)
|
||||
|
||||
mcf_chan->edma = mcf_edma;
|
||||
mcf_chan->srcid = i;
|
||||
mcf_chan->idle = true;
|
||||
mcf_chan->dma_dir = DMA_NONE;
|
||||
mcf_chan->vchan.desc_free = fsl_edma_free_desc;
|
||||
vchan_init(&mcf_chan->vchan, &mcf_edma->dma_dev);
|
||||
|
Loading…
Reference in New Issue
Block a user