From: luowei Date: Tue, 22 Jan 2013 09:25:05 +0000 (+0800) Subject: SPIM:fix SPI_MODE_2 bug X-Git-Tag: firefly_0821_release~7861 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e11798334ab7fbe330b68c7512cb1e0f5cce46b3;p=firefly-linux-kernel-4.4.55.git SPIM:fix SPI_MODE_2 bug --- diff --git a/drivers/spi/rk29_spim.c b/drivers/spi/rk29_spim.c index 8fca6a804297..1810c54f2bc9 100755 --- a/drivers/spi/rk29_spim.c +++ b/drivers/spi/rk29_spim.c @@ -896,7 +896,8 @@ static void pump_transfers(unsigned long data) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); - cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (spi->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); } @@ -1105,7 +1106,8 @@ static void dma_transfer(struct rk29xx_spi *dws) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); - cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (chip->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); } @@ -1527,6 +1529,8 @@ static int rk29xx_pump_transfers(struct rk29xx_spi *dws, int mode) chip->tmode = SPI_TMOD_TO; cr0 &= ~(0x3 << SPI_MODE_OFFSET); + cr0 &= ~(0x3 << SPI_TMOD_OFFSET); + cr0 |= (spi->mode << SPI_MODE_OFFSET); cr0 |= (chip->tmode << SPI_TMOD_OFFSET); }