summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Yilun Lin <yllin@chromium.org>2020-12-22 10:01:59 +0800
committerHung-Te Lin <hungte@chromium.org>2020-12-22 03:24:54 +0000
commit7c0c0ebafc07e46f7ddb8672712d885597102378 (patch)
tree1295f165409ef6124b5ea866375c6ca0a202b9b3
parent4ca7028e02aa860564df917f4b5d480fe7217f43 (diff)
downloadchrome-ec-7c0c0ebafc07e46f7ddb8672712d885597102378.tar.gz
stm32/dma: disable TX DMA to clear DMA TX BUFFER
BUG=b:156027159, b:173732816 TEST=run reboot test on devices and pass for over 3000 runs BRANCH=kukui Change-Id: Ifb67d023efeb2f5db2de125fc2f2e90d31e1a99e Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2581135 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: Hung-Te Lin <hungte@chromium.org> Tested-by: Hung-Te Lin <hungte@chromium.org>
-rw-r--r--chip/stm32/dma.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/chip/stm32/dma.c b/chip/stm32/dma.c
index 5fb7c4c9a6..13100a9579 100644
--- a/chip/stm32/dma.c
+++ b/chip/stm32/dma.c
@@ -79,8 +79,7 @@ void dma_disable(enum dma_channel channel)
{
stm32_dma_chan_t *chan = dma_get_channel(channel);
- if (chan->ccr & STM32_DMA_CCR_EN)
- chan->ccr &= ~STM32_DMA_CCR_EN;
+ chan->ccr &= ~(STM32_DMA_CCR_EN | STM32_DMA_CCR_TCIE);
}
void dma_disable_all(void)
@@ -89,7 +88,7 @@ void dma_disable_all(void)
for (ch = 0; ch < STM32_DMAC_COUNT; ch++) {
stm32_dma_chan_t *chan = dma_get_channel(ch);
- chan->ccr &= ~STM32_DMA_CCR_EN;
+ chan->ccr &= ~(STM32_DMA_CCR_EN | STM32_DMA_CCR_TCIE);
}
}