diff options
-rw-r--r-- | drivers/spi/spi-mxs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c index a3ede249d05d..e3d8b3197d22 100644 --- a/drivers/spi/spi-mxs.c +++ b/drivers/spi/spi-mxs.c | |||
@@ -241,6 +241,7 @@ static int mxs_spi_txrx_dma(struct mxs_spi *spi, int cs, | |||
241 | INIT_COMPLETION(spi->c); | 241 | INIT_COMPLETION(spi->c); |
242 | 242 | ||
243 | ctrl0 = readl(ssp->base + HW_SSP_CTRL0); | 243 | ctrl0 = readl(ssp->base + HW_SSP_CTRL0); |
244 | ctrl0 &= ~BM_SSP_CTRL0_XFER_COUNT; | ||
244 | ctrl0 |= BM_SSP_CTRL0_DATA_XFER | mxs_spi_cs_to_reg(cs); | 245 | ctrl0 |= BM_SSP_CTRL0_DATA_XFER | mxs_spi_cs_to_reg(cs); |
245 | 246 | ||
246 | if (*first) | 247 | if (*first) |
@@ -256,8 +257,10 @@ static int mxs_spi_txrx_dma(struct mxs_spi *spi, int cs, | |||
256 | if ((sg_count + 1 == sgs) && *last) | 257 | if ((sg_count + 1 == sgs) && *last) |
257 | ctrl0 |= BM_SSP_CTRL0_IGNORE_CRC; | 258 | ctrl0 |= BM_SSP_CTRL0_IGNORE_CRC; |
258 | 259 | ||
259 | if (ssp->devid == IMX23_SSP) | 260 | if (ssp->devid == IMX23_SSP) { |
261 | ctrl0 &= ~BM_SSP_CTRL0_XFER_COUNT; | ||
260 | ctrl0 |= min; | 262 | ctrl0 |= min; |
263 | } | ||
261 | 264 | ||
262 | dma_xfer[sg_count].pio[0] = ctrl0; | 265 | dma_xfer[sg_count].pio[0] = ctrl0; |
263 | dma_xfer[sg_count].pio[3] = min; | 266 | dma_xfer[sg_count].pio[3] = min; |