diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-11-23 13:58:54 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-24 16:19:37 -0500 |
commit | e366176e5c7f37d2d4cd0708e63b939e3fa3b5c6 (patch) | |
tree | aa4863dc9e96d6590710d03d4a09c6c11d421af2 /drivers/net/wireless/iwlwifi/iwl-power.c | |
parent | 97badb0eefc9b6f23f864c5348b695be35f05882 (diff) |
iwlwifi: consider BT for power management
Check the BT PSPoll flag when fill PM command to uCode
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@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.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c b/drivers/net/wireless/iwlwifi/iwl-power.c index b7abd86676fd..306c852b1578 100644 --- a/drivers/net/wireless/iwlwifi/iwl-power.c +++ b/drivers/net/wireless/iwlwifi/iwl-power.c | |||
@@ -163,6 +163,15 @@ static void iwl_static_sleep_cmd(struct iwl_priv *priv, | |||
163 | else | 163 | else |
164 | cmd->flags &= ~IWL_POWER_SLEEP_OVER_DTIM_MSK; | 164 | cmd->flags &= ~IWL_POWER_SLEEP_OVER_DTIM_MSK; |
165 | 165 | ||
166 | if (priv->cfg->bt_params && | ||
167 | priv->cfg->bt_params->advanced_bt_coexist) { | ||
168 | if (!priv->cfg->bt_params->bt_sco_disable) | ||
169 | cmd->flags |= IWL_POWER_BT_SCO_ENA; | ||
170 | else | ||
171 | cmd->flags &= ~IWL_POWER_BT_SCO_ENA; | ||
172 | } | ||
173 | |||
174 | |||
166 | slp_itrvl = le32_to_cpu(cmd->sleep_interval[IWL_POWER_VEC_SIZE - 1]); | 175 | slp_itrvl = le32_to_cpu(cmd->sleep_interval[IWL_POWER_VEC_SIZE - 1]); |
167 | if (slp_itrvl > IWL_CONN_MAX_LISTEN_INTERVAL) | 176 | if (slp_itrvl > IWL_CONN_MAX_LISTEN_INTERVAL) |
168 | cmd->sleep_interval[IWL_POWER_VEC_SIZE - 1] = | 177 | cmd->sleep_interval[IWL_POWER_VEC_SIZE - 1] = |
@@ -236,6 +245,14 @@ static void iwl_power_fill_sleep_cmd(struct iwl_priv *priv, | |||
236 | if (priv->power_data.pci_pm) | 245 | if (priv->power_data.pci_pm) |
237 | cmd->flags |= IWL_POWER_PCI_PM_MSK; | 246 | cmd->flags |= IWL_POWER_PCI_PM_MSK; |
238 | 247 | ||
248 | if (priv->cfg->bt_params && | ||
249 | priv->cfg->bt_params->advanced_bt_coexist) { | ||
250 | if (!priv->cfg->bt_params->bt_sco_disable) | ||
251 | cmd->flags |= IWL_POWER_BT_SCO_ENA; | ||
252 | else | ||
253 | cmd->flags &= ~IWL_POWER_BT_SCO_ENA; | ||
254 | } | ||
255 | |||
239 | cmd->rx_data_timeout = cpu_to_le32(1000 * dynps_ms); | 256 | cmd->rx_data_timeout = cpu_to_le32(1000 * dynps_ms); |
240 | cmd->tx_data_timeout = cpu_to_le32(1000 * dynps_ms); | 257 | cmd->tx_data_timeout = cpu_to_le32(1000 * dynps_ms); |
241 | 258 | ||