mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
esp_wifi: support adapter of all chips for new coex lib
This commit is contained in:
parent
e8b38e141d
commit
103772df94
@ -224,7 +224,7 @@ extern int coex_bt_release(uint32_t event);
|
|||||||
extern int coex_register_bt_cb(coex_func_cb_t cb);
|
extern int coex_register_bt_cb(coex_func_cb_t cb);
|
||||||
extern uint32_t coex_bb_reset_lock(void);
|
extern uint32_t coex_bb_reset_lock(void);
|
||||||
extern void coex_bb_reset_unlock(uint32_t restore);
|
extern void coex_bb_reset_unlock(uint32_t restore);
|
||||||
extern int coex_schm_register_btdm_callback(void *callback);
|
extern int coex_schm_register_callback(int type, void *callback);
|
||||||
extern void coex_schm_status_bit_clear(uint32_t type, uint32_t status);
|
extern void coex_schm_status_bit_clear(uint32_t type, uint32_t status);
|
||||||
extern void coex_schm_status_bit_set(uint32_t type, uint32_t status);
|
extern void coex_schm_status_bit_set(uint32_t type, uint32_t status);
|
||||||
extern uint32_t coex_schm_interval_get(void);
|
extern uint32_t coex_schm_interval_get(void);
|
||||||
@ -1165,7 +1165,8 @@ static void IRAM_ATTR coex_bb_reset_unlock_wrapper(uint32_t restore)
|
|||||||
static int coex_schm_register_btdm_callback_wrapper(void *callback)
|
static int coex_schm_register_btdm_callback_wrapper(void *callback)
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
return coex_schm_register_btdm_callback(callback);
|
#define COEX_SCHM_CALLBACK_TYPE_BT 0x1
|
||||||
|
return coex_schm_register_callback(COEX_SCHM_CALLBACK_TYPE_BT, callback);
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1768,7 +1768,7 @@ rcGetHighestRateIdx = 0x40001eac;
|
|||||||
pm_tx_null_data_done_process = 0x40001eb0;
|
pm_tx_null_data_done_process = 0x40001eb0;
|
||||||
pm_tx_data_process = 0x40001eb4;
|
pm_tx_data_process = 0x40001eb4;
|
||||||
pm_attach = 0x40001eb8;
|
pm_attach = 0x40001eb8;
|
||||||
pm_coex_schm_process = 0x40001ebc;
|
/* pm_coex_schm_process = 0x40001ebc; */
|
||||||
ppInitTxq = 0x40001ec0;
|
ppInitTxq = 0x40001ec0;
|
||||||
pp_attach = 0x40001ec4;
|
pp_attach = 0x40001ec4;
|
||||||
pp_deattach = 0x40001ec8;
|
pp_deattach = 0x40001ec8;
|
||||||
@ -1948,12 +1948,12 @@ ieee80211_sta_is_connected = 0x40002080;
|
|||||||
current_task_is_wifi_task = 0x40002084;
|
current_task_is_wifi_task = 0x40002084;
|
||||||
wifi_get_init_state = 0x40002088;
|
wifi_get_init_state = 0x40002088;
|
||||||
ieee80211_timer_process = 0x4000208c;
|
ieee80211_timer_process = 0x4000208c;
|
||||||
cnx_coexist_timeout = 0x40002090;
|
/* cnx_coexist_timeout = 0x40002090; */
|
||||||
/* sta_recv_mgmt = 0x40002094;*/
|
/* sta_recv_mgmt = 0x40002094;*/
|
||||||
ieee80211_send_setup = 0x40002098;
|
ieee80211_send_setup = 0x40002098;
|
||||||
ieee80211_send_probereq = 0x4000209c;
|
ieee80211_send_probereq = 0x4000209c;
|
||||||
sta_auth_shared = 0x400020a4;
|
sta_auth_shared = 0x400020a4;
|
||||||
cnx_coexist_timeout_process = 0x400020ac;
|
/* cnx_coexist_timeout_process = 0x400020ac; */
|
||||||
ieee80211_alloc_challenge = 0x400020b0;
|
ieee80211_alloc_challenge = 0x400020b0;
|
||||||
cnx_assoc_timeout = 0x400020b4;
|
cnx_assoc_timeout = 0x400020b4;
|
||||||
ieee80211_vnd_ie_set = 0x400020b8;
|
ieee80211_vnd_ie_set = 0x400020b8;
|
||||||
|
@ -693,24 +693,6 @@ static void * coex_schm_curr_phase_get_wrapper(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_set_wrapper(int idx)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_set(idx);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_get_wrapper(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_get();
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
@ -720,6 +702,24 @@ static int coex_register_start_cb_wrapper(int (* cb)(void))
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int coex_schm_process_restart_wrapper(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_process_restart();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int coex_schm_register_cb_wrapper(int type, void(*cb)(int))
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_register_callback(type, cb);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR esp_empty_wrapper(void)
|
static void IRAM_ATTR esp_empty_wrapper(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -845,9 +845,9 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
||||||
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_schm_curr_phase_idx_set = coex_schm_curr_phase_idx_set_wrapper,
|
|
||||||
._coex_schm_curr_phase_idx_get = coex_schm_curr_phase_idx_get_wrapper,
|
|
||||||
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
||||||
|
._coex_schm_process_restart = coex_schm_process_restart_wrapper,
|
||||||
|
._coex_schm_register_cb = coex_schm_register_cb_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -867,10 +867,10 @@ coex_adapter_funcs_t g_coex_adapter_funcs = {
|
|||||||
._is_in_isr = coex_is_in_isr_wrapper,
|
._is_in_isr = coex_is_in_isr_wrapper,
|
||||||
._malloc_internal = malloc_internal_wrapper,
|
._malloc_internal = malloc_internal_wrapper,
|
||||||
._free = free,
|
._free = free,
|
||||||
|
._esp_timer_get_time = esp_timer_get_time,
|
||||||
._timer_disarm = timer_disarm_wrapper,
|
._timer_disarm = timer_disarm_wrapper,
|
||||||
._timer_done = timer_done_wrapper,
|
._timer_done = timer_done_wrapper,
|
||||||
._timer_setfn = timer_setfn_wrapper,
|
._timer_setfn = timer_setfn_wrapper,
|
||||||
._timer_arm_us = timer_arm_us_wrapper,
|
._timer_arm_us = timer_arm_us_wrapper,
|
||||||
._esp_timer_get_time = esp_timer_get_time,
|
|
||||||
._magic = COEX_ADAPTER_MAGIC,
|
._magic = COEX_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
@ -619,24 +619,6 @@ static void * coex_schm_curr_phase_get_wrapper(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_set_wrapper(int idx)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_set(idx);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_get_wrapper(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_get();
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||||
@ -646,6 +628,24 @@ static int coex_register_start_cb_wrapper(int (* cb)(void))
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int coex_schm_process_restart_wrapper(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_process_restart();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int coex_schm_register_cb_wrapper(int type, void(*cb)(int))
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_register_callback(type, cb);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR esp_empty_wrapper(void)
|
static void IRAM_ATTR esp_empty_wrapper(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -765,9 +765,9 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
||||||
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_schm_curr_phase_idx_set = coex_schm_curr_phase_idx_set_wrapper,
|
|
||||||
._coex_schm_curr_phase_idx_get = coex_schm_curr_phase_idx_get_wrapper,
|
|
||||||
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
||||||
|
._coex_schm_process_restart = coex_schm_process_restart_wrapper,
|
||||||
|
._coex_schm_register_cb = coex_schm_register_cb_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -786,5 +786,9 @@ coex_adapter_funcs_t g_coex_adapter_funcs = {
|
|||||||
._esp_timer_get_time = esp_timer_get_time,
|
._esp_timer_get_time = esp_timer_get_time,
|
||||||
._env_is_chip = env_is_chip_wrapper,
|
._env_is_chip = env_is_chip_wrapper,
|
||||||
._slowclk_cal_get = esp_clk_slowclk_cal_get_wrapper,
|
._slowclk_cal_get = esp_clk_slowclk_cal_get_wrapper,
|
||||||
|
._timer_disarm = timer_disarm_wrapper,
|
||||||
|
._timer_done = timer_done_wrapper,
|
||||||
|
._timer_setfn = timer_setfn_wrapper,
|
||||||
|
._timer_arm_us = timer_arm_us_wrapper,
|
||||||
._magic = COEX_ADAPTER_MAGIC,
|
._magic = COEX_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
@ -627,24 +627,6 @@ static void * coex_schm_curr_phase_get_wrapper(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_set_wrapper(int idx)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_set(idx);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_get_wrapper(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_get();
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
@ -654,6 +636,24 @@ static int coex_register_start_cb_wrapper(int (* cb)(void))
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int coex_schm_process_restart_wrapper(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_process_restart();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int coex_schm_register_cb_wrapper(int type, void(*cb)(int))
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_register_callback(type, cb);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR esp_empty_wrapper(void)
|
static void IRAM_ATTR esp_empty_wrapper(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -773,9 +773,9 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
||||||
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_schm_curr_phase_idx_set = coex_schm_curr_phase_idx_set_wrapper,
|
|
||||||
._coex_schm_curr_phase_idx_get = coex_schm_curr_phase_idx_get_wrapper,
|
|
||||||
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
||||||
|
._coex_schm_process_restart = coex_schm_process_restart_wrapper,
|
||||||
|
._coex_schm_register_cb = coex_schm_register_cb_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -792,5 +792,9 @@ coex_adapter_funcs_t g_coex_adapter_funcs = {
|
|||||||
._malloc_internal = malloc_internal_wrapper,
|
._malloc_internal = malloc_internal_wrapper,
|
||||||
._free = free,
|
._free = free,
|
||||||
._esp_timer_get_time = esp_timer_get_time,
|
._esp_timer_get_time = esp_timer_get_time,
|
||||||
|
._timer_disarm = timer_disarm_wrapper,
|
||||||
|
._timer_done = timer_done_wrapper,
|
||||||
|
._timer_setfn = timer_setfn_wrapper,
|
||||||
|
._timer_arm_us = timer_arm_us_wrapper,
|
||||||
._magic = COEX_ADAPTER_MAGIC,
|
._magic = COEX_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
@ -694,24 +694,6 @@ static void * coex_schm_curr_phase_get_wrapper(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_set_wrapper(int idx)
|
|
||||||
{
|
|
||||||
#if CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_set(idx);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_get_wrapper(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_get();
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
@ -721,6 +703,24 @@ static int coex_register_start_cb_wrapper(int (* cb)(void))
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int coex_schm_process_restart_wrapper(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_process_restart();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int coex_schm_register_cb_wrapper(int type, void(*cb)(int))
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_register_callback(type, cb);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR esp_empty_wrapper(void)
|
static void IRAM_ATTR esp_empty_wrapper(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -847,9 +847,10 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
||||||
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_schm_curr_phase_idx_set = coex_schm_curr_phase_idx_set_wrapper,
|
|
||||||
._coex_schm_curr_phase_idx_get = coex_schm_curr_phase_idx_get_wrapper,
|
|
||||||
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
||||||
|
._coex_schm_process_restart = coex_schm_process_restart_wrapper,
|
||||||
|
._coex_schm_register_cb = coex_schm_register_cb_wrapper,
|
||||||
|
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -866,5 +867,9 @@ coex_adapter_funcs_t g_coex_adapter_funcs = {
|
|||||||
._malloc_internal = malloc_internal_wrapper,
|
._malloc_internal = malloc_internal_wrapper,
|
||||||
._free = free,
|
._free = free,
|
||||||
._esp_timer_get_time = esp_timer_get_time,
|
._esp_timer_get_time = esp_timer_get_time,
|
||||||
|
._timer_disarm = timer_disarm_wrapper,
|
||||||
|
._timer_done = timer_done_wrapper,
|
||||||
|
._timer_setfn = timer_setfn_wrapper,
|
||||||
|
._timer_arm_us = timer_arm_us_wrapper,
|
||||||
._magic = COEX_ADAPTER_MAGIC,
|
._magic = COEX_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
@ -716,24 +716,6 @@ static void * coex_schm_curr_phase_get_wrapper(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_set_wrapper(int idx)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_set(idx);
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_schm_curr_phase_idx_get_wrapper(void)
|
|
||||||
{
|
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
|
||||||
return coex_schm_curr_phase_idx_get();
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
static int coex_register_start_cb_wrapper(int (* cb)(void))
|
||||||
{
|
{
|
||||||
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
#if CONFIG_SW_COEXIST_ENABLE || CONFIG_EXTERNAL_COEX_ENABLE
|
||||||
@ -743,6 +725,24 @@ static int coex_register_start_cb_wrapper(int (* cb)(void))
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int coex_schm_process_restart_wrapper(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_process_restart();
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static int coex_schm_register_cb_wrapper(int type, void(*cb)(int))
|
||||||
|
{
|
||||||
|
#if CONFIG_SW_COEXIST_ENABLE
|
||||||
|
return coex_schm_register_callback(type, cb);
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void IRAM_ATTR esp_empty_wrapper(void)
|
static void IRAM_ATTR esp_empty_wrapper(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -867,9 +867,9 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
|||||||
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
|
||||||
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
|
||||||
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
|
||||||
._coex_schm_curr_phase_idx_set = coex_schm_curr_phase_idx_set_wrapper,
|
|
||||||
._coex_schm_curr_phase_idx_get = coex_schm_curr_phase_idx_get_wrapper,
|
|
||||||
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
._coex_register_start_cb = coex_register_start_cb_wrapper,
|
||||||
|
._coex_schm_process_restart = coex_schm_process_restart_wrapper,
|
||||||
|
._coex_schm_register_cb = coex_schm_register_cb_wrapper,
|
||||||
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
._magic = ESP_WIFI_OS_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -886,5 +886,9 @@ coex_adapter_funcs_t g_coex_adapter_funcs = {
|
|||||||
._malloc_internal = malloc_internal_wrapper,
|
._malloc_internal = malloc_internal_wrapper,
|
||||||
._free = free,
|
._free = free,
|
||||||
._esp_timer_get_time = esp_timer_get_time,
|
._esp_timer_get_time = esp_timer_get_time,
|
||||||
|
._timer_disarm = timer_disarm_wrapper,
|
||||||
|
._timer_done = timer_done_wrapper,
|
||||||
|
._timer_setfn = timer_setfn_wrapper,
|
||||||
|
._timer_arm_us = timer_arm_us_wrapper,
|
||||||
._magic = COEX_ADAPTER_MAGIC,
|
._magic = COEX_ADAPTER_MAGIC,
|
||||||
};
|
};
|
||||||
|
@ -36,15 +36,13 @@ typedef struct {
|
|||||||
int (* _is_in_isr)(void);
|
int (* _is_in_isr)(void);
|
||||||
void * (* _malloc_internal)(size_t size);
|
void * (* _malloc_internal)(size_t size);
|
||||||
void (* _free)(void *p);
|
void (* _free)(void *p);
|
||||||
#if CONFIG_IDF_TARGET_ESP32
|
int64_t (* _esp_timer_get_time)(void);
|
||||||
|
bool (* _env_is_chip)(void);
|
||||||
|
uint32_t (* _slowclk_cal_get)(void);
|
||||||
void (* _timer_disarm)(void *timer);
|
void (* _timer_disarm)(void *timer);
|
||||||
void (* _timer_done)(void *ptimer);
|
void (* _timer_done)(void *ptimer);
|
||||||
void (* _timer_setfn)(void *ptimer, void *pfunction, void *parg);
|
void (* _timer_setfn)(void *ptimer, void *pfunction, void *parg);
|
||||||
void (* _timer_arm_us)(void *ptimer, uint32_t us, bool repeat);
|
void (* _timer_arm_us)(void *ptimer, uint32_t us, bool repeat);
|
||||||
#endif
|
|
||||||
int64_t (* _esp_timer_get_time)(void);
|
|
||||||
bool (* _env_is_chip)(void);
|
|
||||||
uint32_t (* _slowclk_cal_get)(void);
|
|
||||||
int32_t _magic;
|
int32_t _magic;
|
||||||
} coex_adapter_funcs_t;
|
} coex_adapter_funcs_t;
|
||||||
|
|
||||||
|
@ -216,6 +216,22 @@ int coex_schm_curr_phase_idx_get(void);
|
|||||||
*/
|
*/
|
||||||
int coex_register_start_cb(int (* cb)(void));
|
int coex_register_start_cb(int (* cb)(void));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Restart current coexistence scheme.
|
||||||
|
*
|
||||||
|
* @return : 0 - success, other - failed
|
||||||
|
*/
|
||||||
|
int coex_schm_process_restart(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Register callback for coexistence scheme.
|
||||||
|
*
|
||||||
|
* @param type : callback type
|
||||||
|
* @param callback : callback
|
||||||
|
* @return : 0 - success, other - failed
|
||||||
|
*/
|
||||||
|
int coex_schm_register_callback(int type, void *callback);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Register coexistence adapter functions.
|
* @brief Register coexistence adapter functions.
|
||||||
*
|
*
|
||||||
|
@ -142,8 +142,6 @@ typedef struct {
|
|||||||
uint32_t (* _coex_schm_interval_get)(void);
|
uint32_t (* _coex_schm_interval_get)(void);
|
||||||
uint8_t (* _coex_schm_curr_period_get)(void);
|
uint8_t (* _coex_schm_curr_period_get)(void);
|
||||||
void * (* _coex_schm_curr_phase_get)(void);
|
void * (* _coex_schm_curr_phase_get)(void);
|
||||||
int (* _coex_schm_curr_phase_idx_set)(int idx);
|
|
||||||
int (* _coex_schm_curr_phase_idx_get)(void);
|
|
||||||
int (* _coex_register_start_cb)(int (* cb)(void));
|
int (* _coex_register_start_cb)(int (* cb)(void));
|
||||||
#if CONFIG_IDF_TARGET_ESP32C6
|
#if CONFIG_IDF_TARGET_ESP32C6
|
||||||
void (* _regdma_link_set_write_wait_content)(void *, uint32_t, uint32_t);
|
void (* _regdma_link_set_write_wait_content)(void *, uint32_t, uint32_t);
|
||||||
@ -151,6 +149,8 @@ typedef struct {
|
|||||||
int (* _sleep_retention_entries_create)(const void *, int, int, int);
|
int (* _sleep_retention_entries_create)(const void *, int, int, int);
|
||||||
void (* _sleep_retention_entries_destroy)(int);
|
void (* _sleep_retention_entries_destroy)(int);
|
||||||
#endif
|
#endif
|
||||||
|
int (* _coex_schm_process_restart)(void);
|
||||||
|
int (* _coex_schm_register_cb)(int, void (* cb)(int));
|
||||||
int32_t _magic;
|
int32_t _magic;
|
||||||
} wifi_osi_funcs_t;
|
} wifi_osi_funcs_t;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user