power save: fix some auto beacon issues and add some ps features for esp32c6

This commit is contained in:
wuzhenghui
2023-02-22 20:55:30 +08:00
parent 1a10eabe41
commit 8a69bc4f9e
6 changed files with 18 additions and 18 deletions

View File

@@ -1569,16 +1569,16 @@ pm_set_beacon_filter = 0x40001b90;
pm_is_in_wifi_slice_threshold = 0x40001b94; pm_is_in_wifi_slice_threshold = 0x40001b94;
pm_is_waked = 0x40001b98; pm_is_waked = 0x40001b98;
pm_keep_alive = 0x40001b9c; pm_keep_alive = 0x40001b9c;
pm_on_beacon_rx = 0x40001ba0; /* pm_on_beacon_rx = 0x40001ba0; */
pm_on_data_rx = 0x40001ba4; pm_on_data_rx = 0x40001ba4;
pm_on_tbtt = 0x40001ba8; pm_on_tbtt = 0x40001ba8;
/* pm_parse_beacon = 0x40001bac;*/ /* pm_parse_beacon = 0x40001bac;*/
pm_process_tim = 0x40001bb0; /* pm_process_tim = 0x40001bb0; */
/*pm_rx_beacon_process = 0x40001bb4;*/ /*pm_rx_beacon_process = 0x40001bb4;*/
pm_rx_data_process = 0x40001bb8; /* pm_rx_data_process = 0x40001bb8; */
pm_sleep = 0x40001bbc; pm_sleep = 0x40001bbc;
pm_sleep_for = 0x40001bc0; pm_sleep_for = 0x40001bc0;
pm_tbtt_process = 0x40001bc4; /* pm_tbtt_process = 0x40001bc4; */
ppAMPDU2Normal = 0x40001bc8; ppAMPDU2Normal = 0x40001bc8;
ppAssembleAMPDU = 0x40001bcc; ppAssembleAMPDU = 0x40001bcc;
ppCalFrameTimes = 0x40001bd0; ppCalFrameTimes = 0x40001bd0;
@@ -1734,7 +1734,7 @@ config_get_wifi_task_stack_size = 0x40001e24;
pp_create_task = 0x40001e28; pp_create_task = 0x40001e28;
hal_set_sta_tsf_wakeup = 0x40001e2c; hal_set_sta_tsf_wakeup = 0x40001e2c;
hal_set_rx_beacon_pti = 0x40001e30; hal_set_rx_beacon_pti = 0x40001e30;
pm_start = 0x40001e34; /* pm_start = 0x40001e34; */
pm_stop = 0x40001e38; pm_stop = 0x40001e38;
hal_disable_sta_tbtt = 0x40001e3c; hal_disable_sta_tbtt = 0x40001e3c;
ppCalTxopDur = 0x40001e40; ppCalTxopDur = 0x40001e40;
@@ -1742,7 +1742,7 @@ wDev_IndicateCtrlFrame = 0x40001e44;
hal_enable_sta_tbtt = 0x40001e48; hal_enable_sta_tbtt = 0x40001e48;
hal_set_sta_tbtt = 0x40001e4c; hal_set_sta_tbtt = 0x40001e4c;
/* pm_update_next_tbtt = 0x40001e50;*/ /* pm_update_next_tbtt = 0x40001e50;*/
pm_set_sleep_type = 0x40001e54; /* pm_set_sleep_type = 0x40001e54; */
wDev_Rxbuf_Init = 0x40001e58; wDev_Rxbuf_Init = 0x40001e58;
wDev_Rxbuf_Deinit = 0x40001e5c; wDev_Rxbuf_Deinit = 0x40001e5c;
ppCalTkipMic = 0x40001e60; ppCalTkipMic = 0x40001e60;
@@ -1767,7 +1767,7 @@ rcUpdatePhyMode = 0x40001ea8;
rcGetHighestRateIdx = 0x40001eac; 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;

View File

@@ -1549,9 +1549,9 @@ pm_keep_alive = 0x40001678;
pm_on_data_rx = 0x40001680; pm_on_data_rx = 0x40001680;
pm_on_tbtt = 0x40001684; pm_on_tbtt = 0x40001684;
/* pm_parse_beacon = 0x40001688;*/ /* pm_parse_beacon = 0x40001688;*/
pm_process_tim = 0x4000168c; /* pm_process_tim = 0x4000168c; */
/*pm_rx_beacon_process = 0x40001690;*/ /*pm_rx_beacon_process = 0x40001690;*/
pm_rx_data_process = 0x40001694; /* pm_rx_data_process = 0x40001694; */
/*pm_sleep = 0x40001698;*/ /*pm_sleep = 0x40001698;*/
pm_sleep_for = 0x4000169c; pm_sleep_for = 0x4000169c;
/* pm_tbtt_process = 0x400016a0; */ /* pm_tbtt_process = 0x400016a0; */

