iwlagn: add additional bt related parameters

Add additional bt coex related parameters and initialize at init
time.
Thoese parameters will be used in later implementations.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Wey-Yi Guy 2010-08-23 07:57:11 -07:00 committed by John W. Linville
parent fbba94104f
commit 22bf59a03a
3 changed files with 32 additions and 0 deletions

View File

@ -4014,6 +4014,17 @@ static int iwl_init_drv(struct iwl_priv *priv)
iwl_init_scan_params(priv); iwl_init_scan_params(priv);
/* init bt coex */
if (priv->cfg->advanced_bt_coexist) {
priv->kill_ack_mask = IWL6000G2B_BT_KILL_ACK_MASK_DEFAULT;
priv->kill_cts_mask = IWL6000G2B_BT_KILL_CTS_MASK_DEFAULT;
priv->bt_valid = IWL6000G2B_BT_ALL_VALID_MSK;
priv->bt_on_thresh = BT_ON_THRESHOLD_DEF;
priv->bt_duration = BT_DURATION_LIMIT_DEF;
priv->dynamic_frag_thresh = BT_FRAG_THRESHOLD_DEF;
priv->dynamic_agg_thresh = BT_AGG_THRESHOLD_DEF;
}
/* Set the tx_power_user_lmt to the lowest power level /* Set the tx_power_user_lmt to the lowest power level
* this value will get overwritten by channel max power avg * this value will get overwritten by channel max power avg
* from eeprom */ * from eeprom */

View File

@ -2379,6 +2379,22 @@ struct iwl_link_quality_cmd {
#define BT_MAX_KILL_DEF (0x5) #define BT_MAX_KILL_DEF (0x5)
#define BT_MAX_KILL_MAX (0xFF) #define BT_MAX_KILL_MAX (0xFF)
#define BT_DURATION_LIMIT_DEF 625
#define BT_DURATION_LIMIT_MAX 1250
#define BT_DURATION_LIMIT_MIN 625
#define BT_ON_THRESHOLD_DEF 4
#define BT_ON_THRESHOLD_MAX 1000
#define BT_ON_THRESHOLD_MIN 1
#define BT_FRAG_THRESHOLD_DEF 0
#define BT_FRAG_THRESHOLD_MAX 0
#define BT_FRAG_THRESHOLD_MIN 0
#define BT_AGG_THRESHOLD_DEF 0
#define BT_AGG_THRESHOLD_MAX 0
#define BT_AGG_THRESHOLD_MIN 0
/* /*
* REPLY_BT_CONFIG = 0x9b (command, has simple generic response) * REPLY_BT_CONFIG = 0x9b (command, has simple generic response)
* *

View File

@ -1366,6 +1366,7 @@ struct iwl_priv {
#endif #endif
}; };
/* bt coex */
u8 bt_traffic_load, notif_bt_traffic_load; u8 bt_traffic_load, notif_bt_traffic_load;
bool bt_sco_active; bool bt_sco_active;
bool bt_full_concurrent; bool bt_full_concurrent;
@ -1373,6 +1374,10 @@ struct iwl_priv {
__le32 kill_ack_mask; __le32 kill_ack_mask;
__le32 kill_cts_mask; __le32 kill_cts_mask;
__le16 bt_valid; __le16 bt_valid;
u16 bt_on_thresh;
u16 bt_duration;
u16 dynamic_frag_thresh;
u16 dynamic_agg_thresh;
u8 bt_ci_compliance; u8 bt_ci_compliance;
struct work_struct bt_traffic_change_work; struct work_struct bt_traffic_change_work;