spi: spi-cavium-thunderx: flag controller as half duplex
authorTim Harvey <tharvey@gateworks.com>
Thu, 28 May 2020 15:46:39 +0000 (08:46 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 15 Jun 2020 23:38:39 +0000 (00:38 +0100)
The OcteonTX (TX1/ThunderX) SPI controller does not support full
duplex transactions. Set the appropriate flag such that the spi
core will return -EINVAL on such transactions requested by chip
drivers.

This is an RFC as I need someone from Marvell/Cavium to confirm
if this driver is used for other silicon that does support
full duplex transfers (in which case we will need to identify
that we are running on the ThunderX arch before setting the flag).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Cc: Robert Richter <rrichter@marvell.com>
Link: https://lore.kernel.org/r/1590680799-5640-1-git-send-email-tharvey@gateworks.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-cavium-thunderx.c

index fd6b9caffaf0c41ca36434a7ae90538b319560bd..60c0d693465408aa7a2b22a9bd1919d193b4664a 100644 (file)
@@ -64,6 +64,7 @@ static int thunderx_spi_probe(struct pci_dev *pdev,
                p->sys_freq = SYS_FREQ_DEFAULT;
        dev_info(dev, "Set system clock to %u\n", p->sys_freq);
 
+       master->flags = SPI_MASTER_HALF_DUPLEX;
        master->num_chipselect = 4;
        master->mode_bits = SPI_CPHA | SPI_CPOL | SPI_CS_HIGH |
                            SPI_LSB_FIRST | SPI_3WIRE;