aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/ps.c
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-02-28 00:41:28 +0200
committerLuciano Coelho <coelho@ti.com>2012-02-28 13:19:19 +0200
commit5af70c864a1539bd1d3f3fcb04ab9558491c9103 (patch)
treee333542ad9b0644e7819375628eefb12fa7f2f20 /drivers/net/wireless/wl12xx/ps.c
parentrt2800pci: Fix 'Error - MCU request failed' during initialization (diff)
downloadlinux-dev-5af70c864a1539bd1d3f3fcb04ab9558491c9103.tar.xz
linux-dev-5af70c864a1539bd1d3f3fcb04ab9558491c9103.zip
wl12xx: set the ELP entry delay to the FW dyn-ps timeout
With PSM handled in FW, the checks in wl1271_elp_work() are always true. Thus during active traffic we constantly enter and exit ELP (many times per second). As each ELP exit takes ~10ms, this can have an adverse effect on throughput and interactivity. Set the ELP timeout to the dyn-ps timeout. This period is longer and avoids the above problem. It also makes sense to stay out of ELP while we are awake on the network, to minimize delays in Tx/Rx. The same thing was done by the mac80211 dynamic-ps mechanism before the FW DPS changes. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to '')
-rw-r--r--drivers/net/wireless/wl12xx/ps.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/wireless/wl12xx/ps.c b/drivers/net/wireless/wl12xx/ps.c
index 23d67501c50a..78f598b4f97b 100644
--- a/drivers/net/wireless/wl12xx/ps.c
+++ b/drivers/net/wireless/wl12xx/ps.c
@@ -69,8 +69,6 @@ out:
mutex_unlock(&wl->mutex);
}
-#define ELP_ENTRY_DELAY 5
-
/* Routines to toggle sleep mode while in ELP */
void wl1271_ps_elp_sleep(struct wl1271 *wl)
{
@@ -90,7 +88,7 @@ void wl1271_ps_elp_sleep(struct wl1271 *wl)
}
ieee80211_queue_delayed_work(wl->hw, &wl->elp_work,
- msecs_to_jiffies(ELP_ENTRY_DELAY));
+ msecs_to_jiffies(wl->conf.conn.dynamic_ps_timeout));
}
int wl1271_ps_elp_wakeup(struct wl1271 *wl)