mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(eca46a0)
- Fixed adv data buffer free after restart adv - Fixed BLE interrupt allocation using esp API
This commit is contained in:
@@ -11,11 +11,10 @@ void esp_cpu_intr_get_desc(int core_id, int intr_num, esp_cpu_intr_desc_t *intr_
|
||||
{
|
||||
/* On the ESP32-C3, interrupt:
|
||||
* - 1 is for Wi-Fi
|
||||
* - 5 and 8 for Bluetooth
|
||||
* - 6 for "permanently disabled interrupt", named INT_MUX_DISABLED_INTNO in the interrupt allocator
|
||||
*/
|
||||
// [TODO: IDF-2465]
|
||||
const uint32_t rsvd_mask = BIT(1) | BIT(5) | BIT(6) | BIT(8);
|
||||
const uint32_t rsvd_mask = BIT(1) | BIT(6);
|
||||
|
||||
intr_desc_ret->priority = 1;
|
||||
intr_desc_ret->type = ESP_CPU_INTR_TYPE_NA;
|
||||
|
||||
@@ -20,31 +20,6 @@ typedef struct {
|
||||
} intr_desc_t;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Reserve the interrupts on the core where Bluetooth will run.
|
||||
* The macro CONFIG_BT_CTRL_PINNED_TO_CORE is only defined if Bluetooth controller is enabled.
|
||||
* It is set to the core where it will run.
|
||||
*/
|
||||
#ifdef CONFIG_BT_CTRL_PINNED_TO_CORE
|
||||
#if CONFIG_BT_CTRL_PINNED_TO_CORE == 0
|
||||
#define CORE_0_INTERRUPT_5 ESP_CPU_INTR_DESC_FLAG_RESVD
|
||||
#define CORE_1_INTERRUPT_5 0
|
||||
#define CORE_0_INTERRUPT_8 ESP_CPU_INTR_DESC_FLAG_RESVD
|
||||
#define CORE_1_INTERRUPT_8 0
|
||||
#elif CONFIG_BT_CTRL_PINNED_TO_CORE == 1
|
||||
#define CORE_0_INTERRUPT_5 0
|
||||
#define CORE_1_INTERRUPT_5 ESP_CPU_INTR_DESC_FLAG_RESVD
|
||||
#define CORE_0_INTERRUPT_8 0
|
||||
#define CORE_1_INTERRUPT_8 ESP_CPU_INTR_DESC_FLAG_RESVD
|
||||
#endif
|
||||
#else // Bluetooth not enabled
|
||||
#define CORE_0_INTERRUPT_5 0
|
||||
#define CORE_1_INTERRUPT_5 0
|
||||
#define CORE_0_INTERRUPT_8 0
|
||||
#define CORE_1_INTERRUPT_8 0
|
||||
#endif
|
||||
|
||||
|
||||
const static intr_desc_t intr_desc_table [SOC_CPU_INTR_NUM] = {
|
||||
/* Interrupt 0 reserved for WMAC (Wifi) */
|
||||
#if CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0
|
||||
@@ -57,12 +32,10 @@ const static intr_desc_t intr_desc_table [SOC_CPU_INTR_NUM] = {
|
||||
[3] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { 0, 0 } },
|
||||
/* Interrupt 4 reserved for WBB */
|
||||
[4] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { ESP_CPU_INTR_DESC_FLAG_RESVD, 0 } },
|
||||
/* Interrupt 5 reserved for BT/BLE Controller */
|
||||
[5] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { CORE_0_INTERRUPT_5, CORE_1_INTERRUPT_5 } },
|
||||
[5] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { 0, 0 } },
|
||||
[6] = { 1, ESP_CPU_INTR_TYPE_NA, { ESP_CPU_INTR_DESC_FLAG_SPECIAL, ESP_CPU_INTR_DESC_FLAG_SPECIAL } },
|
||||
[7] = { 1, ESP_CPU_INTR_TYPE_NA, { ESP_CPU_INTR_DESC_FLAG_SPECIAL, ESP_CPU_INTR_DESC_FLAG_SPECIAL } },
|
||||
/* Interrupt 8 reserved for BT/BLE Controller */
|
||||
[8] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { CORE_0_INTERRUPT_8, CORE_1_INTERRUPT_8 } },
|
||||
[8] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { 0, 0 } },
|
||||
[9] = { 1, ESP_CPU_INTR_TYPE_LEVEL, { 0, 0 } },
|
||||
[10] = { 1, ESP_CPU_INTR_TYPE_EDGE, { 0, 0 } },
|
||||
[11] = { 3, ESP_CPU_INTR_TYPE_NA, { ESP_CPU_INTR_DESC_FLAG_SPECIAL, ESP_CPU_INTR_DESC_FLAG_SPECIAL } },
|
||||
|
||||
Reference in New Issue
Block a user