summaryrefslogtreecommitdiff
path: root/drivers/spi/spi-tegra.c
diff options
context:
space:
mode:
authorminwuklee <mlee@nvidia.com>2010-12-01 14:34:15 +0900
committerDan Willemsen <dwillemsen@nvidia.com>2012-03-23 16:08:38 -0700
commit77698b26d97ca2888070fdbca1ac2fc41e85e971 (patch)
tree7673461ba4d8202f15103da1ffcee5ca9892eb11 /drivers/spi/spi-tegra.c
parent04bf66318e03906fe866f6742fb806c816d8f37d (diff)
[tegra:dma] set dma burst size for spi/slink
for spi/slink, set dma burst size based on transfer size. bug 747979 Original-Change-Id: I8c3c0a0410648a25190847590b9ac0304fb1105f Reviewed-on: http://git-master/r/11752 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R63f68e541c427778a412c5f09e656fb18da5f05d
Diffstat (limited to 'drivers/spi/spi-tegra.c')
-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 ff92da2f048b..ba578da38939 100644
--- a/drivers/spi/spi-tegra.c
+++ b/drivers/spi/spi-tegra.c
@@ -198,6 +198,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);
}