aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVictor Goldenshtein <victorg@ti.com>2012-05-14 06:55:47 -0400
committerLuciano Coelho <coelho@ti.com>2012-06-05 13:24:32 -0400
commite832837bbb91ae8610fa0a0f3d243d42823ec815 (patch)
tree6e92984f6238f45761a1941526adf63e6af875d7 /drivers
parent461b958fd62c62b61d27e0f567128eb2170c0cf2 (diff)
wlcore: don't enable BET for high basic rates
The beacon early termination is not relevant for high basic rates, which doesn't contribute anything to the PS and only adds unnecessary FW work. Enable BET only if the basic rate is less than 9 Mbps. Signed-off-by: Ziv Riesel <zivriesel@ti.com> Signed-off-by: Victor Goldenshtein <victorg@ti.com> Signed-off-by: Igal Chernobelsky <igalc@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ti/wlcore/ps.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/ti/wlcore/ps.c b/drivers/net/wireless/ti/wlcore/ps.c
index 958535dee9f3..47e81b32f7da 100644
--- a/drivers/net/wireless/ti/wlcore/ps.c
+++ b/drivers/net/wireless/ti/wlcore/ps.c
@@ -193,8 +193,12 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
193 193
194 set_bit(WLVIF_FLAG_IN_PS, &wlvif->flags); 194 set_bit(WLVIF_FLAG_IN_PS, &wlvif->flags);
195 195
196 /* enable beacon early termination. Not relevant for 5GHz */ 196 /*
197 if (wlvif->band == IEEE80211_BAND_2GHZ) { 197 * enable beacon early termination.
198 * Not relevant for 5GHz and for high rates.
199 */
200 if ((wlvif->band == IEEE80211_BAND_2GHZ) &&
201 (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) {
198 ret = wl1271_acx_bet_enable(wl, wlvif, true); 202 ret = wl1271_acx_bet_enable(wl, wlvif, true);
199 if (ret < 0) 203 if (ret < 0)
200 return ret; 204 return ret;
@@ -204,7 +208,8 @@ int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
204 wl1271_debug(DEBUG_PSM, "leaving psm"); 208 wl1271_debug(DEBUG_PSM, "leaving psm");
205 209
206 /* disable beacon early termination */ 210 /* disable beacon early termination */
207 if (wlvif->band == IEEE80211_BAND_2GHZ) { 211 if ((wlvif->band == IEEE80211_BAND_2GHZ) &&
212 (wlvif->basic_rate < CONF_HW_BIT_RATE_9MBPS)) {
208 ret = wl1271_acx_bet_enable(wl, wlvif, false); 213 ret = wl1271_acx_bet_enable(wl, wlvif, false);
209 if (ret < 0) 214 if (ret < 0)
210 return ret; 215 return ret;