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

iwlagn: add bt prio_boost to .cfg

Use .cfg to configure the default bt priority boost value;
the default bt priority boost is 0xf0
Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 a4b96cc4
...@@ -219,7 +219,6 @@ static const __le32 iwl6000g2b_concurrent_lookup[12] = { ...@@ -219,7 +219,6 @@ static const __le32 iwl6000g2b_concurrent_lookup[12] = {
static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) static void iwl6000g2b_send_bt_config(struct iwl_priv *priv)
{ {
struct iwl6000g2b_bt_cmd bt_cmd = { struct iwl6000g2b_bt_cmd bt_cmd = {
.prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
.max_kill = IWL6000G2B_BT_MAX_KILL_DEFAULT, .max_kill = IWL6000G2B_BT_MAX_KILL_DEFAULT,
.bt3_timer_t7_value = IWL6000G2B_BT3_T7_DEFAULT, .bt3_timer_t7_value = IWL6000G2B_BT3_T7_DEFAULT,
.kill_ack_mask = IWL6000G2B_BT_KILL_ACK_MASK_DEFAULT, .kill_ack_mask = IWL6000G2B_BT_KILL_ACK_MASK_DEFAULT,
...@@ -232,6 +231,8 @@ static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) ...@@ -232,6 +231,8 @@ static void iwl6000g2b_send_bt_config(struct iwl_priv *priv)
BUILD_BUG_ON(sizeof(iwl6000g2b_def_3w_lookup) != BUILD_BUG_ON(sizeof(iwl6000g2b_def_3w_lookup) !=
sizeof(bt_cmd.bt3_lookup_table)); sizeof(bt_cmd.bt3_lookup_table));
bt_cmd.prio_boost = priv->cfg->bt_prio_boost;
/* /*
* Configure BT coex mode to "no coexistence" when the * Configure BT coex mode to "no coexistence" when the
* user disabled BT coexistence, we have no interface * user disabled BT coexistence, we have no interface
...@@ -488,6 +489,8 @@ static void iwl6000g2b_bt_coex_profile_notif(struct iwl_priv *priv, ...@@ -488,6 +489,8 @@ static void iwl6000g2b_bt_coex_profile_notif(struct iwl_priv *priv,
sizeof(sco_cmd), &sco_cmd, NULL); sizeof(sco_cmd), &sco_cmd, NULL);
} }
/* FIXME: based on notification, adjust the prio_boost */
spin_lock_irqsave(&priv->lock, flags); spin_lock_irqsave(&priv->lock, flags);
priv->bt_ci_compliance = coex->bt_ci_compliance; priv->bt_ci_compliance = coex->bt_ci_compliance;
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
...@@ -833,6 +836,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = { ...@@ -833,6 +836,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
struct iwl_cfg iwl6000g2b_2abg_cfg = { struct iwl_cfg iwl6000g2b_2abg_cfg = {
...@@ -873,6 +877,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = { ...@@ -873,6 +877,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
struct iwl_cfg iwl6000g2b_2bgn_cfg = { struct iwl_cfg iwl6000g2b_2bgn_cfg = {
...@@ -915,6 +920,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = { ...@@ -915,6 +920,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
struct iwl_cfg iwl6000g2b_2bg_cfg = { struct iwl_cfg iwl6000g2b_2bg_cfg = {
...@@ -955,6 +961,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = { ...@@ -955,6 +961,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
struct iwl_cfg iwl6000g2b_bgn_cfg = { struct iwl_cfg iwl6000g2b_bgn_cfg = {
...@@ -997,6 +1004,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = { ...@@ -997,6 +1004,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
struct iwl_cfg iwl6000g2b_bg_cfg = { struct iwl_cfg iwl6000g2b_bg_cfg = {
...@@ -1037,6 +1045,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = { ...@@ -1037,6 +1045,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = {
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
.bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT,
}; };
/* /*
......
...@@ -2409,7 +2409,7 @@ struct iwl_bt_cmd { ...@@ -2409,7 +2409,7 @@ struct iwl_bt_cmd {
#define IWL6000G2B_BT_PRIO_BOOST_MAX 0xFF #define IWL6000G2B_BT_PRIO_BOOST_MAX 0xFF
#define IWL6000G2B_BT_PRIO_BOOST_MIN 0x00 #define IWL6000G2B_BT_PRIO_BOOST_MIN 0x00
#define IWL6000G2B_BT_PRIO_BOOST_DEFAULT 0x00 #define IWL6000G2B_BT_PRIO_BOOST_DEFAULT 0xF0
#define IWL6000G2B_BT_MAX_KILL_DEFAULT 5 #define IWL6000G2B_BT_MAX_KILL_DEFAULT 5
......
...@@ -280,6 +280,7 @@ struct iwl_mod_params { ...@@ -280,6 +280,7 @@ struct iwl_mod_params {
* @scan_antennas: available antenna for scan operation * @scan_antennas: available antenna for scan operation
* @advanced_bt_coexist: support advanced bt coexist * @advanced_bt_coexist: support advanced bt coexist
* @bt_init_traffic_load: specify initial bt traffic load * @bt_init_traffic_load: specify initial bt traffic load
* @bt_prio_boost: default bt priority boost value
* @need_dc_calib: need to perform init dc calibration * @need_dc_calib: need to perform init dc calibration
* @bt_statistics: use BT version of statistics notification * @bt_statistics: use BT version of statistics notification
* @agg_time_limit: maximum number of uSec in aggregation * @agg_time_limit: maximum number of uSec in aggregation
...@@ -355,6 +356,7 @@ struct iwl_cfg { ...@@ -355,6 +356,7 @@ struct iwl_cfg {
u8 scan_tx_antennas[IEEE80211_NUM_BANDS]; u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
bool advanced_bt_coexist; bool advanced_bt_coexist;
u8 bt_init_traffic_load; u8 bt_init_traffic_load;
u8 bt_prio_boost;
const bool need_dc_calib; const bool need_dc_calib;
const bool bt_statistics; const bool bt_statistics;
u16 agg_time_limit; u16 agg_time_limit;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册