From 2487b7c46b1a06cd32d85f065bca75c3fe1d544d Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Tue, 29 Mar 2022 22:21:41 +0200 Subject: [PATCH] staging: r8188eu: remove HW_VAR_BCN_VALID from SetHwReg8188EU() 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 Link: https://lore.kernel.org/r/20220329202141.7028-9-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 9 ++++++++- drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 5 ++--- drivers/staging/r8188eu/hal/usb_halinit.c | 4 ---- drivers/staging/r8188eu/include/rtw_mlme_ext.h | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c index 7ddb8a8131609..643f9f8a7a3df 100644 --- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -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 diff --git a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c index f1464e4ba4299..a7337954891ab 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c @@ -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. */ diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c index a3c955e54321e..0330947e01060 100644 --- a/drivers/staging/r8188eu/hal/usb_halinit.c +++ b/drivers/staging/r8188eu/hal/usb_halinit.c @@ -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; } diff --git a/drivers/staging/r8188eu/include/rtw_mlme_ext.h b/drivers/staging/r8188eu/include/rtw_mlme_ext.h index 9f08103d84384..66f7361e7a192 100644 --- a/drivers/staging/r8188eu/include/rtw_mlme_ext.h +++ b/drivers/staging/r8188eu/include/rtw_mlme_ext.h @@ -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); -- 2.30.2