iwmc3200wifi: change coexist periodic calibration flag
authorZhu Yi <yi.zhu@intel.com>
Mon, 15 Jun 2009 19:59:53 +0000 (21:59 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 10 Jul 2009 18:57:52 +0000 (14:57 -0400)
The patch changes coexist periodic calibration priority flag. It also
set wireless mode to UMAC and set PM control flag to 0x1.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwmc3200wifi/commands.c
drivers/net/wireless/iwmc3200wifi/commands.h

index 145f6f5ae7479ed4cef61b6de2cea718dbcf7586..0d35afefb61cd87da0d74bac8453d1bfa552e26b 100644 (file)
@@ -120,7 +120,7 @@ static struct coex_event iwm_sta_cm_prio_tbl[COEX_EVENTS_NUM] =
        {4, 3, 0, COEX_UNASSOC_MANUAL_SCAN_FLAGS},
        {3, 3, 0, COEX_UNASSOC_AUTO_SCAN_FLAGS},
        {5, 5, 0, COEX_CALIBRATION_FLAGS},
-       {4, 4, 0, COEX_PERIODIC_CALIBRATION_FLAGS},
+       {3, 3, 0, COEX_PERIODIC_CALIBRATION_FLAGS},
        {5, 4, 0, COEX_CONNECTION_ESTAB_FLAGS},
        {4, 4, 0, COEX_ASSOCIATED_IDLE_FLAGS},
        {4, 4, 0, COEX_ASSOC_MANUAL_SCAN_FLAGS},
@@ -345,8 +345,7 @@ int iwm_umac_set_config_var(struct iwm_priv *iwm, u16 key,
        return ret;
 }
 
-int iwm_send_umac_config(struct iwm_priv *iwm,
-                        __le32 reset_flags)
+int iwm_send_umac_config(struct iwm_priv *iwm, __le32 reset_flags)
 {
        int ret;
 
@@ -373,6 +372,12 @@ int iwm_send_umac_config(struct iwm_priv *iwm,
        if (ret < 0)
                return ret;
 
+       ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
+                                     CFG_WIRELESS_MODE,
+                                     iwm->conf.wireless_mode);
+       if (ret < 0)
+               return ret;
+
        ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
                                      CFG_COEX_MODE, iwm->conf.coexist_mode);
        if (ret < 0)
@@ -415,7 +420,7 @@ int iwm_send_umac_config(struct iwm_priv *iwm,
                return ret;
 
        ret = iwm_umac_set_config_fix(iwm, UMAC_PARAM_TBL_CFG_FIX,
-                                     CFG_PM_CTRL_FLAGS, 0x30001);
+                                     CFG_PM_CTRL_FLAGS, 0x1);
        if (ret < 0)
                return ret;
 
index 3510df8ff391194c788b1b6f84f0dcf7090a38e4..e24d5b6339977fd70933806d0c03223d01aa1fa3 100644 (file)
@@ -106,8 +106,7 @@ enum {
        CFG_TLC_SPATIAL_STREAM_SUPPORTED,
        CFG_TLC_RETRY_PER_RATE,
        CFG_TLC_RETRY_PER_HT_RATE,
-       CFG_TLC_FIXED_RATE,
-       CFG_TLC_FIXED_RATE_FLAGS,
+       CFG_TLC_FIXED_MCS,
        CFG_TLC_CONTROL_FLAGS,
        CFG_TLC_SR_MIN_FAIL,
        CFG_TLC_SR_MIN_PASS,
@@ -232,6 +231,7 @@ struct iwm_umac_cmd_get_channel_list {
 /* Wireless mode */
 #define WIRELESS_MODE_11A  0x1
 #define WIRELESS_MODE_11G  0x2
+#define WIRELESS_MODE_11N  0x4
 
 #define UMAC_PROFILE_EX_IE_REQUIRED    0x1
 #define UMAC_PROFILE_QOS_ALLOWED       0x2