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

Commit ba793233 authored by Vinod Koul's avatar Vinod Koul
Browse files

Merge branch 'fixes' into next

parents 0bbc1413 a5044cdd
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1343,7 +1343,7 @@ static int __init at_dma_probe(struct platform_device *pdev)


		tasklet_init(&atchan->tasklet, atc_tasklet,
		tasklet_init(&atchan->tasklet, atc_tasklet,
				(unsigned long)atchan);
				(unsigned long)atchan);
		atc_enable_irq(atchan);
		atc_enable_chan_irq(atdma, i);
	}
	}


	/* set base routines */
	/* set base routines */
@@ -1410,7 +1410,7 @@ static int __exit at_dma_remove(struct platform_device *pdev)
		struct at_dma_chan	*atchan = to_at_dma_chan(chan);
		struct at_dma_chan	*atchan = to_at_dma_chan(chan);


		/* Disable interrupts */
		/* Disable interrupts */
		atc_disable_irq(atchan);
		atc_disable_chan_irq(atdma, chan->chan_id);
		tasklet_disable(&atchan->tasklet);
		tasklet_disable(&atchan->tasklet);


		tasklet_kill(&atchan->tasklet);
		tasklet_kill(&atchan->tasklet);
+8 −9
Original line number Original line Diff line number Diff line
@@ -327,28 +327,27 @@ static void atc_dump_lli(struct at_dma_chan *atchan, struct at_lli *lli)
}
}




static void atc_setup_irq(struct at_dma_chan *atchan, int on)
static void atc_setup_irq(struct at_dma *atdma, int chan_id, int on)
{
{
	struct at_dma	*atdma = to_at_dma(atchan->chan_common.device);
	u32 ebci;
	u32 ebci;


	/* enable interrupts on buffer transfer completion & error */
	/* enable interrupts on buffer transfer completion & error */
	ebci =    AT_DMA_BTC(atchan->chan_common.chan_id)
	ebci =    AT_DMA_BTC(chan_id)
		| AT_DMA_ERR(atchan->chan_common.chan_id);
		| AT_DMA_ERR(chan_id);
	if (on)
	if (on)
		dma_writel(atdma, EBCIER, ebci);
		dma_writel(atdma, EBCIER, ebci);
	else
	else
		dma_writel(atdma, EBCIDR, ebci);
		dma_writel(atdma, EBCIDR, ebci);
}
}


static inline void atc_enable_irq(struct at_dma_chan *atchan)
static void atc_enable_chan_irq(struct at_dma *atdma, int chan_id)
{
{
	atc_setup_irq(atchan, 1);
	atc_setup_irq(atdma, chan_id, 1);
}
}


static inline void atc_disable_irq(struct at_dma_chan *atchan)
static void atc_disable_chan_irq(struct at_dma *atdma, int chan_id)
{
{
	atc_setup_irq(atchan, 0);
	atc_setup_irq(atdma, chan_id, 0);
}
}




+1 −1
Original line number Original line Diff line number Diff line
@@ -599,7 +599,7 @@ static int dmatest_add_channel(struct dma_chan *chan)
	}
	}
	if (dma_has_cap(DMA_PQ, dma_dev->cap_mask)) {
	if (dma_has_cap(DMA_PQ, dma_dev->cap_mask)) {
		cnt = dmatest_add_threads(dtc, DMA_PQ);
		cnt = dmatest_add_threads(dtc, DMA_PQ);
		thread_count += cnt > 0 ?: 0;
		thread_count += cnt > 0 ? cnt : 0;
	}
	}


	pr_info("dmatest: Started %u threads using %s\n",
	pr_info("dmatest: Started %u threads using %s\n",