aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch')
-rw-r--r--target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch49
1 files changed, 0 insertions, 49 deletions
diff --git a/target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch b/target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch
deleted file mode 100644
index 7a1462fc92..0000000000
--- a/target/linux/mediatek/patches-5.10/000-spi-fix-fifo.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 3a70dd2d050331ee4cf5ad9d5c0a32d83ead9a43 Mon Sep 17 00:00:00 2001
-From: Peter Hess <peter.hess@ph-home.de>
-Date: Tue, 6 Jul 2021 14:16:09 +0200
-Subject: spi: mediatek: fix fifo rx mode
-
-In FIFO mode were two problems:
-- RX mode was never handled and
-- in this case the tx_buf pointer was NULL and caused an exception
-
-fix this by handling RX mode in mtk_spi_fifo_transfer
-
-Fixes: a568231f4632 ("spi: mediatek: Add spi bus for Mediatek MT8173")
-Signed-off-by: Peter Hess <peter.hess@ph-home.de>
-Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
-Link: https://lore.kernel.org/r/20210706121609.680534-1-linux@fw-web.de
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- drivers/spi/spi-mt65xx.c | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
---- a/drivers/spi/spi-mt65xx.c
-+++ b/drivers/spi/spi-mt65xx.c
-@@ -434,13 +434,23 @@ static int mtk_spi_fifo_transfer(struct
- mtk_spi_setup_packet(master);
-
- cnt = xfer->len / 4;
-- iowrite32_rep(mdata->base + SPI_TX_DATA_REG, xfer->tx_buf, cnt);
-+ if (xfer->tx_buf)
-+ iowrite32_rep(mdata->base + SPI_TX_DATA_REG, xfer->tx_buf, cnt);
-+
-+ if (xfer->rx_buf)
-+ ioread32_rep(mdata->base + SPI_RX_DATA_REG, xfer->rx_buf, cnt);
-
- remainder = xfer->len % 4;
- if (remainder > 0) {
- reg_val = 0;
-- memcpy(&reg_val, xfer->tx_buf + (cnt * 4), remainder);
-- writel(reg_val, mdata->base + SPI_TX_DATA_REG);
-+ if (xfer->tx_buf) {
-+ memcpy(&reg_val, xfer->tx_buf + (cnt * 4), remainder);
-+ writel(reg_val, mdata->base + SPI_TX_DATA_REG);
-+ }
-+ if (xfer->rx_buf) {
-+ reg_val = readl(mdata->base + SPI_RX_DATA_REG);
-+ memcpy(xfer->rx_buf + (cnt * 4), &reg_val, remainder);
-+ }
- }
-
- mtk_spi_enable_transfer(master);