fix(gdma): skip alignment check for AHBDMA version 1 when flash enc

This commit is contained in:
Chen Jichang
2026-01-27 15:05:35 +08:00
parent ca55f935e5
commit 4c92df4926
2 changed files with 3 additions and 2 deletions
+3 -1
View File
@@ -417,7 +417,9 @@ esp_err_t gdma_config_transfer(gdma_channel_handle_t dma_chan, const gdma_transf
bool en_desc_burst = true; bool en_desc_burst = true;
bool en_data_burst = max_data_burst_size > 0; bool en_data_burst = max_data_burst_size > 0;
#if SOC_PSRAM_DMA_CAPABLE || SOC_DMA_CAN_ACCESS_FLASH // There's auto alignment for AHB GDMA version 1, so we don't need to do anything here
// While, for AHB GDMA version 2 and AXI GDMA, we need to ensure the alignment by software
#if (SOC_PSRAM_DMA_CAPABLE || SOC_DMA_CAN_ACCESS_FLASH) && SOC_AHB_GDMA_VERSION != 1
// if MSPI encryption is enabled, and DMA wants to read/write external memory // if MSPI encryption is enabled, and DMA wants to read/write external memory
if (efuse_hal_flash_encryption_enabled() && config->access_ext_mem) { if (efuse_hal_flash_encryption_enabled() && config->access_ext_mem) {
uint32_t enc_mem_alignment = GDMA_LL_GET(ACCESS_ENCRYPTION_MEM_ALIGNMENT); uint32_t enc_mem_alignment = GDMA_LL_GET(ACCESS_ENCRYPTION_MEM_ALIGNMENT);
-1
View File
@@ -9,7 +9,6 @@
#include "sdkconfig.h" #include "sdkconfig.h"
#include "esp_heap_caps.h" #include "esp_heap_caps.h"
#include "esp_private/esp_cache_private.h" #include "esp_private/esp_cache_private.h"
#include "esp_private/gdma.h"
#include "soc/soc_caps.h" #include "soc/soc_caps.h"
#if SOC_HAS(GDMA) #if SOC_HAS(GDMA)
#include "hal/gdma_ll.h" #include "hal/gdma_ll.h"