xref: /linux/drivers/net/wireless/realtek/rtlwifi/ps.h (revision cbecf716ca618fd44feda6bd9a64a8179d031fc5)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 2009-2012  Realtek Corporation.*/
3 
4 #ifndef __REALTEK_RTL_PCI_PS_H__
5 #define __REALTEK_RTL_PCI_PS_H__
6 
7 #define MAX_SW_LPS_SLEEP_INTV	5
8 
9 bool rtl_ps_enable_nic(struct ieee80211_hw *hw);
10 bool rtl_ps_disable_nic(struct ieee80211_hw *hw);
11 void rtl_ips_nic_off(struct ieee80211_hw *hw);
12 void rtl_ips_nic_on(struct ieee80211_hw *hw);
13 void rtl_ips_nic_off_wq_callback(struct work_struct *work);
14 void rtl_lps_enter(struct ieee80211_hw *hw, bool may_block);
15 void rtl_lps_leave(struct ieee80211_hw *hw, bool may_block);
16 
17 void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode);
18 
19 void rtl_swlps_beacon(struct ieee80211_hw *hw, void *data, unsigned int len);
20 void rtl_swlps_wq_callback(struct work_struct *work);
21 void rtl_swlps_rfon_wq_callback(struct work_struct *work);
22 void rtl_swlps_rf_awake(struct ieee80211_hw *hw);
23 void rtl_swlps_rf_sleep(struct ieee80211_hw *hw);
24 void rtl_p2p_ps_cmd(struct ieee80211_hw *hw , u8 p2p_ps_state);
25 void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len);
26 void rtl_lps_change_work_callback(struct work_struct *work);
27 
28 #endif
29