diff options
author | minwuklee <mlee@nvidia.com> | 2010-12-01 14:34:15 +0900 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:43:21 -0800 |
commit | f13e5c1512fc6d7378cd9328a9ac58b6bd6c65b9 (patch) | |
tree | 643b34c6255b8270f8b338c751a86a95ecd010ff /drivers/spi | |
parent | 0e5eec3307ce47cb03f9405b1c227b400611b24b (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.c | 7 |
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); } |