Commit 2ac32870 authored by Michael Straube's avatar Michael Straube Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: remove HW_VAR_RXDMA_AGG_PG_TH from SetHwReg8188EU()



The HW_VAR_RXDMA_AGG_PG_TH case in SetHwReg8188EU() just sets a
variable conditionally and then calls rtw_write8(). Set the variable
in the caller and call rtw_write8() directly. Move the functionality
into a new static function to make the code cleaner. Remove the
HW_VAR_RXDMA_AGG_PG_TH case from SetHwReg8188EU(). This is part of the
ongoing effort to get rid of the unwanted hal layer.

Signed-off-by: default avatarMichael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20220329202141.7028-6-straube.linux@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 03ab0024
Loading
Loading
Loading
Loading
+21 −13
Original line number Original line Diff line number Diff line
@@ -1787,10 +1787,29 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter)


}
}


static void rtw_set_threshold(struct adapter *adapter)
{
	u8 threshold;
	struct mlme_priv *mlmepriv = &adapter->mlmepriv;
	struct ht_priv *htpriv = &mlmepriv->htpriv;

	/*  TH = 1 => means that invalidate usb rx aggregation */
	/*  TH = 0 => means that validate usb rx aggregation, use init value. */
	if (htpriv->ht_option) {
		if (adapter->registrypriv.wifi_spec == 1)
			threshold = 1;
		else
			threshold = USB_RXAGG_PAGE_COUNT;

		rtw_write8(adapter, REG_RXDMA_AGG_PG_TH, threshold);
	} else {
		rtw_write8(adapter, REG_RXDMA_AGG_PG_TH, 1);
	}
}

/* the function is at passive_level */
/* the function is at passive_level */
void rtw_joinbss_reset(struct adapter *padapter)
void rtw_joinbss_reset(struct adapter *padapter)
{
{
	u8	threshold;
	struct mlme_priv	*pmlmepriv = &padapter->mlmepriv;
	struct mlme_priv	*pmlmepriv = &padapter->mlmepriv;
	struct ht_priv		*phtpriv = &pmlmepriv->htpriv;
	struct ht_priv		*phtpriv = &pmlmepriv->htpriv;


@@ -1801,18 +1820,7 @@ void rtw_joinbss_reset(struct adapter *padapter)


	phtpriv->ampdu_enable = false;/* reset to disabled */
	phtpriv->ampdu_enable = false;/* reset to disabled */


	/*  TH = 1 => means that invalidate usb rx aggregation */
	rtw_set_threshold(padapter);
	/*  TH = 0 => means that validate usb rx aggregation, use init value. */
	if (phtpriv->ht_option) {
		if (padapter->registrypriv.wifi_spec == 1)
			threshold = 1;
		else
			threshold = 0;
		SetHwReg8188EU(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
	} else {
		threshold = 1;
		SetHwReg8188EU(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
	}
}
}


/* the function is >= passive_level */
/* the function is >= passive_level */
+0 −8
Original line number Original line Diff line number Diff line
@@ -1193,14 +1193,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
			}
			}
		}
		}
		break;
		break;
	case HW_VAR_RXDMA_AGG_PG_TH:
		{
			u8 threshold = *((u8 *)val);
			if (threshold == 0)
				threshold = USB_RXAGG_PAGE_COUNT;
			rtw_write8(Adapter, REG_RXDMA_AGG_PG_TH, threshold);
		}
		break;
	case HW_VAR_H2C_FW_PWRMODE:
	case HW_VAR_H2C_FW_PWRMODE:
		{
		{
			u8 psmode = (*(u8 *)val);
			u8 psmode = (*(u8 *)val);
+0 −1
Original line number Original line Diff line number Diff line
@@ -25,7 +25,6 @@ enum hw_variables {
	HW_VAR_AC_PARAM_BE,
	HW_VAR_AC_PARAM_BE,
	HW_VAR_AMPDU_MIN_SPACE,
	HW_VAR_AMPDU_MIN_SPACE,
	HW_VAR_AMPDU_FACTOR,
	HW_VAR_AMPDU_FACTOR,
	HW_VAR_RXDMA_AGG_PG_TH,
	HW_VAR_H2C_FW_PWRMODE,
	HW_VAR_H2C_FW_PWRMODE,
	HW_VAR_H2C_FW_JOINBSSRPT,
	HW_VAR_H2C_FW_JOINBSSRPT,
	HW_VAR_FWLPS_RF_ON,
	HW_VAR_FWLPS_RF_ON,