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