mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
staging: r8188eu: remove HW_VAR_H2C_FW_PWRMODE
Remove the HW_VAR_H2C_FW_PWRMODE case from SetHwReg8188EU() and move its functionality to a new function in rtw_pwrctrl.c. 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/20220409120627.10633-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7c05493bcf
commit
327ec68be7
@@ -1612,7 +1612,7 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
|
||||
if (padapter->pwrctrlpriv.bFwCurrentInPSMode) {
|
||||
if (pwrpriv->smart_ps == 0) {
|
||||
pwrpriv->smart_ps = 2;
|
||||
SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
|
||||
rtw_set_firmware_ps_mode(padapter, pwrpriv->pwr_mode);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1623,7 +1623,7 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
|
||||
if (pwdinfo->ctwindow > 0) {
|
||||
if (pwrpriv->smart_ps != 0) {
|
||||
pwrpriv->smart_ps = 0;
|
||||
SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
|
||||
rtw_set_firmware_ps_mode(padapter, pwrpriv->pwr_mode);
|
||||
}
|
||||
}
|
||||
rtl8188e_set_p2p_ps_offload_cmd(padapter, p2p_ps_state);
|
||||
|
||||
@@ -176,6 +176,19 @@ static bool PS_RDY_CHECK(struct adapter *padapter)
|
||||
return true;
|
||||
}
|
||||
|
||||
void rtw_set_firmware_ps_mode(struct adapter *adapter, u8 mode)
|
||||
{
|
||||
struct hal_data_8188e *haldata = &adapter->haldata;
|
||||
struct odm_dm_struct *odmpriv = &haldata->odmpriv;
|
||||
|
||||
/* Force leave RF low power mode for 1T1R to prevent
|
||||
* conflicting setting in firmware power saving sequence.
|
||||
*/
|
||||
if (mode != PS_MODE_ACTIVE)
|
||||
ODM_RF_Saving(odmpriv, true);
|
||||
rtl8188e_set_FwPwrMode_cmd(adapter, mode);
|
||||
}
|
||||
|
||||
void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode)
|
||||
{
|
||||
struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
|
||||
@@ -193,11 +206,10 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
|
||||
return;
|
||||
}
|
||||
|
||||
/* if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
|
||||
if (ps_mode == PS_MODE_ACTIVE) {
|
||||
if (pwdinfo->opp_ps == 0) {
|
||||
pwrpriv->pwr_mode = ps_mode;
|
||||
SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
|
||||
rtw_set_firmware_ps_mode(padapter, ps_mode);
|
||||
pwrpriv->bFwCurrentInPSMode = false;
|
||||
}
|
||||
} else {
|
||||
@@ -206,14 +218,13 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
|
||||
pwrpriv->pwr_mode = ps_mode;
|
||||
pwrpriv->smart_ps = smart_ps;
|
||||
pwrpriv->bcn_ant_mode = bcn_ant_mode;
|
||||
SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
|
||||
rtw_set_firmware_ps_mode(padapter, ps_mode);
|
||||
|
||||
/* Set CTWindow after LPS */
|
||||
if (pwdinfo->opp_ps == 1)
|
||||
p2p_ps_wk_cmd(padapter, P2P_PS_ENABLE, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static bool lps_rf_on(struct adapter *adapter)
|
||||
|
||||
@@ -1105,17 +1105,6 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case HW_VAR_H2C_FW_PWRMODE:
|
||||
{
|
||||
u8 psmode = (*(u8 *)val);
|
||||
|
||||
/* Forece leave RF low power mode for 1T1R to prevent conficting setting in Fw power */
|
||||
/* saving sequence. 2010.06.07. Added by tynli. Suggested by SD3 yschang. */
|
||||
if (psmode != PS_MODE_ACTIVE)
|
||||
ODM_RF_Saving(podmpriv, true);
|
||||
rtl8188e_set_FwPwrMode_cmd(Adapter, psmode);
|
||||
}
|
||||
break;
|
||||
case HW_VAR_H2C_MEDIA_STATUS_RPT:
|
||||
rtl8188e_set_FwMediaStatus_cmd(Adapter, (*(__le16 *)val));
|
||||
break;
|
||||
|
||||
@@ -20,7 +20,6 @@ enum hw_variables {
|
||||
HW_VAR_DM_FUNC_CLR,
|
||||
HW_VAR_AC_PARAM_BE,
|
||||
HW_VAR_AMPDU_FACTOR,
|
||||
HW_VAR_H2C_FW_PWRMODE,
|
||||
HW_VAR_H2C_MEDIA_STATUS_RPT,
|
||||
};
|
||||
|
||||
|
||||
@@ -95,6 +95,7 @@ struct pwrctrl_priv {
|
||||
|
||||
void rtw_init_pwrctrl_priv(struct adapter *adapter);
|
||||
|
||||
void rtw_set_firmware_ps_mode(struct adapter *adapter, u8 mode);
|
||||
void rtw_set_ps_mode(struct adapter *adapter, u8 ps_mode, u8 smart_ps,
|
||||
u8 bcn_ant_mode);
|
||||
void LeaveAllPowerSaveMode(struct adapter *adapter);
|
||||
|
||||
Reference in New Issue
Block a user