From 926dd7fe4a5b92babd064fbe7a7a3274279faf47 Mon Sep 17 00:00:00 2001 From: Zhou Xiao Date: Tue, 26 May 2026 19:34:45 +0800 Subject: [PATCH 1/2] change(ble_log): move spi tx callback to flash when spi isr in iram disabled (cherry picked from commit 725e9ee162837ee2d0d9baebae57295d3cd37e46) Co-authored-by: Zhou Xiao --- .../ble_log/src/prph/ble_log_prph_spi_master_dma.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/components/bt/common/ble_log/src/prph/ble_log_prph_spi_master_dma.c b/components/bt/common/ble_log/src/prph/ble_log_prph_spi_master_dma.c index cbadf799ca5..6c43044bfaa 100644 --- a/components/bt/common/ble_log/src/prph/ble_log_prph_spi_master_dma.c +++ b/components/bt/common/ble_log/src/prph/ble_log_prph_spi_master_dma.c @@ -20,6 +20,12 @@ #define BLE_LOG_SPI_DMA_ALIGN_BYTES (4U) #define BLE_LOG_SPI_ALIGN_LOG_PERIOD (256U) +#if CONFIG_SPI_MASTER_ISR_IN_IRAM +#define BLE_LOG_SPI_MASTER_DMA_CB_ATTR BLE_LOG_IRAM_ATTR +#else +#define BLE_LOG_SPI_MASTER_DMA_CB_ATTR +#endif + /* VARIABLE */ BLE_LOG_STATIC bool prph_inited = false; BLE_LOG_STATIC spi_device_handle_t dev_handle = NULL; @@ -30,7 +36,7 @@ BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_t *spi_trans); BLE_LOG_STATIC void spi_master_dma_pre_tx_cb(spi_transaction_t *spi_trans); /* PRIVATE FUNCTION */ -BLE_LOG_IRAM_ATTR BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_t *spi_trans) +BLE_LOG_SPI_MASTER_DMA_CB_ATTR BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_t *spi_trans) { /* SPI slave performance issue workaround */ last_tx_done_ts = esp_timer_get_time(); @@ -43,7 +49,7 @@ BLE_LOG_IRAM_ATTR BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_ __atomic_store_n(&trans->prph_owned, false, __ATOMIC_RELEASE); } -BLE_LOG_IRAM_ATTR BLE_LOG_STATIC void spi_master_dma_pre_tx_cb(spi_transaction_t *spi_trans) +BLE_LOG_SPI_MASTER_DMA_CB_ATTR BLE_LOG_STATIC void spi_master_dma_pre_tx_cb(spi_transaction_t *spi_trans) { /* SPI slave performance issue workaround */ while ((esp_timer_get_time() - last_tx_done_ts) < BLE_LOG_SPI_TRANS_ITVL_MIN_US) {} From 265dde11e7f017c0efaee87617c3a81fb781d44c Mon Sep 17 00:00:00 2001 From: Zhou Xiao Date: Fri, 29 May 2026 16:32:02 +0800 Subject: [PATCH 2/2] change(ble_log): reverted default ble log buffer size to 2048 bytes --- components/bt/common/ble_log/Kconfig.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/bt/common/ble_log/Kconfig.in b/components/bt/common/ble_log/Kconfig.in index 5cb3bab284d..1255c725df0 100644 --- a/components/bt/common/ble_log/Kconfig.in +++ b/components/bt/common/ble_log/Kconfig.in @@ -17,8 +17,7 @@ if BLE_LOG_ENABLED config BLE_LOG_LBM_TRANS_BUF_SIZE int "Total buffer memory per common LBM (bytes)" - default 2048 if BT_BLUEDROID_ENABLED - default 4096 if BT_NIMBLE_ENABLED + default 2048 help Total buffer memory allocated for each common pool log buffer manager (LBM). This memory is divided equally among internal