Commit 03ab0024 authored by Michael Straube's avatar Michael Straube Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: remove HW_VAR_ACM_CTRL from SetHwReg8188EU()



SetHwReg8188EU() is called with HW_VAR_ACM_CTRL only from a function
in rtw_wlan_util.c. Move the functionality into a static function in
rtw_wlan_util.c and remove the HW_VAR_ACM_CTRL 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-5-straube.linux@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c427ab46
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -503,6 +503,31 @@ int WMM_param_handler(struct adapter *padapter, struct ndis_802_11_var_ie *pIE)
	return true;
}

static void set_acm_ctrl(struct adapter *adapter, u8 acm_mask)
{
	u8 acmctrl = rtw_read8(adapter, REG_ACMHWCTRL);

	if (acm_mask > 1)
		acmctrl = acmctrl | 0x1;

	if (acm_mask & BIT(3))
		acmctrl |= ACMHW_VOQEN;
	else
		acmctrl &= (~ACMHW_VOQEN);

	if (acm_mask & BIT(2))
		acmctrl |= ACMHW_VIQEN;
	else
		acmctrl &= (~ACMHW_VIQEN);

	if (acm_mask & BIT(1))
		acmctrl |= ACMHW_BEQEN;
	else
		acmctrl &= (~ACMHW_BEQEN);

	rtw_write8(adapter, REG_ACMHWCTRL, acmctrl);
}

void WMMOnAssocRsp(struct adapter *padapter)
{
	u8	ACI, ACM, AIFS, ECWMin, ECWMax, aSifsTime;
@@ -564,7 +589,7 @@ void WMMOnAssocRsp(struct adapter *padapter)
	}

	if (padapter->registrypriv.acm_method == 1)
		SetHwReg8188EU(padapter, HW_VAR_ACM_CTRL, (u8 *)(&acm_mask));
		set_acm_ctrl(padapter, acm_mask);
	else
		padapter->mlmepriv.acm_mask = acm_mask;

+0 −26
Original line number Diff line number Diff line
@@ -1139,32 +1139,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
		haldata->AcParam_BE = ((u32 *)(val))[0];
		rtw_write32(Adapter, REG_EDCA_BE_PARAM, ((u32 *)(val))[0]);
		break;
	case HW_VAR_ACM_CTRL:
		{
			u8 acm_ctrl = *((u8 *)val);
			u8 AcmCtrl = rtw_read8(Adapter, REG_ACMHWCTRL);

			if (acm_ctrl > 1)
				AcmCtrl = AcmCtrl | 0x1;

			if (acm_ctrl & BIT(3))
				AcmCtrl |= ACMHW_VOQEN;
			else
				AcmCtrl &= (~ACMHW_VOQEN);

			if (acm_ctrl & BIT(2))
				AcmCtrl |= ACMHW_VIQEN;
			else
				AcmCtrl &= (~ACMHW_VIQEN);

			if (acm_ctrl & BIT(1))
				AcmCtrl |= ACMHW_BEQEN;
			else
				AcmCtrl &= (~ACMHW_BEQEN);

			rtw_write8(Adapter, REG_ACMHWCTRL, AcmCtrl);
		}
		break;
	case HW_VAR_AMPDU_MIN_SPACE:
		{
			u8 MinSpacingToSet;
+0 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ enum hw_variables {
	HW_VAR_DM_FUNC_RESET,
	HW_VAR_DM_FUNC_CLR,
	HW_VAR_AC_PARAM_BE,
	HW_VAR_ACM_CTRL,
	HW_VAR_AMPDU_MIN_SPACE,
	HW_VAR_AMPDU_FACTOR,
	HW_VAR_RXDMA_AGG_PG_TH,