ps.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2009-2012 Realtek Corporation.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * The full GNU General Public License is included in this distribution in the
  15. * file called LICENSE.
  16. *
  17. * Contact Information:
  18. * wlanfae <wlanfae@realtek.com>
  19. * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  20. * Hsinchu 300, Taiwan.
  21. *
  22. * Larry Finger <Larry.Finger@lwfinger.net>
  23. *
  24. *****************************************************************************/
  25. #ifndef __REALTEK_RTL_PCI_PS_H__
  26. #define __REALTEK_RTL_PCI_PS_H__
  27. #define MAX_SW_LPS_SLEEP_INTV 5
  28. bool rtl_ps_set_rf_state(struct ieee80211_hw *hw,
  29. enum rf_pwrstate state_toset, u32 changesource,
  30. bool protect_or_not);
  31. bool rtl_ps_enable_nic(struct ieee80211_hw *hw);
  32. bool rtl_ps_disable_nic(struct ieee80211_hw *hw);
  33. void rtl_ips_nic_off(struct ieee80211_hw *hw);
  34. void rtl_ips_nic_on(struct ieee80211_hw *hw);
  35. void rtl_ips_nic_off_wq_callback(void *data);
  36. void rtl_lps_enter(struct ieee80211_hw *hw);
  37. void rtl_lps_leave(struct ieee80211_hw *hw);
  38. void rtl_lps_set_psmode(struct ieee80211_hw *hw, u8 rt_psmode);
  39. void rtl_swlps_beacon(struct ieee80211_hw *hw, void *data, unsigned int len);
  40. void rtl_swlps_wq_callback(void *data);
  41. void rtl_swlps_rfon_wq_callback(void *data);
  42. void rtl_swlps_rf_awake(struct ieee80211_hw *hw);
  43. void rtl_swlps_rf_sleep(struct ieee80211_hw *hw);
  44. void rtl_p2p_ps_cmd(struct ieee80211_hw *hw , u8 p2p_ps_state);
  45. void rtl_p2p_info(struct ieee80211_hw *hw, void *data, unsigned int len);
  46. void rtl_lps_change_work_callback(struct work_struct *work);
  47. #endif