[coreboot-gerrit] New patch to review for coreboot: 80057ba tegra124: Release DMA channel at end of transaction

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Wed Dec 10 04:20:18 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7761

-gerrit

commit 80057ba4d42ea80dc472d5d443eaaacece31a48b
Author: David Hendricks <dhendrix at chromium.org>
Date:   Wed Apr 9 16:04:14 2014 -0700

    tegra124: Release DMA channel at end of transaction
    
    This adds a missing dma_release() at the end of DMA transfers. It
    probably doesn't matter since we don't do many DMA transfers, though
    I wouldn't want to hit some corner case with EFS and eventlog.
    
    BUG=none
    BRANCH=none
    TEST=tested on nyan
    Signed-off-by: David Hendricks <dhendrix at chromium.org>
    
    Original-Change-Id: I79b30455babe75a13aac827caac88bf7053ec9e4
    Original-Reviewed-on: https://chromium-review.googlesource.com/194479
    Original-Tested-by: David Hendricks <dhendrix at chromium.org>
    Original-Reviewed-by: Gabe Black <gabeblack at chromium.org>
    Original-Commit-Queue: David Hendricks <dhendrix at chromium.org>
    (cherry picked from commit dc7dc1d25bd88873b4c1198a6f3723d27c914ddc)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: I8c5da4e104328fd8bce71942e6eda458a37bfe06
---
 src/soc/nvidia/tegra124/spi.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/soc/nvidia/tegra124/spi.c b/src/soc/nvidia/tegra124/spi.c
index 2e7c646..56c58e5 100644
--- a/src/soc/nvidia/tegra124/spi.c
+++ b/src/soc/nvidia/tegra124/spi.c
@@ -557,6 +557,7 @@ static int tegra_spi_dma_finish(struct tegra_spi_channel *spi)
 			;	/* this shouldn't take long, no udelay */
 		dma_stop(spi->dma_in);
 		clrbits_le32(&spi->regs->command1, SPI_CMD1_RX_EN);
+		dma_release(spi->dma_in);
 	}
 
 	if (spi->dma_out) {
@@ -565,6 +566,7 @@ static int tegra_spi_dma_finish(struct tegra_spi_channel *spi)
 			spi_delay(spi, todo - spi_byte_count(spi));
 		clrbits_le32(&spi->regs->command1, SPI_CMD1_TX_EN);
 		dma_stop(spi->dma_out);
+		dma_release(spi->dma_out);
 	}
 
 	if (fifo_error(spi)) {



More information about the coreboot-gerrit mailing list