summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bondar <alexander.bondar@intel.com>2013-05-21 14:49:09 +0300
committerJohannes Berg <johannes.berg@intel.com>2013-05-29 09:03:23 +0200
commit1bd2d1755054c0cc13e2dc7766f2f2ead7d15444 (patch)
treea3b2d0697cff347ff0fd79afecd2c7daec4d2ef6
parent9ee718aa9269cf56040cf12f0f6ac6e0057397b2 (diff)
downloadlinux-stable-1bd2d1755054c0cc13e2dc7766f2f2ead7d15444.tar.gz
linux-stable-1bd2d1755054c0cc13e2dc7766f2f2ead7d15444.tar.bz2
linux-stable-1bd2d1755054c0cc13e2dc7766f2f2ead7d15444.zip
iwlwifi: mvm: Change number of DTIMs to skip semantics
If skip over DTIMs is enabled the driver can specify number of DTIMs to skip. This parameter in host-device API implies number of DTIM periods to skip. For example, to skip one DTIM means sleep over two DTIM periods. Change semantics accordingly. Change this parameter's default value. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw-api-power.h6
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/power.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
index b6bdfd36bebe..d8e19290b0f3 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
@@ -101,7 +101,9 @@ enum iwl_power_flags {
* @tx_data_timeout: Minimum time (usec) from last Tx packet for AM to
* PSM transition - legacy PM
* @sleep_interval: not in use
- * @num_skip_dtim: Number of DTIMs to skip if Skip over DTIM flag is set
+ * @skip_dtim_periods: Number of DTIM periods to skip if Skip over DTIM flag
+ * is set. For example, if it is required to skip over
+ * one DTIM, this value need to be set to 2 (DTIM periods).
* @lprx_rssi_threshold: Signal strength up to which LP RX can be enabled.
* Default: 80dbm
*/
@@ -113,7 +115,7 @@ struct iwl_powertable_cmd {
__le32 rx_data_timeout;
__le32 tx_data_timeout;
__le32 sleep_interval[IWL_POWER_VEC_SIZE];
- __le32 num_skip_dtim;
+ __le32 skip_dtim_periods;
__le32 lprx_rssi_threshold;
} __packed;
diff --git a/drivers/net/wireless/iwlwifi/mvm/power.c b/drivers/net/wireless/iwlwifi/mvm/power.c
index c818d6d6aee6..516e64e7706f 100644
--- a/drivers/net/wireless/iwlwifi/mvm/power.c
+++ b/drivers/net/wireless/iwlwifi/mvm/power.c
@@ -139,8 +139,8 @@ static void iwl_mvm_power_log(struct iwl_mvm *mvm,
IWL_DEBUG_POWER(mvm, "LP RX RSSI threshold = %u\n",
cmd->lprx_rssi_threshold);
if (cmd->flags & cpu_to_le16(POWER_FLAGS_SKIP_OVER_DTIM_MSK))
- IWL_DEBUG_POWER(mvm, "DTIMs to skip = %u\n",
- le32_to_cpu(cmd->num_skip_dtim));
+ IWL_DEBUG_POWER(mvm, "DTIM periods to skip = %u\n",
+ le32_to_cpu(cmd->skip_dtim_periods));
}
}
@@ -188,7 +188,7 @@ void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
(iwlmvm_mod_params.power_scheme == IWL_POWER_SCHEME_LP ||
mvm->cur_ucode == IWL_UCODE_WOWLAN)) {
cmd->flags |= cpu_to_le16(POWER_FLAGS_SKIP_OVER_DTIM_MSK);
- cmd->num_skip_dtim = cpu_to_le32(2);
+ cmd->skip_dtim_periods = cpu_to_le32(3);
}
/* Check that keep alive period is at least 3 * DTIM */