From d19b86473ec1c72fe657841c57ca8924f3df42f0 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Mon, 30 Aug 2010 22:51:58 -0500 Subject: [PATCH] staging: r8712u: Add module parameter to disable turbo mode Signed-off-by: Albert Wang Signed-off-by: Larry Finger Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8712/drv_types.h | 5 +++-- drivers/staging/rtl8712/hal_init.c | 3 ++- drivers/staging/rtl8712/os_intfs.c | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/staging/rtl8712/drv_types.h b/drivers/staging/rtl8712/drv_types.h index 6147786d655d..3bb66dc2eb2c 100644 --- a/drivers/staging/rtl8712/drv_types.h +++ b/drivers/staging/rtl8712/drv_types.h @@ -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 */ diff --git a/drivers/staging/rtl8712/hal_init.c b/drivers/staging/rtl8712/hal_init.c index a51850c092bb..32088a641eba 100644 --- a/drivers/staging/rtl8712/hal_init.c +++ b/drivers/staging/rtl8712/hal_init.c @@ -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; } diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index aaf7de01544c..3f38e8eca3f1 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -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; }