Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

spi: cadence-qspi: Revert the filtering of certain opcodes in ODTR

I got mislead while analyzing the driver by the fact that the second
opcode byte was in all cases smashed:

if (op->cmd.dtr)
opcode = op->cmd.opcode >> 8;
else
opcode = op->cmd.opcode;

While at a first glance this doesn't let a chance to the second byte to
be shifted out on the bus, this is actually the second step of an
initialization, where the byte being apparently "ignored" in DTR mode
has already been written in a dedicated "extended opcode" register. As
such, the comment and the extra check that I proposed were entirely
wrong, remove them.

Fixes: bee085476d27 ("spi: cadence-qspi: Make sure we filter out unsupported ops")
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://patch.msgid.link/20260410-winbond-6-19-rc1-oddr-v1-1-2ac4827a3868@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Miquel Raynal and committed by
Mark Brown
5e75c1d4 ab00feba

-4
-4
drivers/spi/spi-cadence-quadspi.c
··· 1544 1544 if (op->data.nbytes && op->data.buswidth != 8) 1545 1545 return false; 1546 1546 1547 - /* A single opcode is supported, it will be repeated */ 1548 - if ((op->cmd.opcode >> 8) != (op->cmd.opcode & 0xFF)) 1549 - return false; 1550 - 1551 1547 if (cqspi->is_rzn1) 1552 1548 return false; 1553 1549 } else if (!all_false) {