提交 f37837c9 编写于 作者: W Wey-Yi Guy 提交者: John W. Linville

iwlagn: add bt_ch_announce module parameter

Add bt_ch_announce module parameter to enable/disable BT channel
announcement mode; default is "enable"

Based on the bt channel announcement module parameter to configure the
bt_config host command.
Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 22bf59a0
...@@ -242,9 +242,11 @@ static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) ...@@ -242,9 +242,11 @@ static void iwl6000g2b_send_bt_config(struct iwl_priv *priv)
if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) { if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) {
bt_cmd.flags = 0; bt_cmd.flags = 0;
} else { } else {
bt_cmd.flags = IWL6000G2B_BT_FLAG_CHANNEL_INHIBITION | bt_cmd.flags = IWL6000G2B_BT_FLAG_COEX_MODE_3W <<
IWL6000G2B_BT_FLAG_COEX_MODE_3W <<
IWL6000G2B_BT_FLAG_COEX_MODE_SHIFT; IWL6000G2B_BT_FLAG_COEX_MODE_SHIFT;
if (priv->bt_ch_announce)
bt_cmd.flags |= IWL6000G2B_BT_FLAG_CHANNEL_INHIBITION;
IWL_DEBUG_INFO(priv, "BT coex flag: 0X%x\n", bt_cmd.flags);
} }
if (priv->bt_full_concurrent) if (priv->bt_full_concurrent)
......
...@@ -88,6 +88,7 @@ MODULE_LICENSE("GPL"); ...@@ -88,6 +88,7 @@ MODULE_LICENSE("GPL");
MODULE_ALIAS("iwl4965"); MODULE_ALIAS("iwl4965");
static int iwlagn_ant_coupling; static int iwlagn_ant_coupling;
static bool iwlagn_bt_ch_announce = 1;
/** /**
* iwl_commit_rxon - commit staging_rxon to hardware * iwl_commit_rxon - commit staging_rxon to hardware
...@@ -2606,6 +2607,9 @@ int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log, ...@@ -2606,6 +2607,9 @@ int iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log,
return pos; return pos;
} }
/* enable/disable bt channel announcement */
priv->bt_ch_announce = iwlagn_bt_ch_announce;
#ifdef CONFIG_IWLWIFI_DEBUG #ifdef CONFIG_IWLWIFI_DEBUG
if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) && !full_log) if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) && !full_log)
size = (size > DEFAULT_DUMP_EVENT_LOG_ENTRIES) size = (size > DEFAULT_DUMP_EVENT_LOG_ENTRIES)
...@@ -4150,6 +4154,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -4150,6 +4154,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
(iwlagn_ant_coupling > IWL_BT_ANTENNA_COUPLING_THRESHOLD) ? (iwlagn_ant_coupling > IWL_BT_ANTENNA_COUPLING_THRESHOLD) ?
true : false; true : false;
/* enable/disable bt channel announcement */
priv->bt_ch_announce = iwlagn_bt_ch_announce;
if (iwl_alloc_traffic_mem(priv)) if (iwl_alloc_traffic_mem(priv))
IWL_ERR(priv, "Not enough memory to generate traffic log\n"); IWL_ERR(priv, "Not enough memory to generate traffic log\n");
...@@ -4687,3 +4694,7 @@ MODULE_PARM_DESC(ucode_alternative, ...@@ -4687,3 +4694,7 @@ MODULE_PARM_DESC(ucode_alternative,
module_param_named(antenna_coupling, iwlagn_ant_coupling, int, S_IRUGO); module_param_named(antenna_coupling, iwlagn_ant_coupling, int, S_IRUGO);
MODULE_PARM_DESC(antenna_coupling, MODULE_PARM_DESC(antenna_coupling,
"specify antenna coupling in dB (defualt: 0 dB)"); "specify antenna coupling in dB (defualt: 0 dB)");
module_param_named(bt_ch_announce, iwlagn_bt_ch_announce, bool, S_IRUGO);
MODULE_PARM_DESC(bt_ch_announce,
"Enable BT channel announcement mode (default: enable)");
...@@ -1368,6 +1368,7 @@ struct iwl_priv { ...@@ -1368,6 +1368,7 @@ struct iwl_priv {
/* bt coex */ /* bt coex */
u8 bt_traffic_load, notif_bt_traffic_load; u8 bt_traffic_load, notif_bt_traffic_load;
bool bt_ch_announce;
bool bt_sco_active; bool bt_sco_active;
bool bt_full_concurrent; bool bt_full_concurrent;
bool bt_ant_couple_ok; bool bt_ant_couple_ok;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册