aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-power.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-11-23 13:58:54 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-24 16:19:37 -0500
commite366176e5c7f37d2d4cd0708e63b939e3fa3b5c6 (patch)
treeaa4863dc9e96d6590710d03d4a09c6c11d421af2 /drivers/net/wireless/iwlwifi/iwl-power.c
parent97badb0eefc9b6f23f864c5348b695be35f05882 (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.c17
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