staging: r8188eu: SetHwReg8188EU() cleanups
cover staging: r8188eu: SetHwReg8188EU() cleanups
This series removes some more cases from the unwanted function SetHwReg8188EU().
Tested on x86_64 with Inter-Tech DMG-02.
Michael Straube (5):
staging: r8188eu: remove HW_VAR_BASIC_RATE from SetHwReg8188EU()
staging: r8188eu: remove HW_VAR_DM_FUNC_OP from SetHwReg8188EU()
staging: r8188eu: remove HW_VAR_DM_FLAG from SetHwReg8188EU()
staging: r8188eu: remove HW_VAR_DM_FUNC_RESET from SetHwReg8188EU()
staging: r8188eu: remove HW_VAR_DM_FUNC_CLR from SetHwReg8188EU()
drivers/staging/r8188eu/core/rtw_mlme_ext.c | 25 +++++++-- drivers/staging/r8188eu/core/rtw_wlan_util.c | 51 +++++++++++++++-- drivers/staging/r8188eu/hal/usb_halinit.c | 55 ------------------- drivers/staging/r8188eu/include/hal_intf.h | 5 -- .../staging/r8188eu/include/rtw_mlme_ext.h | 1 + drivers/staging/r8188eu/os_dep/ioctl_linux.c | 10 +++- 6 files changed, 77 insertions(+), 70 deletions(-)
Signature · 1 line
2.36.1
PATCH 1/5 staging: r8188eu: remove HW_VAR_BASIC_RATE from SetHwReg8188EU()
Remove the HW_VAR_BASIC_RATE case from SetHwReg8188EU() and move the functionality to a separate function. This is part of the ongoing effort to get rid of SetHwReg8188EU().
--- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 2 +- drivers/staging/r8188eu/core/rtw_wlan_util.c | 41 ++++++++++++++++++- drivers/staging/r8188eu/hal/usb_halinit.c | 37 ----------------- drivers/staging/r8188eu/include/hal_intf.h | 1 - .../staging/r8188eu/include/rtw_mlme_ext.h | 1 + 5 files changed, 42 insertions(+), 40 deletions(-)
drivers/staging/r8188eu/core/rtw_mlme_ext.c +1 -1
@@ -6681,7 +6681,7 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)/* update IOT-releated issue */ update_IOT_info (padapter); -SetHwReg8188EU (padapter,HW_VAR_BASIC_RATE , cur_network->SupportedRates); +rtw_set_basic_rate (padapter, cur_network->SupportedRates);/* BCN interval */ rtw_write16 (padapter,REG_BCN_INTERVAL , pmlmeinfo->bcn_interval);
drivers/staging/r8188eu/core/rtw_wlan_util.c +40 -1
53 lines not on this page · raw message
drivers/staging/r8188eu/hal/usb_halinit.c +0 -37
@@ -1071,43 +1071,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)case HW_VAR_SET_OPMODE :hw_var_set_opmode (Adapter, val);break ; -case HW_VAR_BASIC_RATE : - { -u16 BrateCfg =0 ; -u8 RateIndex =0 ; - -/* 2007.01.16, by Emily */ -/* Select RRSR (in Legacy-OFDM and CCK) */ -/* For 8190, we select only 24M, 12M, 6M, 11M, 5.5M, 2M, and 1M from the Basic rate. */ -/* We do not use other rates. */ -HalSetBrateCfg (Adapter, val, &BrateCfg); - -/* 2011.03.30 add by Luke Lee */ -/* CCK 2M ACK should be disabled for some BCM and Atheros AP IOT */ -/* because CCK 2M has poor TXEVM */ -/* CCK 5.5M & 11M ACK should be enabled for better performance */ - - BrateCfg = (BrateCfg |0xd ) &0x15d ; - - BrateCfg |=0x01 ;/* default enable 1M ACK rate */ -/* Set RRSR rate table. */ -rtw_write8 (Adapter,REG_RRSR , BrateCfg &0xff ); -rtw_write8 (Adapter,REG_RRSR +1 , (BrateCfg >>8 ) &0xff ); - res =rtw_read8 (Adapter,REG_RRSR +2 , ®); -if (res) -return ; - -rtw_write8 (Adapter,REG_RRSR +2 , reg &0xf0 ); - -/* Set RTS initial rate */ -while (BrateCfg >0x1 ) { - BrateCfg = (BrateCfg >>1 ); - RateIndex++; - } -/* Ziv - Check */ -rtw_write8 (Adapter,REG_INIRTS_RATE_SEL , RateIndex); - } -break ;case HW_VAR_CORRECT_TSF : {u64 tsf;
drivers/staging/r8188eu/include/hal_intf.h +0 -1
@@ -10,7 +10,6 @@enum hw_variables {HW_VAR_SET_OPMODE , -HW_VAR_BASIC_RATE ,HW_VAR_CORRECT_TSF ,HW_VAR_MLME_SITESURVEY ,HW_VAR_DM_FLAG ,
drivers/staging/r8188eu/include/rtw_mlme_ext.h +1 -0
@@ -455,6 +455,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len);void update_IOT_info (struct adapter *padapter);void update_capinfo (struct adapter *adapter,u16 updatecap);void update_wireless_mode (struct adapter *padapter); +void rtw_set_basic_rate (struct adapter *adapter,u8 *rates);void update_tx_basic_rate (struct adapter *padapter,u8 modulation);void update_bmc_sta_support_rate (struct adapter *padapter,u32 mac_id); int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie,
Signature · 1 line
2.36.1
PATCH 2/5 staging: r8188eu: remove HW_VAR_DM_FUNC_OP from SetHwReg8188EU()
In reply to Michael StraubeRemove the HW_VAR_DM_FUNC_OP case from SetHwReg8188EU() and move the functionality to the functions that call SetHwReg8188EU() with HW_VAR_DM_FUNC_OP. This is part of the ongoing effort to get rid of SetHwReg8188EU().
--- drivers/staging/r8188eu/core/rtw_wlan_util.c | 10 ++++++---- drivers/staging/r8188eu/hal/usb_halinit.c | 6 ------ drivers/staging/r8188eu/include/hal_intf.h | 1 - 3 files changed, 6 insertions(+), 11 deletions(-)
drivers/staging/r8188eu/core/rtw_wlan_util.c +6 -4
@@ -264,16 +264,18 @@ void UpdateBrateTblForSoftAP(u8 *bssrateset, u32 bssratelen)void Save_DM_Func_Flag (struct adapter *padapter) { -u8 saveflag = true; +struct hal_data_8188e *haldata = &padapter->haldata; +struct odm_dm_struct *odmpriv = &haldata->odmpriv; -SetHwReg8188EU (padapter,HW_VAR_DM_FUNC_OP , (u8 *)(&saveflag)); + odmpriv->BK_SupportAbility = odmpriv->SupportAbility; }void Restore_DM_Func_Flag (struct adapter *padapter) { -u8 saveflag = false; +struct hal_data_8188e *haldata = &padapter->haldata; +struct odm_dm_struct *odmpriv = &haldata->odmpriv; -SetHwReg8188EU (padapter,HW_VAR_DM_FUNC_OP , (u8 *)(&saveflag)); + odmpriv->SupportAbility = odmpriv->BK_SupportAbility; }void Set_MSR (struct adapter *padapter,u8 type)
drivers/staging/r8188eu/hal/usb_halinit.c +0 -6
@@ -1160,12 +1160,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)case HW_VAR_DM_FLAG : podmpriv->SupportAbility = *((u8 *)val);break ; -case HW_VAR_DM_FUNC_OP : -if (val[0 ]) - podmpriv->BK_SupportAbility = podmpriv->SupportAbility; -else - podmpriv->SupportAbility = podmpriv->BK_SupportAbility; -break ;case HW_VAR_DM_FUNC_RESET : podmpriv->SupportAbility = pdmpriv->InitODMFlag;break ;
drivers/staging/r8188eu/include/hal_intf.h +0 -1
@@ -13,7 +13,6 @@ enum hw_variables {HW_VAR_CORRECT_TSF ,HW_VAR_MLME_SITESURVEY ,HW_VAR_DM_FLAG , -HW_VAR_DM_FUNC_OP ,HW_VAR_DM_FUNC_RESET , HW_VAR_DM_FUNC_CLR, };
Signature · 1 line
2.36.1
PATCH 3/5 staging: r8188eu: remove HW_VAR_DM_FLAG from SetHwReg8188EU()
In reply to Michael StraubeRemove the HW_VAR_DM_FLAG case from SetHwReg8188EU() and move its functionality to a static function. This is part of the ongoing effort to get rid of SetHwReg8188EU().
--- drivers/staging/r8188eu/hal/usb_halinit.c | 3 --- drivers/staging/r8188eu/include/hal_intf.h | 1 - drivers/staging/r8188eu/os_dep/ioctl_linux.c | 10 +++++++++- 3 files changed, 9 insertions(+), 5 deletions(-)
drivers/staging/r8188eu/hal/usb_halinit.c +0 -3
@@ -1157,9 +1157,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)rtw_write32 (Adapter,REG_RCR , reg32 |RCR_CBSSID_BCN ); }break ; -case HW_VAR_DM_FLAG : - podmpriv->SupportAbility = *((u8 *)val); -break ;case HW_VAR_DM_FUNC_RESET : podmpriv->SupportAbility = pdmpriv->InitODMFlag;break ;
drivers/staging/r8188eu/include/hal_intf.h +0 -1
@@ -12,7 +12,6 @@ enum hw_variables {HW_VAR_SET_OPMODE ,HW_VAR_CORRECT_TSF ,HW_VAR_MLME_SITESURVEY , -HW_VAR_DM_FLAG ,HW_VAR_DM_FUNC_RESET , HW_VAR_DM_FUNC_CLR, };
drivers/staging/r8188eu/os_dep/ioctl_linux.c +9 -1
@@ -3221,6 +3221,14 @@ static void rtw_set_dynamic_functions(struct adapter *adapter, u8 dm_func) } } +static void rtw_set_dm_func_flag (struct adapter *adapter,u32 odm_flag) +{ +struct hal_data_8188e *haldata = &adapter->haldata; +struct odm_dm_struct *odmpriv = &haldata->odmpriv; + + odmpriv->SupportAbility = odm_flag; +} +static int rtw_dbg_port (struct net_device *dev,struct iw_request_info *info,union iwreq_data *wrqu,char *extra)
@@ -3459,7 +3467,7 @@ static int rtw_dbg_port(struct net_device *dev,case 0x06 : {u32 ODMFlag = (u32)(0x0f & arg); -SetHwReg8188EU (padapter,HW_VAR_DM_FLAG , (u8 *)(&ODMFlag)); +rtw_set_dm_func_flag (padapter, ODMFlag); }break ;case 0x07 :
Signature · 1 line
2.36.1
PATCH 4/5 staging: r8188eu: remove HW_VAR_DM_FUNC_RESET from SetHwReg8188EU()
In reply to Michael StraubeRemove the HW_VAR_DM_FUNC_RESET case from SetHwReg8188EU() and move its functionality to a static function. This is part of the ongoing effort to get rid of SetHwReg8188EU().
--- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 11 ++++++++++- drivers/staging/r8188eu/hal/usb_halinit.c | 4 ---- drivers/staging/r8188eu/include/hal_intf.h | 1 - 3 files changed, 10 insertions(+), 6 deletions(-)
drivers/staging/r8188eu/core/rtw_mlme_ext.c +10 -1
@@ -6646,6 +6646,15 @@ void update_sta_info(struct adapter *padapter, struct sta_info *psta) psta->state = _FW_LINKED; } +static void rtw_reset_dm_func_flag (struct adapter *adapter) +{ +struct hal_data_8188e *haldata = &adapter->haldata; +struct dm_priv *dmpriv = &haldata->dmpriv; +struct odm_dm_struct *odmpriv = &haldata->odmpriv; + + odmpriv->SupportAbility = dmpriv->InitODMFlag; +} +void mlmeext_joinbss_event_callback (struct adapter *padapter,int join_res) {struct sta_info *psta, *psta_bmc;
@@ -6676,7 +6685,7 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res) }/* turn on dynamic functions */ -SetHwReg8188EU (padapter,HW_VAR_DM_FUNC_RESET ,NULL ); +rtw_reset_dm_func_flag (padapter);/* update IOT-releated issue */ update_IOT_info (padapter);
drivers/staging/r8188eu/hal/usb_halinit.c +0 -4
@@ -1062,7 +1062,6 @@ static void hw_var_set_opmode(struct adapter *Adapter, u8 *val)void SetHwReg8188EU (struct adapter *Adapter,u8 variable,u8 *val) {struct hal_data_8188e *haldata = &Adapter->haldata; -struct dm_priv *pdmpriv = &haldata->dmpriv;struct odm_dm_struct *podmpriv = &haldata->odmpriv;u8 reg;int res;
@@ -1157,9 +1156,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)rtw_write32 (Adapter,REG_RCR , reg32 |RCR_CBSSID_BCN ); }break ; -case HW_VAR_DM_FUNC_RESET : - podmpriv->SupportAbility = pdmpriv->InitODMFlag; -break ;case HW_VAR_DM_FUNC_CLR : podmpriv->SupportAbility =0 ;break ;
drivers/staging/r8188eu/include/hal_intf.h +0 -1
@@ -12,7 +12,6 @@ enum hw_variables {HW_VAR_SET_OPMODE ,HW_VAR_CORRECT_TSF ,HW_VAR_MLME_SITESURVEY , -HW_VAR_DM_FUNC_RESET , HW_VAR_DM_FUNC_CLR, };
Signature · 1 line
2.36.1
PATCH 5/5 staging: r8188eu: remove HW_VAR_DM_FUNC_CLR from SetHwReg8188EU()
In reply to Michael StraubeRemove the HW_VAR_DM_FUNC_CLR case from SetHwReg8188EU() and move its functionality to a static function. This is part of the ongoing effort to get rid of SetHwReg8188EU().
--- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 12 ++++++++++-- drivers/staging/r8188eu/hal/usb_halinit.c | 5 ----- drivers/staging/r8188eu/include/hal_intf.h | 1 - 3 files changed, 10 insertions(+), 8 deletions(-)
drivers/staging/r8188eu/core/rtw_mlme_ext.c +10 -2
@@ -6655,6 +6655,14 @@ static void rtw_reset_dm_func_flag(struct adapter *adapter) odmpriv->SupportAbility = dmpriv->InitODMFlag; } +static void rtw_clear_dm_func_flag (struct adapter *adapter) +{ +struct hal_data_8188e *haldata = &adapter->haldata; +struct odm_dm_struct *odmpriv = &haldata->odmpriv; + + odmpriv->SupportAbility =0 ; +} +void mlmeext_joinbss_event_callback (struct adapter *padapter,int join_res) {struct sta_info *psta, *psta_bmc;
@@ -7110,7 +7118,7 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)/* disable dynamic functions, such as high power, DIG */ Save_DM_Func_Flag (padapter); -SetHwReg8188EU (padapter,HW_VAR_DM_FUNC_CLR ,NULL ); +rtw_clear_dm_func_flag (padapter);/* cancel link timer */ _cancel_timer_ex (&pmlmeext->link_timer);
@@ -7380,7 +7388,7 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)if ((pmlmeext->sitesurvey_res.state ==SCAN_START ) || (pmlmeext->sitesurvey_res.state ==SCAN_TXNULL )) {/* disable dynamic functions, such as high power, DIG */ Save_DM_Func_Flag (padapter); -SetHwReg8188EU (padapter,HW_VAR_DM_FUNC_CLR ,NULL ); +rtw_clear_dm_func_flag (padapter);/* config the initial gain under scanning, need to write the BB registers */ if (rtw_p2p_chk_state (pwdinfo,P2P_STATE_NONE ))
drivers/staging/r8188eu/hal/usb_halinit.c +0 -5
@@ -1061,8 +1061,6 @@ static void hw_var_set_opmode(struct adapter *Adapter, u8 *val)void SetHwReg8188EU (struct adapter *Adapter,u8 variable,u8 *val) { -struct hal_data_8188e *haldata = &Adapter->haldata; -struct odm_dm_struct *podmpriv = &haldata->odmpriv;u8 reg;int res;
@@ -1156,9 +1154,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)rtw_write32 (Adapter,REG_RCR , reg32 |RCR_CBSSID_BCN ); }break ; -case HW_VAR_DM_FUNC_CLR : - podmpriv->SupportAbility =0 ; -break ;default :break ; }
drivers/staging/r8188eu/include/hal_intf.h +0 -1
@@ -12,7 +12,6 @@ enum hw_variables {HW_VAR_SET_OPMODE ,HW_VAR_CORRECT_TSF , HW_VAR_MLME_SITESURVEY, - HW_VAR_DM_FUNC_CLR, };typedef s32 (*c2h_id_filter )(u8 id);
Signature · 1 line
2.36.1