Parcourir la source

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

wuzhenghui il y a 2 ans
Parent
commit
8a69bc4f9e

+ 7 - 7
components/esp_rom/esp32c2/ld/esp32c2.rom.ld

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

+ 2 - 2
components/esp_rom/esp32c3/ld/esp32c3.rom.ld

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

+ 4 - 4
components/esp_rom/esp32c6/ld/esp32c6.rom.pp.ld

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

+ 2 - 2
components/esp_rom/esp32s3/ld/esp32s3.rom.ld

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

+ 2 - 2
components/esp_wifi/include/esp_private/wifi_os_adapter.h

@@ -142,6 +142,8 @@ typedef struct {
     uint32_t (* _coex_schm_interval_get)(void);
     uint8_t (* _coex_schm_curr_period_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));
 #if CONFIG_IDF_TARGET_ESP32C6
     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);
     void (* _sleep_retention_entries_destroy)(int);
 #endif
-    int (* _coex_schm_process_restart)(void);
-    int (* _coex_schm_register_cb)(int, int (* cb)(int));
     int32_t _magic;
 } wifi_osi_funcs_t;
 

+ 1 - 1
components/esp_wifi/lib

@@ -1 +1 @@
-Subproject commit 194ce926518a254714850e9bd4f12469d89867c2
+Subproject commit 302a414d8912740b24708974a04f9075400e7c91