From: Sourav Poddar <sourav.poddar@ti.com>
Date: Fri, 23 Aug 2013 09:42:16 +0000 (+0530)
Subject: spi/qspi: Add dual/quad spi read support
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=70e2e9761a580cc9ef84be69dac2279dd6c2c72f;p=linux.git

spi/qspi: Add dual/quad spi read support

Support for multiple lines in SPI framework has been picked[1].
[1]: http://comments.gmane.org/gmane.linux.kernel.spi.devel/14420

Hence, adapting ti qspi driver to support multiple data lines for read.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
---

diff --git a/drivers/spi/spi-ti-qspi.c b/drivers/spi/spi-ti-qspi.c
index 09e241551fccc..c07e04170b910 100644
--- a/drivers/spi/spi-ti-qspi.c
+++ b/drivers/spi/spi-ti-qspi.c
@@ -267,7 +267,18 @@ static int qspi_read_msg(struct ti_qspi *qspi, struct spi_transfer *t)
 	u8 *rxbuf;
 
 	rxbuf = t->rx_buf;
-	cmd = qspi->cmd | QSPI_RD_SNGL;
+	cmd = qspi->cmd;
+	switch (t->rx_nbits) {
+	case SPI_NBITS_DUAL:
+		cmd |= QSPI_RD_DUAL;
+		break;
+	case SPI_NBITS_QUAD:
+		cmd |= QSPI_RD_QUAD;
+		break;
+	default:
+		cmd |= QSPI_RD_SNGL;
+		break;
+	}
 	count = t->len;
 	wlen = t->bits_per_word;