mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
fix(dma): abort the axi dma gracefully on CPU SW reset
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -14,16 +14,16 @@ void dma2d_hal_init(dma2d_hal_context_t *hal, int group_id)
|
||||
|
||||
void dma2d_hal_tx_reset_channel(dma2d_hal_context_t *hal, uint32_t channel)
|
||||
{
|
||||
dma2d_ll_tx_disable_cmd(hal->dev, channel, true);
|
||||
dma2d_ll_tx_abort(hal->dev, channel, true);
|
||||
while (!dma2d_ll_tx_is_reset_avail(hal->dev, channel));
|
||||
dma2d_ll_tx_reset_channel(hal->dev, channel);
|
||||
dma2d_ll_tx_disable_cmd(hal->dev, channel, false);
|
||||
dma2d_ll_tx_abort(hal->dev, channel, false);
|
||||
}
|
||||
|
||||
void dma2d_hal_rx_reset_channel(dma2d_hal_context_t *hal, uint32_t channel)
|
||||
{
|
||||
dma2d_ll_rx_disable_cmd(hal->dev, channel, true);
|
||||
dma2d_ll_rx_abort(hal->dev, channel, true);
|
||||
while (!dma2d_ll_rx_is_reset_avail(hal->dev, channel));
|
||||
dma2d_ll_rx_reset_channel(hal->dev, channel);
|
||||
dma2d_ll_rx_disable_cmd(hal->dev, channel, false);
|
||||
dma2d_ll_rx_abort(hal->dev, channel, false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user