iwlagn: move bt_coex_active as part of iwlagn_mod_params
Move bt_coex_active module parameter into iwlagn_mod_params structure along with all the other iwlagn module parameters Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
@@ -622,6 +622,7 @@ struct iwl_mod_params iwlagn_mod_params = {
|
|||||||
.amsdu_size_8K = 1,
|
.amsdu_size_8K = 1,
|
||||||
.restart_fw = 1,
|
.restart_fw = 1,
|
||||||
.plcp_check = true,
|
.plcp_check = true,
|
||||||
|
.bt_coex_active = true,
|
||||||
/* the rest are 0 by default */
|
/* the rest are 0 by default */
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1699,7 +1700,8 @@ void iwlagn_send_advance_bt_config(struct iwl_priv *priv)
|
|||||||
* (might be in monitor mode), or the interface is in
|
* (might be in monitor mode), or the interface is in
|
||||||
* IBSS mode (no proper uCode support for coex then).
|
* IBSS mode (no proper uCode support for coex then).
|
||||||
*/
|
*/
|
||||||
if (!bt_coex_active || priv->iw_mode == NL80211_IFTYPE_ADHOC) {
|
if (!iwlagn_mod_params.bt_coex_active ||
|
||||||
|
priv->iw_mode == NL80211_IFTYPE_ADHOC) {
|
||||||
basic.flags = IWLAGN_BT_FLAG_COEX_MODE_DISABLED;
|
basic.flags = IWLAGN_BT_FLAG_COEX_MODE_DISABLED;
|
||||||
} else {
|
} else {
|
||||||
basic.flags = IWLAGN_BT_FLAG_COEX_MODE_3W <<
|
basic.flags = IWLAGN_BT_FLAG_COEX_MODE_3W <<
|
||||||
|
@@ -4075,3 +4075,23 @@ MODULE_PARM_DESC(plcp_check, "Check plcp health (default: 1 [enabled])");
|
|||||||
|
|
||||||
module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO);
|
module_param_named(ack_check, iwlagn_mod_params.ack_check, bool, S_IRUGO);
|
||||||
MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])");
|
MODULE_PARM_DESC(ack_check, "Check ack health (default: 0 [disabled])");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* set bt_coex_active to true, uCode will do kill/defer
|
||||||
|
* every time the priority line is asserted (BT is sending signals on the
|
||||||
|
* priority line in the PCIx).
|
||||||
|
* set bt_coex_active to false, uCode will ignore the BT activity and
|
||||||
|
* perform the normal operation
|
||||||
|
*
|
||||||
|
* User might experience transmit issue on some platform due to WiFi/BT
|
||||||
|
* co-exist problem. The possible behaviors are:
|
||||||
|
* Able to scan and finding all the available AP
|
||||||
|
* Not able to associate with any AP
|
||||||
|
* On those platforms, WiFi communication can be restored by set
|
||||||
|
* "bt_coex_active" module parameter to "false"
|
||||||
|
*
|
||||||
|
* default: bt_coex_active = true (BT_COEX_ENABLE)
|
||||||
|
*/
|
||||||
|
module_param_named(bt_coex_active, iwlagn_mod_params.bt_coex_active,
|
||||||
|
bool, S_IRUGO);
|
||||||
|
MODULE_PARM_DESC(bt_coex_active, "enable wifi/bt co-exist (default: enable)");
|
||||||
|
@@ -43,27 +43,6 @@
|
|||||||
#include "iwl-helpers.h"
|
#include "iwl-helpers.h"
|
||||||
#include "iwl-agn.h"
|
#include "iwl-agn.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* set bt_coex_active to true, uCode will do kill/defer
|
|
||||||
* every time the priority line is asserted (BT is sending signals on the
|
|
||||||
* priority line in the PCIx).
|
|
||||||
* set bt_coex_active to false, uCode will ignore the BT activity and
|
|
||||||
* perform the normal operation
|
|
||||||
*
|
|
||||||
* User might experience transmit issue on some platform due to WiFi/BT
|
|
||||||
* co-exist problem. The possible behaviors are:
|
|
||||||
* Able to scan and finding all the available AP
|
|
||||||
* Not able to associate with any AP
|
|
||||||
* On those platforms, WiFi communication can be restored by set
|
|
||||||
* "bt_coex_active" module parameter to "false"
|
|
||||||
*
|
|
||||||
* default: bt_coex_active = true (BT_COEX_ENABLE)
|
|
||||||
*/
|
|
||||||
bool bt_coex_active = true;
|
|
||||||
module_param(bt_coex_active, bool, S_IRUGO);
|
|
||||||
MODULE_PARM_DESC(bt_coex_active, "enable wifi/bluetooth co-exist");
|
|
||||||
|
|
||||||
u32 iwl_debug_level;
|
u32 iwl_debug_level;
|
||||||
|
|
||||||
const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
const u8 iwl_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
||||||
@@ -1179,7 +1158,7 @@ void iwl_send_bt_config(struct iwl_priv *priv)
|
|||||||
.kill_cts_mask = 0,
|
.kill_cts_mask = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!bt_coex_active)
|
if (!iwlagn_mod_params.bt_coex_active)
|
||||||
bt_cmd.flags = BT_COEX_DISABLE;
|
bt_cmd.flags = BT_COEX_DISABLE;
|
||||||
else
|
else
|
||||||
bt_cmd.flags = BT_COEX_ENABLE;
|
bt_cmd.flags = BT_COEX_ENABLE;
|
||||||
|
@@ -173,6 +173,7 @@ struct iwl_mod_params {
|
|||||||
int restart_fw; /* def: 1 = restart firmware */
|
int restart_fw; /* def: 1 = restart firmware */
|
||||||
bool plcp_check; /* def: true = enable plcp health check */
|
bool plcp_check; /* def: true = enable plcp health check */
|
||||||
bool ack_check; /* def: false = disable ack health check */
|
bool ack_check; /* def: false = disable ack health check */
|
||||||
|
bool bt_coex_active; /* def: true = enable bt coex */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -624,7 +625,6 @@ static inline bool iwl_advanced_bt_coexist(struct iwl_priv *priv)
|
|||||||
priv->cfg->bt_params->advanced_bt_coexist;
|
priv->cfg->bt_params->advanced_bt_coexist;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern bool bt_coex_active;
|
|
||||||
extern bool bt_siso_mode;
|
extern bool bt_siso_mode;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user