]> git.baikalelectronics.ru Git - kernel.git/commit
spi: cadence-quadspi: fix protocol setup for non-1-1-X operations
authorMatthias Schiffer <matthias.schiffer@ew.tq-group.com>
Thu, 31 Mar 2022 11:08:19 +0000 (13:08 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 6 Apr 2022 14:50:09 +0000 (15:50 +0100)
commit04fd5a0b96e4a458040d328fefa5dbc9dc0cdaf5
tree1338ca3c2286c575d8e7d7ceb51dc0c642cbebaf
parentb2a378de33dac0486ef54381583ea754c1de40f3
spi: cadence-quadspi: fix protocol setup for non-1-1-X operations

cqspi_set_protocol() only set the data width, but ignored the command
and address width (except for 8-8-8 DTR ops), leading to corruption of
all transfers using 1-X-X or X-X-X ops. Fix by setting the other two
widths as well.

While we're at it, simplify the code a bit by replacing the
CQSPI_INST_TYPE_* constants with ilog2().

Tested on a TI AM64x with a Macronix MX25U51245G QSPI flash with 1-4-4
read and write operations.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Link: https://lore.kernel.org/r/20220331110819.133392-1-matthias.schiffer@ew.tq-group.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cadence-quadspi.c