summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-09-01 16:49:05 +0400
committerMark Brown <broonie@linaro.org>2013-09-01 16:49:05 +0400
commit793b3cb6acc081e557dabcf11ce781d64dafb4d4 (patch)
tree521aa61fdbe1aeb9b2ab22542c95ba6497b03ed0
parent720ed2d130e321635976009884e3aeb5ef4f152d (diff)
parent1de7061253a2742c743f3883f0e73480c9bceee0 (diff)
downloadlinux-793b3cb6acc081e557dabcf11ce781d64dafb4d4.tar.xz
Merge remote-tracking branch 'spi/topic/pxa' into spi-next
-rw-r--r--drivers/spi/spi-pxa2xx.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
index f440dcee852b..e0fd6f63c93e 100644
--- a/drivers/spi/spi-pxa2xx.c
+++ b/drivers/spi/spi-pxa2xx.c
@@ -69,6 +69,8 @@ MODULE_ALIAS("platform:pxa2xx-spi");
#define LPSS_TX_HITHRESH_DFLT 224
/* Offset from drv_data->lpss_base */
+#define GENERAL_REG 0x08
+#define GENERAL_REG_RXTO_HOLDOFF_DISABLE BIT(24)
#define SSP_REG 0x0c
#define SPI_CS_CONTROL 0x18
#define SPI_CS_CONTROL_SW_MODE BIT(0)
@@ -142,8 +144,13 @@ detection_done:
__lpss_ssp_write_priv(drv_data, SPI_CS_CONTROL, value);
/* Enable multiblock DMA transfers */
- if (drv_data->master_info->enable_dma)
+ if (drv_data->master_info->enable_dma) {
__lpss_ssp_write_priv(drv_data, SSP_REG, 1);
+
+ value = __lpss_ssp_read_priv(drv_data, GENERAL_REG);
+ value |= GENERAL_REG_RXTO_HOLDOFF_DISABLE;
+ __lpss_ssp_write_priv(drv_data, GENERAL_REG, value);
+ }
}
static void lpss_ssp_cs_control(struct driver_data *drv_data, bool enable)