summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Jan Bajkowski <olek2@wp.pl>2021-09-15 00:20:58 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-18 21:16:09 +0300
commit6a5b3f5dfb02e2ce9f0c98e74b18b7d1ad9cf13d (patch)
tree7cc3a72061831dc09c5299fb727bace3a5c8adeb
parent55bf61828ab33b959ecc41b66c6a3725fb921ec1 (diff)
downloadlinux-6a5b3f5dfb02e2ce9f0c98e74b18b7d1ad9cf13d.tar.xz
MIPS: lantiq: dma: add small delay after reset
[ Upstream commit c12aa581f6d5e80c3c3675ab26a52c2b3b62f76e ] Reading the DMA registers immediately after the reset causes Data Bus Error. Adding a small delay fixes this issue. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--arch/mips/lantiq/xway/dma.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
index 63dccb2ed08b..2784715933d1 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -11,6 +11,7 @@
#include <linux/export.h>
#include <linux/spinlock.h>
#include <linux/clk.h>
+#include <linux/delay.h>
#include <linux/err.h>
#include <linux/of.h>
@@ -222,6 +223,8 @@ ltq_dma_init(struct platform_device *pdev)
clk_enable(clk);
ltq_dma_w32_mask(0, DMA_RESET, LTQ_DMA_CTRL);
+ usleep_range(1, 10);
+
/* disable all interrupts */
ltq_dma_w32(0, LTQ_DMA_IRNEN);