7#ifndef __PLAT_PM_WLAN_H__
8#define __PLAT_PM_WLAN_H__
19#define WLAN_WAKUP_MSG_WAIT_TIMEOUT (1000)
20#define WLAN_SLEEP_MSG_WAIT_TIMEOUT (10000)
21#define WLAN_POWEROFF_ACK_WAIT_TIMEOUT (1000)
22#define WLAN_OPEN_BCPU_WAIT_TIMEOUT (1000)
23#define WLAN_HALT_BCPU_TIMEOUT (1000)
24#define WLAN_SLEEP_TIMER_PERIOD (100)
25#define WLAN_SLEEP_DEFAULT_CHECK_CNT (5)
26#define WLAN_SLEEP_LONG_CHECK_CNT (20)
27#define WLAN_SLEEP_FAST_CHECK_CNT (1)
28#define WLAN_WAKELOCK_HOLD_TIME (500)
30#define WLAN_SDIO_MSG_RETRY_NUM (3)
31#define WLAN_WAKEUP_FAIL_MAX_TIMES (1)
33#define HOST_WAIT_BOTTOM_WIFI_TIMEOUT 20000
34#define HOST_WAIT_BOTTOM_WIFI_TIMEOUT_QUARTERS 5000
36#define WLAN_PM_MODULE "[wlan]"
56#define ALLOW_IDLESLEEP (1)
57#define DISALLOW_IDLESLEEP (0)
59#define WIFI_PM_POWERUP_EVENT (3)
60#define WIFI_PM_POWERDOWN_EVENT (2)
61#define WIFI_PM_SLEEP_EVENT (1)
62#define WIFI_PM_WAKEUP_EVENT (0)
129#if defined(_PRE_OS_VERSION) && defined(_PRE_OS_VERSION_LINUX) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
191#if (defined(_PRE_PRODUCT_ID_HIMPXX_DEV) || defined(_PRE_PRODUCT_ID_HOST))
192extern osal_s32 wlan_device_mem_check_etc(
void);
193extern osal_s32 wlan_device_mem_check_result_etc(
unsigned long long *time);
196#if defined(_PRE_OS_VERSION) && defined(_PRE_OS_VERSION_LINUX) && (_PRE_OS_VERSION_LINUX == _PRE_OS_VERSION)
197osal_s32 wlan_pm_register_notifier(
struct notifier_block *nb);
198osal_void wlan_pm_unregister_notifier(
struct notifier_block *nb);
osal_s32 wlan_power_close_cmd(osal_void)
osal_ulong wlan_pm_state_get_etc(void)
osal_u32 wlan_wcpu_platform_pm_enable(osal_s32 enable)
osal_s32 wlan_open_ex(osal_void)
osal_void pm_ble_suspend_cb_host_register(pm_ble_suspend_cb cb)
osal_s32 pm_wkup_process_host(osal_void)
void wlan_pm_dump_host_info_etc(void)
struct wlan_pm_s * wlan_pm_get_drv_etc(osal_void)
void wlan_pm_dump_device_info_etc(void)
osal_void wlan_pm_wakeup_dev_ack_etc(osal_void)
void(* pm_ble_suspend_cb)(void)
Definition plat_pm_wlan.h:192
osal_u32 wlan_pm_is_poweron_etc(osal_void)
osal_s32 wlan_pm_stop_wdg_etc(struct wlan_pm_s *wlan_pm_info)
osal_void(* wifi_srv_open_notify)(oal_bool_enum_uint8)
Definition plat_pm_wlan.h:91
osal_s32 wlan_pm_poweroff_cmd_etc(osal_void)
osal_u32 wlan_close_ex(osal_void)
void(* pm_wlan_suspend_cb)(void)
Definition plat_pm_wlan.h:190
osal_void pm_wifi_resume_cb_host_register(pm_wlan_resume_cb cb)
osal_void wlan_pm_debug_wakeup_etc(void)
osal_u32 wlan_close(osal_void)
void(* pm_wow_wkup_cb)(void)
Definition plat_pm_wlan.h:189
WLAN_PM_CPU_FREQ_ENUM
Definition plat_pm_wlan.h:57
@ WLCPU_160MHZ
Definition plat_pm_wlan.h:60
@ WLCPU_80MHZ
Definition plat_pm_wlan.h:59
@ WLCPU_320MHZ
Definition plat_pm_wlan.h:62
@ WLCPU_40MHZ
Definition plat_pm_wlan.h:58
@ WLCPU_480MHZ
Definition plat_pm_wlan.h:63
@ WLCPU_240MHZ
Definition plat_pm_wlan.h:61
osal_ulong wlan_pm_wakeup_dev_etc(osal_void)
osal_u32(* pm_wlan_resume_cb)(void)
Definition plat_pm_wlan.h:191
struct wlan_pm_s * wlan_pm_init_etc(osal_void)
osal_void pm_wifi_wkup_cb_host_register(pm_wow_wkup_cb cb)
osal_void wlan_pm_debug_wake_lock_etc(void)
osal_void wlan_pm_debug_wake_unlock_etc(void)
struct wlan_memdump_s wlan_memdump_t
osal_void(* wifi_srv_pm_state_notify)(oal_bool_enum_uint8)
Definition plat_pm_wlan.h:92
osal_ulong wlan_pm_open_bcpu_etc(osal_void)
struct wifi_srv_callback_handler * wlan_pm_get_wifi_srv_handler_etc(osal_void)
osal_s32 wlan_open(osal_void)
osal_u32 wlan_pm_close_etc(osal_void)
oal_bool_enum_uint8(* wifi_srv_get_pm_pause_func)(osal_void)
Definition plat_pm_wlan.h:90
osal_void wlan_pm_feed_wdg_etc(osal_void)
osal_u32 wlan_pm_enable_etc(osal_void)
osal_u32 wlan_pm_disable_etc(osal_void)
void wlan_pm_info_clean_etc(void)
void pm_shutdown_process_host(void)
osal_void pm_ble_resume_cb_host_register(pm_ble_resume_cb cb)
WLAN_PM_SLEEP_STAGE
Definition plat_pm_wlan.h:66
@ SLEEP_ALLOW_RCV
Definition plat_pm_wlan.h:69
@ SLEEP_DISALLOW_RCV
Definition plat_pm_wlan.h:70
@ SLEEP_CMD_SND
Definition plat_pm_wlan.h:71
@ SLEEP_REQ_SND
Definition plat_pm_wlan.h:68
@ SLEEP_STAGE_INIT
Definition plat_pm_wlan.h:67
osal_s32 wlan_pm_open_etc(osal_void)
osal_ulong wlan_pm_exit_etc(osal_void)
osal_void pm_wifi_suspend_cb_host_register(pm_wlan_suspend_cb cb)
osal_void wlan_pm_debug_sleep_etc(void)
osal_s32 wlan_power_open_cmd(osal_void)
osal_s32(* pm_ble_resume_cb)(void)
Definition plat_pm_wlan.h:193
osal_ulong wlan_pm_init_dev_etc(void)
osal_s32 wlan_pm_host_info_print_etc(struct wlan_pm_s *wlan_pm, char *buf, osal_s32 buf_len)
osal_s32 wlan_pm_shutdown_bcpu_cmd_etc(osal_void)
osal_ulong wlan_pm_wakeup_host_etc(void)
wlan_memdump_t * get_wlan_memdump_cfg(void)
osal_u32 wlan_pm_disable_check_wakeup_etc(osal_s32 flag)
osal_u32 wlan_pm_statesave(osal_void)
osal_void(* wifi_srv_pm_state_notify)(oal_bool_enum_uint8)
Definition plat_pm_wlan.h:69
osal_u32 wlan_pm_staterestore(osal_void)
oal_bool_enum_uint8(* wifi_srv_get_pm_pause_func)(osal_void)
Definition plat_pm_wlan.h:67
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned long osal_ulong
Definition osal_types.h:15
Definition oal_schedule.h:35
Definition plat_pm_wlan.h:97
wifi_srv_pm_state_notify p_wifi_srv_pm_state_notify
Definition plat_pm_wlan.h:72
wifi_srv_get_pm_pause_func p_wifi_srv_get_pm_pause_func
Definition plat_pm_wlan.h:98
Definition plat_pm_wlan.h:174
osal_s32 len
Definition plat_pm_wlan.h:176
osal_s32 addr
Definition plat_pm_wlan.h:175
osal_s32 en
Definition plat_pm_wlan.h:177
Definition plat_pm_wlan.h:109
osal_u32 sleep_fail_forbid_cnt
Definition plat_pm_wlan.h:168
struct wifi_srv_callback_handler wifi_srv_handler
Definition plat_pm_wlan.h:140
osal_u32 wdg_timeout_curr_cnt
Definition plat_pm_wlan.h:123
volatile osal_ulong wlan_dev_state
Definition plat_pm_wlan.h:118
osal_u32 wakeup_succ
Definition plat_pm_wlan.h:148
osal_u32 sleep_fail_forbid
Definition plat_pm_wlan.h:167
osal_u32 wakeup_done_callback
Definition plat_pm_wlan.h:151
osal_u32 open_bcpu_done_callback
Definition plat_pm_wlan.h:144
osal_u32 sleep_feed_wdg_cnt
Definition plat_pm_wlan.h:163
osal_u32 wakeup_fail_wait_sdio
Definition plat_pm_wlan.h:153
osal_ulong apmode_allow_pm_flag
Definition plat_pm_wlan.h:83
osal_u32 wakeup_dev_ack
Definition plat_pm_wlan.h:150
osal_u32 wakeup_succ_work_submit
Definition plat_pm_wlan.h:149
osal_u32 sleep_succ
Definition plat_pm_wlan.h:161
osal_u32 close_done_callback
Definition plat_pm_wlan.h:147
osal_u32 wakeup_fail_set_reg
Definition plat_pm_wlan.h:157
osal_ulong wlan_pm_enable
Definition plat_pm_wlan.h:112
osal_u32 close_bcpu_done_callback
Definition plat_pm_wlan.h:145
osal_ulong wlan_power_state
Definition plat_pm_wlan.h:114
osal_u32 packet_cnt
Definition plat_pm_wlan.h:121
osal_u32 sleep_fail_wait_timeout
Definition plat_pm_wlan.h:165
osal_u32 sleep_work_submit
Definition plat_pm_wlan.h:169
osal_ulong wlan_state
Definition plat_pm_wlan.h:115
osal_u32 wakeup_fail_timeout
Definition plat_pm_wlan.h:155
osal_u32 sleep_fail_request
Definition plat_pm_wlan.h:164
osal_u32 close_cnt
Definition plat_pm_wlan.h:146
volatile osal_ulong sleep_stage
Definition plat_pm_wlan.h:124
oal_wakelock_stru deepsleep_wakelock
Definition plat_pm_wlan.h:120
osal_u32 wdg_timeout_cnt
Definition plat_pm_wlan.h:122
osal_u32 wakeup_fail
Definition plat_pm_wlan.h:152
osal_ulong wcpu_platform_pm_enable
Definition plat_pm_wlan.h:113
osal_u32 wakeup_fail_submit_work
Definition plat_pm_wlan.h:158
osal_u32 open_cnt
Definition plat_pm_wlan.h:143
osal_u32 sleep_fail_set_reg
Definition plat_pm_wlan.h:166
osal_u8 g_uc_custom_cali_done_etc