mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
From a7b630f02bb12f71f23866aee6f9a1a07497d475 Mon Sep 17 00:00:00 2001
|
||
|
From: Weijie Gao <weijie.gao@mediatek.com>
|
||
|
Date: Wed, 19 Jul 2023 17:16:02 +0800
|
||
|
Subject: [PATCH 04/29] spi: mtk_spim: clear IRQ enable bits
|
||
|
|
||
|
In u-boot we don't use IRQ. Instead, we poll busy bit in SPI_STATUS.
|
||
|
|
||
|
However these IRQ enable bits may be set in previous boot stage (BootROM).
|
||
|
|
||
|
If we leave these bits not cleared, although u-boot has disabled IRQ and
|
||
|
nothing will happen, the linux kernel may encounter panic during
|
||
|
initializing the spim driver due to IRQ event happens before IRQ handler
|
||
|
is properly setup.
|
||
|
|
||
|
This patch clear IRQ bits to prevent this from happening.
|
||
|
|
||
|
Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
|
||
|
Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
|
||
|
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
|
||
|
---
|
||
|
drivers/spi/mtk_spim.c | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
--- a/drivers/spi/mtk_spim.c
|
||
|
+++ b/drivers/spi/mtk_spim.c
|
||
|
@@ -242,6 +242,9 @@ static int mtk_spim_hw_init(struct spi_s
|
||
|
reg_val &= ~SPI_CMD_SAMPLE_SEL;
|
||
|
}
|
||
|
|
||
|
+ /* Disable interrupt enable for pause mode & normal mode */
|
||
|
+ reg_val &= ~(SPI_CMD_PAUSE_IE | SPI_CMD_FINISH_IE);
|
||
|
+
|
||
|
/* disable dma mode */
|
||
|
reg_val &= ~(SPI_CMD_TX_DMA | SPI_CMD_RX_DMA);
|
||
|
|