From 571855d4dd3a8d1af6a4c4d12f8d0e8f4b4062fc Mon Sep 17 00:00:00 2001 From: Armando Date: Mon, 18 Mar 2024 14:54:25 +0800 Subject: [PATCH] bugfix(csi): fix wrong cache invalidate location --- components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c index 9545ce2dd8..b7c10a4813 100644 --- a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c +++ b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c @@ -293,16 +293,13 @@ static bool csi_dma_trans_done_callback(dw_gdma_channel_handle_t chan, const dw_ csi_dma_transfer_config.dst.addr = (uint32_t)ctlr->backup_buffer; } - if (!use_backup) { - esp_err_t ret = esp_cache_msync((void *)(ctlr->trans.buffer), ctlr->trans.received_size, ESP_CACHE_MSYNC_FLAG_INVALIDATE); - assert(ret == ESP_OK); - } - ESP_EARLY_LOGD(TAG, "new_trans.buffer: %p, new_trans.buflen: %d", new_trans.buffer, new_trans.buflen); dw_gdma_channel_config_transfer(chan, &csi_dma_transfer_config); dw_gdma_channel_enable_ctrl(chan, true); if (!use_backup) { + esp_err_t ret = esp_cache_msync((void *)(ctlr->trans.buffer), ctlr->trans.received_size, ESP_CACHE_MSYNC_FLAG_INVALIDATE); + assert(ret == ESP_OK); assert(ctlr->cbs.on_trans_finished); if (ctlr->cbs.on_trans_finished) { ctlr->trans.received_size = ctlr->fb_size_in_bytes;