aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-power.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-09-25 14:24:27 -0700
committerJohn W. Linville <linville@tuxdriver.com>2009-10-07 16:39:36 -0400
commit78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27 (patch)
tree50ad00e040b791711926b43d5da466bfa71a0bbe /drivers/net/wireless/iwlwifi/iwl-power.c
parentd8c07e7a84950b5fdef424c6dabe6bed3a9ffa19 (diff)
downloadkernel_samsung_espresso10-78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27.zip
kernel_samsung_espresso10-78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27.tar.gz
kernel_samsung_espresso10-78f5fb7fc6c2c668a12fd6892c18baa20e4ffd27.tar.bz2
iwlwifi: support idle for 6000 series hw
Using powersave while idle saves a lot of power, but we've had problems with this on some cards (5150 has been reported to be problematic). However, on the new 6000 series we're seeing no problems, so for now let that hardware benefit from idle mode, we can look at the problems with other hardware one by one and then enable those once we figure out the problems. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-power.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-power.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c b/drivers/net/wireless/iwlwifi/iwl-power.c
index 60be976..e50d77b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-power.c
+++ b/drivers/net/wireless/iwlwifi/iwl-power.c
@@ -294,6 +294,9 @@ int iwl_power_update_mode(struct iwl_priv *priv, bool force)
if (priv->cfg->broken_powersave)
iwl_power_sleep_cam_cmd(priv, &cmd);
+ else if (priv->cfg->supports_idle &&
+ priv->hw->conf.flags & IEEE80211_CONF_IDLE)
+ iwl_static_sleep_cmd(priv, &cmd, IWL_POWER_INDEX_5, 20);
else if (tt->state >= IWL_TI_1)
iwl_static_sleep_cmd(priv, &cmd, tt->tt_power_mode, dtimper);
else if (!enabled)