Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4756b5e authored by Javier Martin's avatar Javier Martin Committed by Vinod Koul
Browse files

dmaengine: imx-dma: remove 'in_use' field of 'internal' structure.



It makes no sense keeping an 'in_use' flag when the multiple descriptor
mechanism already prevents a new DMA transfer to be issued when another
one is in course.

Signed-off-by: default avatarJavier Martin <javier.martin@vista-silicon.com>
Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarVinod Koul <vinod.koul@linux.intel.com>
parent 833bc03b
Loading
Loading
Loading
Loading
+0 −9
Original line number Original line Diff line number Diff line
@@ -131,8 +131,6 @@ enum imxdma_prep_type {
struct imxdma_channel_internal {
struct imxdma_channel_internal {
	unsigned int resbytes;
	unsigned int resbytes;


	int in_use;

	struct timer_list watchdog;
	struct timer_list watchdog;


	int hw_chaining;
	int hw_chaining;
@@ -266,9 +264,6 @@ static void imxdma_enable_hw(struct imxdma_desc *d)


	pr_debug("imxdma%d: imx_dma_enable\n", channel);
	pr_debug("imxdma%d: imx_dma_enable\n", channel);


	if (imxdmac->internal.in_use)
		return;

	local_irq_save(flags);
	local_irq_save(flags);


	imx_dmav1_writel(1 << channel, DMA_DISR);
	imx_dmav1_writel(1 << channel, DMA_DISR);
@@ -287,7 +282,6 @@ static void imxdma_enable_hw(struct imxdma_desc *d)
				DMA_CCR(channel));
				DMA_CCR(channel));
		}
		}
	}
	}
	imxdmac->internal.in_use = 1;


	local_irq_restore(flags);
	local_irq_restore(flags);
}
}
@@ -307,7 +301,6 @@ static void imxdma_disable_hw(struct imxdma_channel *imxdmac)
	imx_dmav1_writel(imx_dmav1_readl(DMA_CCR(channel)) & ~CCR_CEN,
	imx_dmav1_writel(imx_dmav1_readl(DMA_CCR(channel)) & ~CCR_CEN,
			DMA_CCR(channel));
			DMA_CCR(channel));
	imx_dmav1_writel(1 << channel, DMA_DISR);
	imx_dmav1_writel(1 << channel, DMA_DISR);
	imxdmac->internal.in_use = 0;
	local_irq_restore(flags);
	local_irq_restore(flags);
}
}


@@ -317,7 +310,6 @@ static void imxdma_watchdog(unsigned long data)
	int channel = imxdmac->channel;
	int channel = imxdmac->channel;


	imx_dmav1_writel(0, DMA_CCR(channel));
	imx_dmav1_writel(0, DMA_CCR(channel));
	imxdmac->internal.in_use = 0;


	/* Tasklet watchdog error handler */
	/* Tasklet watchdog error handler */
	tasklet_schedule(&imxdmac->dma_tasklet);
	tasklet_schedule(&imxdmac->dma_tasklet);
@@ -436,7 +428,6 @@ static void dma_irq_handle_channel(struct imxdma_channel *imxdmac)


out:
out:
	imx_dmav1_writel(0, DMA_CCR(chno));
	imx_dmav1_writel(0, DMA_CCR(chno));
	imxdma->in_use = 0;
	/* Tasklet irq */
	/* Tasklet irq */
	tasklet_schedule(&imxdmac->dma_tasklet);
	tasklet_schedule(&imxdmac->dma_tasklet);
}
}