staging: r8712u: Add module parameter to disable turbo mode
authorLarry Finger <Larry.Finger@lwfinger.net>
Tue, 31 Aug 2010 03:51:58 +0000 (22:51 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 31 Aug 2010 17:59:52 +0000 (10:59 -0700)
Signed-off-by: Albert Wang <albert_wang@realtek.com.tw>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rtl8712/drv_types.h
drivers/staging/rtl8712/hal_init.c
drivers/staging/rtl8712/os_intfs.c

index 6147786d655d5be5de707bf7ffe006693e7310d8..3bb66dc2eb2c9a7f2b2e3a4580941afa41da8047 100644 (file)
@@ -96,8 +96,9 @@ struct registry_priv {
        u8 ht_enable;
        u8 cbw40_enable;
        u8 ampdu_enable;/*for tx*/
-       u8 rf_config ;
-       u8 low_power ;
+       u8 rf_config;
+       u8 low_power;
+       u8 wifi_test;
 };
 
 /* For registry parameters */
index a51850c092bbb8d027cbb5843f5d33e237954d9d..32088a641eba12f60f1e20acf27bc80c8e28fb5e 100644 (file)
@@ -71,7 +71,8 @@ static void fill_fwpriv(struct _adapter *padapter, struct fw_priv *pfwpriv)
        pfwpriv->mp_mode = (pregpriv->mp_mode == 1) ? 1 : 0;
        pfwpriv->vcsType = pregpriv->vrtl_carrier_sense; /* 0:off 1:on 2:auto */
        pfwpriv->vcsMode = pregpriv->vcs_type; /* 1:RTS/CTS 2:CTS to self */
-       pfwpriv->turboMode = 1; /* default enable it */
+       /* default enable turboMode */
+       pfwpriv->turboMode = ((pregpriv->wifi_test == 1) ? 0 : 1);
        pfwpriv->lowPowerMode = pregpriv->low_power;
 }
 
index aaf7de01544c13d0312463fafca4dd1de59846a0..3f38e8eca3f1fbdfdb15e1d3a6f755ff8378098f 100644 (file)
@@ -92,8 +92,13 @@ static int low_power;
 /* mac address to use instead of the one stored in Efuse */
 char *r8712_initmac;
 static char *initmac;
+/* if wifi_test = 1, driver will disable the turbo mode and pass it to
+ * firmware private.
+ */
+static int wifi_test = 0;
 
 module_param_string(ifname, ifname, sizeof(ifname), S_IRUGO|S_IWUSR);
+module_param(wifi_test, int, 0644);
 module_param(initmac, charp, 0644);
 module_param(video_mode, int, 0644);
 module_param(chip_version, int, 0644);
@@ -165,6 +170,7 @@ static uint loadparam(struct _adapter *padapter, struct  net_device *pnetdev)
        registry_par->ampdu_enable = (u8)ampdu_enable;
        registry_par->rf_config = (u8)rf_config;
        registry_par->low_power = (u8)low_power;
+       registry_par->wifi_test = (u8) wifi_test;
        r8712_initmac = initmac;
        return status;
 }