[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260115091924.844179-1-jun.guo@cixtech.com>
Date: Thu, 15 Jan 2026 17:19:24 +0800
From: Jun Guo <jun.guo@...tech.com>
To: peter.chen@...tech.com,
fugang.duan@...tech.com,
broonie@...nel.org
Cc: 455.rodrigo.alencar@...il.com,
linux-spi@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jun Guo <jun.guo@...tech.com>
Subject: [PATCH] spi: spi-cadence: enable SPI_CONTROLLER_MUST_TX
During an SPI read operation, even if the xspi->txbuf passed to the
cdns_spi_writerinterface is empty, it is still necessary to call
cdns_spi_write(xspi, CDNS_SPI_TXD, txw); otherwise, the read operation
will fail to obtain data correctly due to a lack of clocks.
Fixes: 4e00135b2dd1 ("spi: spi-cadence: supports transmission with bits_per_word of 16 and 32")
Reported-by: Rodrigo Alencar <455.rodrigo.alencar@...il.com>
Closes: https://lore.kernel.org/all/lbijvnnwsnddonmm5pveqzap6iibxhl4maneq43x4j6w64dev6@u75qhm5cwiob/
Signed-off-by: Jun Guo <jun.guo@...tech.com>
---
drivers/spi/spi-cadence.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-cadence.c b/drivers/spi/spi-cadence.c
index 47054da630d0..41b5b58cbfac 100644
--- a/drivers/spi/spi-cadence.c
+++ b/drivers/spi/spi-cadence.c
@@ -729,6 +729,7 @@ static int cdns_spi_probe(struct platform_device *pdev)
ctlr->unprepare_transfer_hardware = cdns_unprepare_transfer_hardware;
ctlr->mode_bits = SPI_CPOL | SPI_CPHA;
ctlr->bits_per_word_mask = SPI_BPW_MASK(8);
+ ctlr->flags = SPI_CONTROLLER_MUST_TX;
if (of_device_is_compatible(pdev->dev.of_node, "cix,sky1-spi-r1p6"))
ctlr->bits_per_word_mask |= SPI_BPW_MASK(16) | SPI_BPW_MASK(32);
--
2.34.1
Powered by blists - more mailing lists