Re: [PATCH v3 2/3] spi: spi-cadence: supports transmission with bits_per_word of 16 and 32

From: Jun Guo

Date: Wed Jan 14 2026 - 21:14:53 EST


hi Rodrigo,

I'm very sorry for introducing this issue. Thank you for your reminder. I will immediately submit a patch to add SPI_CONTROLLER_MUST_TX to the flags during probe to resolve this problem.

On 1/15/2026 12:09 AM, Rodrigo Alencar wrote:
[You don't often get email from 455.rodrigo.alencar@xxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

EXTERNAL EMAIL

On 26/01/14 02:16PM, Mark Brown wrote:
On Wed, Jan 14, 2026 at 02:14:35PM +0000, Rodrigo Alencar wrote:
On 25/10/31 03:30PM, Jun Guo wrote:

+ if (xspi->txbuf) {
+ switch (xspi->n_bytes) {
+ case CDNS_SPI_N_BYTES_U8:
+ txw = *(u8 *)xspi->txbuf;
+ break;

+ cdns_spi_write(xspi, CDNS_SPI_TXD, txw);
+ xspi->txbuf = (u8 *)xspi->txbuf + xspi->n_bytes;
+ }

cdns_spi_write(xspi, CDNS_SPI_TXD, txw) needs to be called regardless of xspi->txbuf.
Otherwise, there will be no clock for the read operation to work.
This is a bug I am seeing on a Zedboard running on 6.19

So the device needs to be flagged as SPI_CONTROLLER_MUST_TX?

yes, It works if

ctlr->flags = SPI_CONTROLLER_MUST_TX;

is added to the probe function. At least for my case handling with "xlnx,zynq-spi-r1p6"

kind regards,

Rodrigo Alencar