2017-08-03 17:28:59 +03:00
/**
* Copyright ( c ) 2017 Redpine Signals Inc .
*
* Permission to use , copy , modify , and / or distribute this software for any
* purpose with or without fee is hereby granted , provided that the above
* copyright notice and this permission notice appear in all copies .
*
* THE SOFTWARE IS PROVIDED " AS IS " AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS . IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL , DIRECT , INDIRECT , OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE , DATA OR PROFITS , WHETHER IN AN
* ACTION OF CONTRACT , NEGLIGENCE OR OTHER TORTIOUS ACTION , ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE .
*/
# ifndef __RSI_PS_H__
# define __RSI_PS_H__
# define PS_CONFIRM_INDEX 12
# define RSI_DEF_DS_WAKEUP_PERIOD 200
# define RSI_DEF_LISTEN_INTERVAL 200
# define RSI_SLEEP_TYPE_LP 1
enum ps_state {
PS_NONE = 0 ,
PS_ENABLE_REQ_SENT = 1 ,
PS_DISABLE_REQ_SENT = 2 ,
PS_ENABLED = 3
} ;
struct ps_sleep_params {
u8 enable ;
u8 sleep_type ;
u8 connected_sleep ;
u8 reserved1 ;
__le16 num_bcns_per_lis_int ;
__le16 wakeup_type ;
__le32 sleep_duration ;
} __packed ;
struct rsi_ps_info {
u8 enabled ;
u8 sleep_type ;
u8 tx_threshold ;
u8 rx_threshold ;
u8 tx_hysterisis ;
u8 rx_hysterisis ;
u16 monitor_interval ;
u32 listen_interval ;
u16 num_bcns_per_lis_int ;
u32 dtim_interval_duration ;
u16 num_dtims_per_sleep ;
u32 deep_sleep_wakeup_period ;
} __packed ;
char * str_psstate ( enum ps_state state ) ;
2017-08-30 12:38:26 +03:00
void rsi_enable_ps ( struct rsi_hw * adapter , struct ieee80211_vif * vif ) ;
void rsi_disable_ps ( struct rsi_hw * adapter , struct ieee80211_vif * vif ) ;
2017-08-03 17:28:59 +03:00
int rsi_handle_ps_confirm ( struct rsi_hw * adapter , u8 * msg ) ;
void rsi_default_ps_params ( struct rsi_hw * hw ) ;
2017-08-30 12:38:26 +03:00
void rsi_conf_uapsd ( struct rsi_hw * adapter , struct ieee80211_vif * vif ) ;
2017-08-03 17:28:59 +03:00
# endif