summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorminwuklee <mlee@nvidia.com>2010-12-01 14:34:15 +0900
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:43:21 -0800
commitf13e5c1512fc6d7378cd9328a9ac58b6bd6c65b9 (patch)
tree643b34c6255b8270f8b338c751a86a95ecd010ff /drivers/spi
parent0e5eec3307ce47cb03f9405b1c227b400611b24b (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')
-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 6731cea5bd7e..c568b184e103 100644
--- 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);
}