mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/optimize_coex_connectionless_pwr' into 'master'
feat(coex): optimize connectionless coexist pwr, optimize wifi pwr with BLE IDLE Closes WIFI-6693 and WIFI-6645 See merge request espressif/esp-idf!33437
This commit is contained in:
commit
5a5c004691
@ -28,6 +28,16 @@ typedef enum {
|
||||
COEX_SCHM_CALLBACK_TYPE_I154,
|
||||
} coex_schm_callback_type_t;
|
||||
|
||||
typedef enum {
|
||||
COEX_SCHM_ST_TYPE_WIFI = 0,
|
||||
COEX_SCHM_ST_TYPE_BLE,
|
||||
COEX_SCHM_ST_TYPE_BT,
|
||||
} coex_schm_st_type_t;
|
||||
|
||||
#define COEX_STATUS_GET_WIFI_BITMAP (1 << COEX_SCHM_ST_TYPE_WIFI)
|
||||
#define COEX_STATUS_GET_BLE_BITMAP (1 << COEX_SCHM_ST_TYPE_BLE)
|
||||
#define COEX_STATUS_GET_BT_BITMAP (1 << COEX_SCHM_ST_TYPE_BT)
|
||||
|
||||
typedef void (* coex_func_cb_t)(uint32_t event, int sched_cnt);
|
||||
typedef esp_err_t (* coex_set_lpclk_source_callback_t)(void);
|
||||
typedef void (* coex_wifi_channel_change_cb_t)(uint8_t primary, uint8_t secondary);
|
||||
@ -94,9 +104,11 @@ esp_err_t coex_preference_set(coex_prefer_t prefer);
|
||||
|
||||
/**
|
||||
* @brief Get software coexist status.
|
||||
*
|
||||
* @param bitmap : bitmap of the module getting status.
|
||||
* @return : software coexist status
|
||||
*/
|
||||
uint32_t coex_status_get(void);
|
||||
uint32_t coex_status_get(uint8_t bitmap);
|
||||
|
||||
/**
|
||||
* @brief WiFi requests coexistence.
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit bf7cda7b17a4fd22c123d39748565a68c021e562
|
||||
Subproject commit e15e7a161fc1a48e8fb4fd0b3da74623c30ba1cb
|
@ -1174,8 +1174,8 @@ hal_set_sta_tbtt = 0x40001e4c;
|
||||
pm_set_sleep_type = 0x40001e54;
|
||||
pm_tx_null_data_done_process = 0x40001eb0;
|
||||
//pm_tx_data_process = 0x40001eb4;
|
||||
pm_attach = 0x40001eb8;
|
||||
pm_coex_schm_process = 0x40001ebc;
|
||||
/*pm_attach = 0x40001eb8;*/
|
||||
/*pm_coex_schm_process = 0x40001ebc;*/
|
||||
pm_on_probe_resp_rx = 0x40001ecc;
|
||||
pm_send_probe_stop = 0x40001edc;
|
||||
hal_sniffer_rx_set_promis = 0x40001ef4;
|
||||
|
@ -1903,7 +1903,7 @@ coex_hw_timer_set = 0x4000219c;
|
||||
coex_schm_interval_set = 0x400021a0;
|
||||
coex_schm_lock = 0x400021a4;
|
||||
coex_schm_unlock = 0x400021a8;
|
||||
coex_status_get = 0x400021ac;
|
||||
/*coex_status_get = 0x400021ac;*/
|
||||
coex_wifi_release = 0x400021b0;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x400021b4;
|
||||
/*coex_hw_timer_tick_get = 0x400021b8;*/
|
||||
|
@ -1772,7 +1772,7 @@ coex_hw_timer_set = 0x400018e0;
|
||||
coex_schm_interval_set = 0x400018e4;
|
||||
coex_schm_lock = 0x400018e8;
|
||||
coex_schm_unlock = 0x400018ec;
|
||||
coex_status_get = 0x400018f0;
|
||||
/*coex_status_get = 0x400018f0;*/
|
||||
coex_wifi_release = 0x400018f4;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x400018f8;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
|
@ -35,7 +35,7 @@ coex_hw_timer_set = 0x40000afc;
|
||||
coex_schm_interval_set = 0x40000b00;
|
||||
coex_schm_lock = 0x40000b04;
|
||||
coex_schm_unlock = 0x40000b08;
|
||||
coex_status_get = 0x40000b0c;
|
||||
/*coex_status_get = 0x40000b0c;*/
|
||||
coex_wifi_release = 0x40000b10;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x40000b14;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
|
@ -35,7 +35,7 @@ coex_hw_timer_set = 0x40000b30;
|
||||
coex_schm_interval_set = 0x40000b34;
|
||||
coex_schm_lock = 0x40000b38;
|
||||
coex_schm_unlock = 0x40000b3c;
|
||||
coex_status_get = 0x40000b40;
|
||||
/*coex_status_get = 0x40000b40;*/
|
||||
coex_wifi_release = 0x40000b44;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x40000b48;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
|
@ -35,7 +35,7 @@ coex_hw_timer_set = 0x40000a64;
|
||||
coex_schm_interval_set = 0x40000a68;
|
||||
coex_schm_lock = 0x40000a6c;
|
||||
coex_schm_unlock = 0x40000a70;
|
||||
coex_status_get = 0x40000a74;
|
||||
/*coex_status_get = 0x40000a74;*/
|
||||
coex_wifi_release = 0x40000a78;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x40000a7c;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
|
@ -2058,7 +2058,7 @@ coex_hw_timer_set = 0x40005c04;
|
||||
coex_schm_interval_set = 0x40005c10;
|
||||
coex_schm_lock = 0x40005c1c;
|
||||
coex_schm_unlock = 0x40005c28;
|
||||
coex_status_get = 0x40005c34;
|
||||
/*coex_status_get = 0x40005c34;*/
|
||||
coex_wifi_release = 0x40005c40;
|
||||
esp_coex_ble_conn_dynamic_prio_get = 0x40005c4c;
|
||||
/* Data (.data, .bss, .rodata) */
|
||||
|
@ -452,7 +452,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -389,7 +389,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -406,7 +406,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -464,7 +464,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -395,7 +395,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -464,7 +464,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -443,7 +443,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -460,7 +460,7 @@ static void coex_disable_wrapper(void)
|
||||
static IRAM_ATTR uint32_t coex_status_get_wrapper(void)
|
||||
{
|
||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||
return coex_status_get();
|
||||
return coex_status_get(COEX_STATUS_GET_WIFI_BITMAP);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 473674948f178962fefd7f7b1df7ebc9cc59a98a
|
||||
Subproject commit efa80057b04ade8b1412a0dedcb5572d6ccd1fcc
|
Loading…
Reference in New Issue
Block a user