summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorminwuklee <mlee@nvidia.com>2010-12-01 14:34:15 +0900
committerBharat Nihalani <bnihalani@nvidia.com>2010-12-01 03:54:29 -0800
commita0f54090dbf76ec1f07410caf302560e00ee46ef (patch)
tree554be9865de6fa330864217374738b95761af7be /drivers/spi
parent0d47e62d9e2a08831c40d2debfad7ece6eab30d2 (diff)
[tegra:dma] set dma burst size for spi/slink
for spi/slink, set dma burst size based on transfer size. bug 747979 Change-Id: I8c3c0a0410648a25190847590b9ac0304fb1105f Reviewed-on: http://git-master/r/11752 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/spi')
-rwxr-xr-x[-rw-r--r--]drivers/spi/spi_tegra.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/spi/spi_tegra.c b/drivers/spi/spi_tegra.c
index 842ac14f745d..5d7100085a5c 100644..100755
--- a/drivers/spi/spi_tegra.c
+++ b/drivers/spi/spi_tegra.c
@@ -197,6 +197,13 @@ static void spi_tegra_go(struct spi_tegra_data *tspi)
tegra_dma_enqueue_req(tspi->rx_dma, &tspi->rx_dma_req);
val |= SLINK_DMA_EN;
+
+ val &= ~SLINK_TX_TRIG_MASK & ~SLINK_RX_TRIG_MASK;
+ if (tspi->rx_dma_req.size & 0xF) {
+ val |= SLINK_TX_TRIG_1 | SLINK_RX_TRIG_1;
+ } else {
+ val |= SLINK_TX_TRIG_4 | SLINK_RX_TRIG_4;
+ }
spi_tegra_writel(tspi, val, SLINK_DMA_CTL);
}