diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0331-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.15/950-0331-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0331-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch b/target/linux/bcm27xx/patches-5.15/950-0331-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch new file mode 100644 index 0000000000..b014677284 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.15/950-0331-bcm2835-dma-Avoid-losing-CS-flags-after-interrupt.patch @@ -0,0 +1,21 @@ +From fa6d833fecd73b56de962f8538a2cd62bfca59ae Mon Sep 17 00:00:00 2001 +From: Dom Cobley <popcornmix@gmail.com> +Date: Wed, 6 Jan 2021 18:16:10 +0000 +Subject: [PATCH] bcm2835-dma: Avoid losing CS flags after interrupt + +Signed-off-by: Dom Cobley <popcornmix@gmail.com> +--- + drivers/dma/bcm2835-dma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -704,7 +704,7 @@ static irqreturn_t bcm2835_dma_callback( + * if this IRQ handler is threaded.) If the channel is finished, it + * will remain idle despite the ACTIVE flag being set. + */ +- writel(BCM2835_DMA_INT | BCM2835_DMA_ACTIVE, ++ writel(BCM2835_DMA_INT | BCM2835_DMA_ACTIVE | BCM2835_DMA_CS_FLAGS(c->dreq), + c->chan_base + BCM2835_DMA_CS); + + d = c->desc; |