diff options
author | minwuklee <mlee@nvidia.com> | 2010-12-01 14:34:15 +0900 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2012-03-23 16:08:38 -0700 |
commit | 77698b26d97ca2888070fdbca1ac2fc41e85e971 (patch) | |
tree | 7673461ba4d8202f15103da1ffcee5ca9892eb11 /drivers/spi/spi-tegra.c | |
parent | 04bf66318e03906fe866f6742fb806c816d8f37d (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.c | 7 |
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); } |