diff options
author | Raja Mani <rmani@qca.qualcomm.com> | 2012-02-20 08:38:08 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2012-03-07 02:49:47 -0500 |
commit | ce0dc0cfeac9fde9964fa4b07aecd7cc604060e0 (patch) | |
tree | 5ee4c1ee9e079ec9524c10bdb5d4fe2e8316afe1 /drivers/net/wireless/ath/ath6kl/wmi.c | |
parent | 8f46fccd6cd0d7ba70ba1636e59e98ca17dd2239 (diff) |
ath6kl: Set optimal listen intvl,bmiss,scan params while going to wow suspend
* In order to save the target power in WOW suspend state,
configure the best optimal values for the below parameters,
- listen interval.
- beacon miss interval.
- scan parameters.
Default values for above attributes are reverted in
wow resume operation.
* The default listen interval is set before the host issue
connect request.
* New function is added to configure beacon miss count.
kvalo: minor changes to fix open parenthesis alignment
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.c')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/wmi.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c index 0a57dcc6041a..573cb26077a9 100644 --- a/drivers/net/wireless/ath/ath6kl/wmi.c +++ b/drivers/net/wireless/ath/ath6kl/wmi.c | |||
@@ -2027,6 +2027,26 @@ int ath6kl_wmi_listeninterval_cmd(struct wmi *wmi, u8 if_idx, | |||
2027 | return ret; | 2027 | return ret; |
2028 | } | 2028 | } |
2029 | 2029 | ||
2030 | int ath6kl_wmi_bmisstime_cmd(struct wmi *wmi, u8 if_idx, | ||
2031 | u16 bmiss_time, u16 num_beacons) | ||
2032 | { | ||
2033 | struct sk_buff *skb; | ||
2034 | struct wmi_bmiss_time_cmd *cmd; | ||
2035 | int ret; | ||
2036 | |||
2037 | skb = ath6kl_wmi_get_new_buf(sizeof(*cmd)); | ||
2038 | if (!skb) | ||
2039 | return -ENOMEM; | ||
2040 | |||
2041 | cmd = (struct wmi_bmiss_time_cmd *) skb->data; | ||
2042 | cmd->bmiss_time = cpu_to_le16(bmiss_time); | ||
2043 | cmd->num_beacons = cpu_to_le16(num_beacons); | ||
2044 | |||
2045 | ret = ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_BMISS_TIME_CMDID, | ||
2046 | NO_SYNC_WMIFLAG); | ||
2047 | return ret; | ||
2048 | } | ||
2049 | |||
2030 | int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode) | 2050 | int ath6kl_wmi_powermode_cmd(struct wmi *wmi, u8 if_idx, u8 pwr_mode) |
2031 | { | 2051 | { |
2032 | struct sk_buff *skb; | 2052 | struct sk_buff *skb; |