diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-08-23 10:57:09 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-25 14:34:20 -0400 |
commit | 5d297d50653ba0c498e0b1e7b72b6611651357aa (patch) | |
tree | 3e8e3bd0ebde5bbefd85ca0ba012ed6e0a82fe50 /drivers | |
parent | a4b96cc4e3fa99d5d6d8ad38c5b0aa4c3aa8a828 (diff) |
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: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-6000.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-commands.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 2 |
3 files changed, 13 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c index 396d80c0ef38..54b59dadf2a8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-6000.c +++ b/drivers/net/wireless/iwlwifi/iwl-6000.c | |||
@@ -219,7 +219,6 @@ static const __le32 iwl6000g2b_concurrent_lookup[12] = { | |||
219 | static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) | 219 | static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) |
220 | { | 220 | { |
221 | struct iwl6000g2b_bt_cmd bt_cmd = { | 221 | struct iwl6000g2b_bt_cmd bt_cmd = { |
222 | .prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
223 | .max_kill = IWL6000G2B_BT_MAX_KILL_DEFAULT, | 222 | .max_kill = IWL6000G2B_BT_MAX_KILL_DEFAULT, |
224 | .bt3_timer_t7_value = IWL6000G2B_BT3_T7_DEFAULT, | 223 | .bt3_timer_t7_value = IWL6000G2B_BT3_T7_DEFAULT, |
225 | .kill_ack_mask = IWL6000G2B_BT_KILL_ACK_MASK_DEFAULT, | 224 | .kill_ack_mask = IWL6000G2B_BT_KILL_ACK_MASK_DEFAULT, |
@@ -232,6 +231,8 @@ static void iwl6000g2b_send_bt_config(struct iwl_priv *priv) | |||
232 | BUILD_BUG_ON(sizeof(iwl6000g2b_def_3w_lookup) != | 231 | BUILD_BUG_ON(sizeof(iwl6000g2b_def_3w_lookup) != |
233 | sizeof(bt_cmd.bt3_lookup_table)); | 232 | sizeof(bt_cmd.bt3_lookup_table)); |
234 | 233 | ||
234 | bt_cmd.prio_boost = priv->cfg->bt_prio_boost; | ||
235 | |||
235 | /* | 236 | /* |
236 | * Configure BT coex mode to "no coexistence" when the | 237 | * Configure BT coex mode to "no coexistence" when the |
237 | * user disabled BT coexistence, we have no interface | 238 | * user disabled BT coexistence, we have no interface |
@@ -488,6 +489,8 @@ static void iwl6000g2b_bt_coex_profile_notif(struct iwl_priv *priv, | |||
488 | sizeof(sco_cmd), &sco_cmd, NULL); | 489 | sizeof(sco_cmd), &sco_cmd, NULL); |
489 | } | 490 | } |
490 | 491 | ||
492 | /* FIXME: based on notification, adjust the prio_boost */ | ||
493 | |||
491 | spin_lock_irqsave(&priv->lock, flags); | 494 | spin_lock_irqsave(&priv->lock, flags); |
492 | priv->bt_ci_compliance = coex->bt_ci_compliance; | 495 | priv->bt_ci_compliance = coex->bt_ci_compliance; |
493 | spin_unlock_irqrestore(&priv->lock, flags); | 496 | spin_unlock_irqrestore(&priv->lock, flags); |
@@ -833,6 +836,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = { | |||
833 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 836 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
834 | .advanced_bt_coexist = true, | 837 | .advanced_bt_coexist = true, |
835 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 838 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
839 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
836 | }; | 840 | }; |
837 | 841 | ||
838 | struct iwl_cfg iwl6000g2b_2abg_cfg = { | 842 | struct iwl_cfg iwl6000g2b_2abg_cfg = { |
@@ -873,6 +877,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = { | |||
873 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 877 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
874 | .advanced_bt_coexist = true, | 878 | .advanced_bt_coexist = true, |
875 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 879 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
880 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
876 | }; | 881 | }; |
877 | 882 | ||
878 | struct iwl_cfg iwl6000g2b_2bgn_cfg = { | 883 | struct iwl_cfg iwl6000g2b_2bgn_cfg = { |
@@ -915,6 +920,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = { | |||
915 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 920 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
916 | .advanced_bt_coexist = true, | 921 | .advanced_bt_coexist = true, |
917 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 922 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
923 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
918 | }; | 924 | }; |
919 | 925 | ||
920 | struct iwl_cfg iwl6000g2b_2bg_cfg = { | 926 | struct iwl_cfg iwl6000g2b_2bg_cfg = { |
@@ -955,6 +961,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = { | |||
955 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 961 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
956 | .advanced_bt_coexist = true, | 962 | .advanced_bt_coexist = true, |
957 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 963 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
964 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
958 | }; | 965 | }; |
959 | 966 | ||
960 | struct iwl_cfg iwl6000g2b_bgn_cfg = { | 967 | struct iwl_cfg iwl6000g2b_bgn_cfg = { |
@@ -997,6 +1004,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = { | |||
997 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 1004 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
998 | .advanced_bt_coexist = true, | 1005 | .advanced_bt_coexist = true, |
999 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 1006 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
1007 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
1000 | }; | 1008 | }; |
1001 | 1009 | ||
1002 | struct iwl_cfg iwl6000g2b_bg_cfg = { | 1010 | struct iwl_cfg iwl6000g2b_bg_cfg = { |
@@ -1037,6 +1045,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = { | |||
1037 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, | 1045 | .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, |
1038 | .advanced_bt_coexist = true, | 1046 | .advanced_bt_coexist = true, |
1039 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, | 1047 | .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE, |
1048 | .bt_prio_boost = IWL6000G2B_BT_PRIO_BOOST_DEFAULT, | ||
1040 | }; | 1049 | }; |
1041 | 1050 | ||
1042 | /* | 1051 | /* |
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h index b45882aa68fe..e742f994ff82 100644 --- a/drivers/net/wireless/iwlwifi/iwl-commands.h +++ b/drivers/net/wireless/iwlwifi/iwl-commands.h | |||
@@ -2409,7 +2409,7 @@ struct iwl_bt_cmd { | |||
2409 | 2409 | ||
2410 | #define IWL6000G2B_BT_PRIO_BOOST_MAX 0xFF | 2410 | #define IWL6000G2B_BT_PRIO_BOOST_MAX 0xFF |
2411 | #define IWL6000G2B_BT_PRIO_BOOST_MIN 0x00 | 2411 | #define IWL6000G2B_BT_PRIO_BOOST_MIN 0x00 |
2412 | #define IWL6000G2B_BT_PRIO_BOOST_DEFAULT 0x00 | 2412 | #define IWL6000G2B_BT_PRIO_BOOST_DEFAULT 0xF0 |
2413 | 2413 | ||
2414 | #define IWL6000G2B_BT_MAX_KILL_DEFAULT 5 | 2414 | #define IWL6000G2B_BT_MAX_KILL_DEFAULT 5 |
2415 | 2415 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h index d5dacaf0d09f..de2e39f36c25 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.h +++ b/drivers/net/wireless/iwlwifi/iwl-core.h | |||
@@ -280,6 +280,7 @@ struct iwl_mod_params { | |||
280 | * @scan_antennas: available antenna for scan operation | 280 | * @scan_antennas: available antenna for scan operation |
281 | * @advanced_bt_coexist: support advanced bt coexist | 281 | * @advanced_bt_coexist: support advanced bt coexist |
282 | * @bt_init_traffic_load: specify initial bt traffic load | 282 | * @bt_init_traffic_load: specify initial bt traffic load |
283 | * @bt_prio_boost: default bt priority boost value | ||
283 | * @need_dc_calib: need to perform init dc calibration | 284 | * @need_dc_calib: need to perform init dc calibration |
284 | * @bt_statistics: use BT version of statistics notification | 285 | * @bt_statistics: use BT version of statistics notification |
285 | * @agg_time_limit: maximum number of uSec in aggregation | 286 | * @agg_time_limit: maximum number of uSec in aggregation |
@@ -355,6 +356,7 @@ struct iwl_cfg { | |||
355 | u8 scan_tx_antennas[IEEE80211_NUM_BANDS]; | 356 | u8 scan_tx_antennas[IEEE80211_NUM_BANDS]; |
356 | bool advanced_bt_coexist; | 357 | bool advanced_bt_coexist; |
357 | u8 bt_init_traffic_load; | 358 | u8 bt_init_traffic_load; |
359 | u8 bt_prio_boost; | ||
358 | const bool need_dc_calib; | 360 | const bool need_dc_calib; |
359 | const bool bt_statistics; | 361 | const bool bt_statistics; |
360 | u16 agg_time_limit; | 362 | u16 agg_time_limit; |