]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
staging: r8188eu: remove HW_VAR_FWLPS_RF_ON from GetHwReg8188EU()
authorMichael Straube <straube.linux@gmail.com>
Thu, 31 Mar 2022 13:05:21 +0000 (15:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Apr 2022 05:33:48 +0000 (07:33 +0200)
Move the functionality of the HW_VAR_FWLPS_RF_ON case in
GetHwReg8188EU() to a static function in rtw_pwrctrl.c and remove the
HW_VAR_FWLPS_RF_ON case from GetHwReg8188EU(). This is part of the
ongoing effort to get rid of the unwanted hal layer.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20220331130522.6648-5-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_pwrctrl.c
drivers/staging/r8188eu/hal/usb_halinit.c
drivers/staging/r8188eu/include/hal_intf.h

index 7beabf82eb92cb1035fc23a5d59304f4ecc6821d..0141de7ab08c92d0ea6f1cc67ac114e6547284eb 100644 (file)
@@ -217,6 +217,21 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
 
 }
 
+static bool lps_rf_on(struct adapter *adapter)
+{
+       /* When we halt NIC, we should check if FW LPS is leave. */
+       if (adapter->pwrctrlpriv.rf_pwrstate == rf_off) {
+               /*  If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, */
+               /*  because Fw is unload. */
+               return true;
+       }
+
+       if (rtw_read32(adapter, REG_RCR) & 0x00070000)
+               return false;
+
+       return true;
+}
+
 /*
  * Return:
  *     0:      Leave OK
@@ -226,13 +241,11 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
 s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms)
 {
        u32 start_time;
-       u8 bAwake = false;
        s32 err = 0;
 
        start_time = jiffies;
        while (1) {
-               GetHwReg8188EU(padapter, HW_VAR_FWLPS_RF_ON, &bAwake);
-               if (bAwake)
+               if (lps_rf_on(padapter))
                        break;
 
                if (padapter->bSurpriseRemoved) {
index 611785caa17f26712a8f35c8b29c7993ea760541..37c56690b13a15a8901f7b2548825afeb8c246df 100644 (file)
@@ -1292,24 +1292,6 @@ void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
        case HW_VAR_DM_FLAG:
                val[0] = podmpriv->SupportAbility;
                break;
-       case HW_VAR_FWLPS_RF_ON:
-               {
-                       /* When we halt NIC, we should check if FW LPS is leave. */
-                       if (Adapter->pwrctrlpriv.rf_pwrstate == rf_off) {
-                               /*  If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, */
-                               /*  because Fw is unload. */
-                               val[0] = true;
-                       } else {
-                               u32 valRCR;
-                               valRCR = rtw_read32(Adapter, REG_RCR);
-                               valRCR &= 0x00070000;
-                               if (valRCR)
-                                       val[0] = false;
-                               else
-                                       val[0] = true;
-                       }
-               }
-               break;
        default:
                break;
        }
index f0a6d697e68bd848f03950ecf6815d2046861dc7..0033a0aca27b1dbca0d41743d64c9ab1eb484653 100644 (file)
@@ -26,7 +26,6 @@ enum hw_variables {
        HW_VAR_AMPDU_FACTOR,
        HW_VAR_H2C_FW_PWRMODE,
        HW_VAR_H2C_FW_JOINBSSRPT,
-       HW_VAR_FWLPS_RF_ON,
        HW_VAR_H2C_FW_P2P_PS_OFFLOAD,
        HW_VAR_INITIAL_GAIN,
        HW_VAR_ANTENNA_DIVERSITY_SELECT,