iwlagn: add additional bt related parameters
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Mon, 23 Aug 2010 14:57:11 +0000 (07:57 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 25 Aug 2010 18:34:52 +0000 (14:34 -0400)
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>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-commands.h
drivers/net/wireless/iwlwifi/iwl-dev.h

index 0c457be7bc01757ed6458833fed6a80ea238035a..e8098a798240158487a7a09304f63311392a7382 100644 (file)
@@ -4014,6 +4014,17 @@ static int iwl_init_drv(struct iwl_priv *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
         * this value will get overwritten by channel max power avg
         * from eeprom */
index 7369c52d42dd5e7a64908348f38c0b3090d41554..5df22f1d57a5d5864e3fde67fe5c695935081c04 100644 (file)
@@ -2379,6 +2379,22 @@ struct iwl_link_quality_cmd {
 #define BT_MAX_KILL_DEF (0x5)
 #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)
  *
index e0d524d633bbd3ebe8c9bd136b7117644f7d50c4..836fe2762464eb008604dbfbef84b8dd830c3ba2 100644 (file)
@@ -1366,6 +1366,7 @@ struct iwl_priv {
 #endif
        };
 
+       /* bt coex */
        u8 bt_traffic_load, notif_bt_traffic_load;
        bool bt_sco_active;
        bool bt_full_concurrent;
@@ -1373,6 +1374,10 @@ struct iwl_priv {
        __le32 kill_ack_mask;
        __le32 kill_cts_mask;
        __le16 bt_valid;
+       u16 bt_on_thresh;
+       u16 bt_duration;
+       u16 dynamic_frag_thresh;
+       u16 dynamic_agg_thresh;
        u8 bt_ci_compliance;
        struct work_struct bt_traffic_change_work;