View File

@@ -31,7 +31,7 @@ hal_mac_tx_get_blockack = 0x40000bfc;
//hal_mac_tx_set_ppdu = 0x40000c00; //hal_mac_tx_set_ppdu = 0x40000c00;
ic_get_trc = 0x40000c04; ic_get_trc = 0x40000c04;
//ic_mac_deinit = 0x40000c08; //ic_mac_deinit = 0x40000c08;
ic_mac_init = 0x40000c0c; /* ic_mac_init = 0x40000c0c; */
ic_interface_enabled = 0x40000c10; ic_interface_enabled = 0x40000c10;
is_lmac_idle = 0x40000c14; is_lmac_idle = 0x40000c14;
lmacAdjustTimestamp = 0x40000c18; lmacAdjustTimestamp = 0x40000c18;
@@ -57,7 +57,7 @@ mac_tx_set_duration = 0x40000c60;
mac_tx_set_plcp1 = 0x40000c68; mac_tx_set_plcp1 = 0x40000c68;
mac_tx_set_plcp2 = 0x40000c6c; mac_tx_set_plcp2 = 0x40000c6c;
pm_check_state = 0x40000c70; pm_check_state = 0x40000c70;
pm_disable_dream_timer = 0x40000c74; /* pm_disable_dream_timer = 0x40000c74; */
pm_disable_sleep_delay_timer = 0x40000c78; pm_disable_sleep_delay_timer = 0x40000c78;
pm_dream = 0x40000c7c; pm_dream = 0x40000c7c;
pm_mac_wakeup = 0x40000c80; pm_mac_wakeup = 0x40000c80;
@@ -69,13 +69,13 @@ pm_local_tsf_process = 0x40000c90;
pm_is_in_wifi_slice_threshold = 0x40000c98; pm_is_in_wifi_slice_threshold = 0x40000c98;
pm_is_waked = 0x40000c9c; pm_is_waked = 0x40000c9c;
//pm_keep_alive = 0x40000ca0; //pm_keep_alive = 0x40000ca0;
pm_on_beacon_rx = 0x40000ca4; /* pm_on_beacon_rx = 0x40000ca4; */
pm_on_data_rx = 0x40000ca8; pm_on_data_rx = 0x40000ca8;
pm_on_tbtt = 0x40000cac; pm_on_tbtt = 0x40000cac;
pm_parse_beacon = 0x40000cb0; pm_parse_beacon = 0x40000cb0;
//pm_process_tim = 0x40000cb4; //pm_process_tim = 0x40000cb4;
//pm_rx_beacon_process = 0x40000cb8; //pm_rx_beacon_process = 0x40000cb8;
pm_rx_data_process = 0x40000cbc; /* pm_rx_data_process = 0x40000cbc; */
//pm_sleep = 0x40000cc0; //pm_sleep = 0x40000cc0;
pm_sleep_for = 0x40000cc4; pm_sleep_for = 0x40000cc4;
//pm_tbtt_process = 0x40000cc8; //pm_tbtt_process = 0x40000cc8;

View File

@@ -1854,9 +1854,9 @@ pm_keep_alive = 0x400054a8;
pm_on_data_rx = 0x400054c0; pm_on_data_rx = 0x400054c0;
pm_on_tbtt = 0x400054cc; pm_on_tbtt = 0x400054cc;
/* pm_parse_beacon = 0x400054d8;*/ /* pm_parse_beacon = 0x400054d8;*/
pm_process_tim = 0x400054e4; /* pm_process_tim = 0x400054e4; */
/*pm_rx_beacon_process = 0x400054f0;*/ /*pm_rx_beacon_process = 0x400054f0;*/
pm_rx_data_process = 0x400054fc; /* pm_rx_data_process = 0x400054fc; */
/*pm_sleep = 0x40005508;*/ /*pm_sleep = 0x40005508;*/
pm_sleep_for = 0x40005514; pm_sleep_for = 0x40005514;
/* pm_tbtt_process = 0x40005520; */ /* pm_tbtt_process = 0x40005520; */

View File

@@ -142,6 +142,8 @@ 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_process_restart)(void);
int (* _coex_schm_register_cb)(int, int (* cb)(int));
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);
@@ -149,8 +151,6 @@ 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, int (* cb)(int));
int32_t _magic; int32_t _magic;
} wifi_osi_funcs_t; } wifi_osi_funcs_t;