staging: r8188eu: remove HW_VAR_BCN_VALID from SetHwReg8188EU()
authorMichael Straube <straube.linux@gmail.com>
Tue, 29 Mar 2022 20:21:41 +0000 (22:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 4 Apr 2022 05:33:48 +0000 (07:33 +0200)
The HW_VAR_BCN_VALID case in SetHwReg8188EU() just calls rtw_write8().
Remove HW_VAR_BCN_VALID from SetHwReg8188EU() and call rtw_write8()
directly. Move the call to a new function to indicate what it actually
does. This is part of the ongoing effort to getrid of the unwanted hal
layer.

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

index 7ddb8a8..643f9f8 100644 (file)
@@ -5761,7 +5761,8 @@ unsigned int send_beacon(struct adapter *padapter)
 
        u32 start = jiffies;
 
-       SetHwReg8188EU(padapter, HW_VAR_BCN_VALID, NULL);
+       clear_bacon_valid_bit(padapter);
+
        do {
                issue_beacon(padapter, 100);
                issue++;
@@ -5783,6 +5784,12 @@ unsigned int send_beacon(struct adapter *padapter)
        }
 }
 
+void clear_bacon_valid_bit(struct adapter *adapter)
+{
+       /* BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2, write 1 to clear, Clear by sw */
+       rtw_write8(adapter, REG_TDECTRL + 2, rtw_read8(adapter, REG_TDECTRL + 2) | BIT(0));
+}
+
 /****************************************************************************
 
 Following are some utitity fuctions for WiFi MLME
index f1464e4..a733795 100644 (file)
@@ -557,8 +557,7 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
                rtw_write8(adapt, REG_FWHW_TXQ_CTRL + 2, (haldata->RegFwHwTxQCtrl & (~BIT(6))));
                haldata->RegFwHwTxQCtrl &= (~BIT(6));
 
-               /*  Clear beacon valid check bit. */
-               SetHwReg8188EU(adapt, HW_VAR_BCN_VALID, NULL);
+               clear_bacon_valid_bit(adapt);
                DLBcnCount = 0;
                poll = 0;
                do {
@@ -597,7 +596,7 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 
                /*  Update RSVD page location H2C to Fw. */
                if (bcn_valid)
-                       SetHwReg8188EU(adapt, HW_VAR_BCN_VALID, NULL);
+                       clear_bacon_valid_bit(adapt);
 
                /*  Do not enable HW DMA BCN or it will cause Pcie interface hang by timing issue. 2011.11.24. by tynli. */
                /*  Clear CR[8] or beacon packet will not be send to TxBuf anymore. */
index a3c955e..0330947 100644 (file)
@@ -1277,10 +1277,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
        case HW_VAR_H2C_MEDIA_STATUS_RPT:
                rtl8188e_set_FwMediaStatus_cmd(Adapter, (*(__le16 *)val));
                break;
-       case HW_VAR_BCN_VALID:
-               /* BCN_VALID, BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2, write 1 to clear, Clear by sw */
-               rtw_write8(Adapter, REG_TDECTRL + 2, rtw_read8(Adapter, REG_TDECTRL + 2) | BIT(0));
-               break;
        default:
                break;
        }
index 9f08103..66f7361 100644 (file)
@@ -538,6 +538,7 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
                     unsigned char action, unsigned short status);
 unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr);
 unsigned int send_beacon(struct adapter *padapter);
+void clear_bacon_valid_bit(struct adapter *adapter);
 
 void start_clnt_assoc(struct adapter *padapter);
 void start_clnt_auth(struct adapter *padapter);