diff options
author | Tharun Kumar P <tharunkumar.pasumarthi@microchip.com> | 2023-04-04 20:16:11 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-04-05 14:33:27 +0300 |
commit | 35c8c5e503a82e0a4bf251d32096211eba8c2be6 (patch) | |
tree | e1f8ac4e7d14203aa89ab430fce216c4f22f0463 /drivers/spi | |
parent | 43bac5158bcc5fe392a17457fda1f8e33a13e458 (diff) | |
download | linux-35c8c5e503a82e0a4bf251d32096211eba8c2be6.tar.xz |
spi: mchp-pci1xxxx: Fix length of SPI transactions not set properly in driver
In pci1xxxx_spi_transfer_one API, length of SPI transaction gets cleared
by setting of length mask. Set length of transaction only after masking
length field.
Fixes: 1cc0cbea7167 ("spi: microchip: pci1xxxx: Add driver for SPI controller of PCI1XXXX PCIe switch")
Signed-off-by: Tharun Kumar P <tharunkumar.pasumarthi@microchip.com>
Link: https://lore.kernel.org/r/20230404171613.1336093-2-tharunkumar.pasumarthi@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r-- | drivers/spi/spi-pci1xxxx.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/spi/spi-pci1xxxx.c b/drivers/spi/spi-pci1xxxx.c index 1c5731641a04..419a1d3a5c2e 100644 --- a/drivers/spi/spi-pci1xxxx.c +++ b/drivers/spi/spi-pci1xxxx.c @@ -199,8 +199,9 @@ static int pci1xxxx_spi_transfer_one(struct spi_controller *spi_ctlr, else regval &= ~SPI_MST_CTL_MODE_SEL; - regval |= ((clkdiv << 5) | SPI_FORCE_CE | (len << 8)); + regval |= ((clkdiv << 5) | SPI_FORCE_CE); regval &= ~SPI_MST_CTL_CMD_LEN_MASK; + regval |= (len << 8); writel(regval, par->reg_base + SPI_MST_CTL_REG_OFFSET(p->hw_inst)); regval = readl(par->reg_base + |