mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feat/reduce_usage_of_iram_when_bt_in_single_mode_v5.1' into 'release/v5.1'
change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode(backport v5.1) See merge request espressif/esp-idf!29305
This commit is contained in:
commit
2d2bfc1962
@ -89,7 +89,7 @@ do{\
|
|||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
|
||||||
#define OSI_VERSION 0x00010004
|
#define OSI_VERSION 0x00010005
|
||||||
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
#define OSI_MAGIC_VALUE 0xFADEBEAD
|
||||||
|
|
||||||
/* Types definition
|
/* Types definition
|
||||||
@ -176,6 +176,7 @@ struct osi_funcs_t {
|
|||||||
void (*_interrupt_l3_restore)(void);
|
void (*_interrupt_l3_restore)(void);
|
||||||
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
|
void *(* _customer_queue_create)(uint32_t queue_len, uint32_t item_size);
|
||||||
int (* _coex_version_get)(unsigned int *major, unsigned int *minor, unsigned int *patch);
|
int (* _coex_version_get)(unsigned int *major, unsigned int *minor, unsigned int *patch);
|
||||||
|
void (* _patch_apply)(void);
|
||||||
uint32_t _magic;
|
uint32_t _magic;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -243,6 +244,10 @@ extern uint32_t _nimble_data_end;
|
|||||||
extern uint32_t _btdm_data_start;
|
extern uint32_t _btdm_data_start;
|
||||||
extern uint32_t _btdm_data_end;
|
extern uint32_t _btdm_data_end;
|
||||||
|
|
||||||
|
extern void config_bt_funcs_reset(void);
|
||||||
|
extern void config_ble_funcs_reset(void);
|
||||||
|
extern void config_btdm_funcs_reset(void);
|
||||||
|
|
||||||
/* Local Function Declare
|
/* Local Function Declare
|
||||||
*********************************************************************
|
*********************************************************************
|
||||||
*/
|
*/
|
||||||
@ -315,6 +320,7 @@ static void *customer_queue_create_hlevel_wrapper(uint32_t queue_len, uint32_t i
|
|||||||
static void interrupt_l3_disable(void);
|
static void interrupt_l3_disable(void);
|
||||||
static void interrupt_l3_restore(void);
|
static void interrupt_l3_restore(void);
|
||||||
static void bt_controller_deinit_internal(void);
|
static void bt_controller_deinit_internal(void);
|
||||||
|
static void patch_apply(void);
|
||||||
|
|
||||||
/* Local variable definition
|
/* Local variable definition
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
@ -402,6 +408,7 @@ static const struct osi_funcs_t osi_funcs_ro = {
|
|||||||
._customer_queue_create = NULL,
|
._customer_queue_create = NULL,
|
||||||
#endif /* CONFIG_BTDM_CTRL_HLI */
|
#endif /* CONFIG_BTDM_CTRL_HLI */
|
||||||
._coex_version_get = coex_version_get_wrapper,
|
._coex_version_get = coex_version_get_wrapper,
|
||||||
|
._patch_apply = patch_apply,
|
||||||
._magic = OSI_MAGIC_VALUE,
|
._magic = OSI_MAGIC_VALUE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1643,6 +1650,18 @@ static void bt_shutdown(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void patch_apply(void)
|
||||||
|
{
|
||||||
|
config_btdm_funcs_reset();
|
||||||
|
|
||||||
|
#ifndef CONFIG_BTDM_CTRL_MODE_BLE_ONLY
|
||||||
|
config_bt_funcs_reset();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY
|
||||||
|
config_ble_funcs_reset();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
esp_err_t esp_bt_controller_enable(esp_bt_mode_t mode)
|
||||||
{
|
{
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit e43c9b121f7fac89b73c56077ede5901f64643cd
|
Subproject commit e42401b2e3535811f2076c5188813273d2fa976d
|
Loading…
Reference in New Issue
Block a user