mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 09:09:10 -04:00
Merge branch 'feature/sync_bt_lib_with_hli_v4.1' into 'release/v4.1'
components/bt: Sync bt lib with the high level interrupt version See merge request espressif/esp-idf!15329
This commit is contained in:
commit
4d46e6c268
@ -90,7 +90,7 @@ do{\
|
|||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
||||||
#define OSI_VERSION 0x00010002
|
#define OSI_VERSION 0x00010003
|
||||||
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
||||||
|
|
||||||
/* SPIRAM Configuration */
|
/* SPIRAM Configuration */
|
||||||
@ -182,6 +182,10 @@ struct osi_funcs_t {
|
|||||||
void *(* _coex_schm_curr_phase_get)(void);
|
void *(* _coex_schm_curr_phase_get)(void);
|
||||||
int (* _coex_wifi_channel_get)(uint8_t *primary, uint8_t *secondary);
|
int (* _coex_wifi_channel_get)(uint8_t *primary, uint8_t *secondary);
|
||||||
int (* _coex_register_wifi_channel_change_callback)(void *cb);
|
int (* _coex_register_wifi_channel_change_callback)(void *cb);
|
||||||
|
xt_handler (*_set_isr_l3)(int n, xt_handler f, void *arg);
|
||||||
|
void (*_interrupt_l3_disable)(void);
|
||||||
|
void (*_interrupt_l3_restore)(void);
|
||||||
|
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
|
||||||
uint32_t _magic;
|
uint32_t _magic;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -268,6 +272,7 @@ static bool btdm_queue_generic_deregister(btdm_queue_item_t *queue);
|
|||||||
#endif /* CONFIG_SPIRAM_USE_MALLOC */
|
#endif /* CONFIG_SPIRAM_USE_MALLOC */
|
||||||
static void IRAM_ATTR interrupt_disable(void);
|
static void IRAM_ATTR interrupt_disable(void);
|
||||||
static void IRAM_ATTR interrupt_restore(void);
|
static void IRAM_ATTR interrupt_restore(void);
|
||||||
|
static void IRAM_ATTR task_yield(void);
|
||||||
static void IRAM_ATTR task_yield_from_isr(void);
|
static void IRAM_ATTR task_yield_from_isr(void);
|
||||||
static void *semphr_create_wrapper(uint32_t max, uint32_t init);
|
static void *semphr_create_wrapper(uint32_t max, uint32_t init);
|
||||||
static void semphr_delete_wrapper(void *semphr);
|
static void semphr_delete_wrapper(void *semphr);
|
||||||
@ -326,7 +331,7 @@ static const struct osi_funcs_t osi_funcs_ro = {
|
|||||||
._ints_on = xt_ints_on,
|
._ints_on = xt_ints_on,
|
||||||
._interrupt_disable = interrupt_disable,
|
._interrupt_disable = interrupt_disable,
|
||||||
._interrupt_restore = interrupt_restore,
|
._interrupt_restore = interrupt_restore,
|
||||||
._task_yield = vPortYield,
|
._task_yield = task_yield,
|
||||||
._task_yield_from_isr = task_yield_from_isr,
|
._task_yield_from_isr = task_yield_from_isr,
|
||||||
._semphr_create = semphr_create_wrapper,
|
._semphr_create = semphr_create_wrapper,
|
||||||
._semphr_delete = semphr_delete_wrapper,
|
._semphr_delete = semphr_delete_wrapper,
|
||||||
@ -377,6 +382,10 @@ static const struct osi_funcs_t osi_funcs_ro = {
|
|||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_wifi_channel_get = coex_wifi_channel_get_wrapper,
|
._coex_wifi_channel_get = coex_wifi_channel_get_wrapper,
|
||||||
._coex_register_wifi_channel_change_callback = coex_register_wifi_channel_change_callback_wrapper,
|
._coex_register_wifi_channel_change_callback = coex_register_wifi_channel_change_callback_wrapper,
|
||||||
|
._set_isr_l3 = xt_set_interrupt_handler,
|
||||||
|
._interrupt_l3_disable = interrupt_disable,
|
||||||
|
._interrupt_l3_restore = interrupt_restore,
|
||||||
|
._customer_queue_create = NULL,
|
||||||
._magic = OSI_MAGIC_VALUE,
|
._magic = OSI_MAGIC_VALUE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -511,6 +520,11 @@ static void IRAM_ATTR interrupt_restore(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void IRAM_ATTR task_yield(void)
|
||||||
|
{
|
||||||
|
vPortYield();
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR task_yield_from_isr(void)
|
static void IRAM_ATTR task_yield_from_isr(void)
|
||||||
{
|
{
|
||||||
portYIELD_FROM_ISR();
|
portYIELD_FROM_ISR();
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit fb49791b7c1a8a35f06e68124c90022667b4cff1
|
Subproject commit cfbb0571fb424ca4a68a0c172cbff1fdc79fd91b
|
@ -117,6 +117,8 @@ the adv packet will be discarded until the memory is restored. */
|
|||||||
#define BTDM_CTRL_AUTO_LATENCY_EFF false
|
#define BTDM_CTRL_AUTO_LATENCY_EFF false
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define BTDM_CTRL_HLI false
|
||||||
|
|
||||||
#ifdef CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF
|
#ifdef CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF
|
||||||
#define BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF
|
#define BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF CONFIG_BTDM_CTRL_LEGACY_AUTH_VENDOR_EVT_EFF
|
||||||
#else
|
#else
|
||||||
@ -151,6 +153,7 @@ the adv packet will be discarded until the memory is restored. */
|
|||||||
.ble_sca = CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF, \
|
.ble_sca = CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF, \
|
||||||
.pcm_role = CONFIG_BTDM_CTRL_PCM_ROLE_EFF, \
|
.pcm_role = CONFIG_BTDM_CTRL_PCM_ROLE_EFF, \
|
||||||
.pcm_polar = CONFIG_BTDM_CTRL_PCM_POLAR_EFF, \
|
.pcm_polar = CONFIG_BTDM_CTRL_PCM_POLAR_EFF, \
|
||||||
|
.hli = BTDM_CTRL_HLI, \
|
||||||
.magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL, \
|
.magic = ESP_BT_CONTROLLER_CONFIG_MAGIC_VAL, \
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -192,6 +195,7 @@ typedef struct {
|
|||||||
uint8_t ble_sca; /*!< BLE low power crystal accuracy index */
|
uint8_t ble_sca; /*!< BLE low power crystal accuracy index */
|
||||||
uint8_t pcm_role; /*!< PCM role (master & slave)*/
|
uint8_t pcm_role; /*!< PCM role (master & slave)*/
|
||||||
uint8_t pcm_polar; /*!< PCM polar trig (falling clk edge & rising clk edge) */
|
uint8_t pcm_polar; /*!< PCM polar trig (falling clk edge & rising clk edge) */
|
||||||
|
bool hli; /*!< Using high level interrupt or not */
|
||||||
uint32_t magic; /*!< Magic number */
|
uint32_t magic; /*!< Magic number */
|
||||||
} esp_bt_controller_config_t;
|
} esp_bt_controller_config_t;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user