Skip to content

Commit 9d6a2d9

Browse files
ADESTMvinodkoul
authored andcommitted
dmaengine: stm32-mdma: remove GISR1 register
GISR1 was described in a not up-to-date documentation when the stm32-mdma driver has been developed. This register has not been added in reference manual of STM32 SoC with MDMA, which have only 32 MDMA channels. So remove it from stm32-mdma driver. Fixes: a4ffb13 ("dmaengine: Add STM32 MDMA driver") Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com> Link: https://lore.kernel.org/r/20220504155322.121431-2-amelie.delaunay@foss.st.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
1 parent a725e58 commit 9d6a2d9

1 file changed

Lines changed: 5 additions & 16 deletions

File tree

drivers/dma/stm32-mdma.c

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include "virt-dma.h"
3535

3636
#define STM32_MDMA_GISR0 0x0000 /* MDMA Int Status Reg 1 */
37-
#define STM32_MDMA_GISR1 0x0004 /* MDMA Int Status Reg 2 */
3837

3938
/* MDMA Channel x interrupt/status register */
4039
#define STM32_MDMA_CISR(x) (0x40 + 0x40 * (x)) /* x = 0..62 */
@@ -169,7 +168,7 @@
169168

170169
#define STM32_MDMA_MAX_BUF_LEN 128
171170
#define STM32_MDMA_MAX_BLOCK_LEN 65536
172-
#define STM32_MDMA_MAX_CHANNELS 63
171+
#define STM32_MDMA_MAX_CHANNELS 32
173172
#define STM32_MDMA_MAX_REQUESTS 256
174173
#define STM32_MDMA_MAX_BURST 128
175174
#define STM32_MDMA_VERY_HIGH_PRIORITY 0x3
@@ -1324,21 +1323,11 @@ static irqreturn_t stm32_mdma_irq_handler(int irq, void *devid)
13241323

13251324
/* Find out which channel generates the interrupt */
13261325
status = readl_relaxed(dmadev->base + STM32_MDMA_GISR0);
1327-
if (status) {
1328-
id = __ffs(status);
1329-
} else {
1330-
status = readl_relaxed(dmadev->base + STM32_MDMA_GISR1);
1331-
if (!status) {
1332-
dev_dbg(mdma2dev(dmadev), "spurious it\n");
1333-
return IRQ_NONE;
1334-
}
1335-
id = __ffs(status);
1336-
/*
1337-
* As GISR0 provides status for channel id from 0 to 31,
1338-
* so GISR1 provides status for channel id from 32 to 62
1339-
*/
1340-
id += 32;
1326+
if (!status) {
1327+
dev_dbg(mdma2dev(dmadev), "spurious it\n");
1328+
return IRQ_NONE;
13411329
}
1330+
id = __ffs(status);
13421331

13431332
chan = &dmadev->chan[id];
13441333
if (!chan) {

0 commit comments

Comments
 (0)