diff options
author | Eric Yilun Lin <yllin@chromium.org> | 2020-12-22 10:01:59 +0800 |
---|---|---|
committer | Hung-Te Lin <hungte@chromium.org> | 2020-12-22 03:24:54 +0000 |
commit | 7c0c0ebafc07e46f7ddb8672712d885597102378 (patch) | |
tree | 1295f165409ef6124b5ea866375c6ca0a202b9b3 | |
parent | 4ca7028e02aa860564df917f4b5d480fe7217f43 (diff) | |
download | chrome-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.c | 5 |
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); } } |