pwrpriv->rf_pwrstate = rf_off;
}
pwrpriv->bips_processing = false;
-
}
void ips_enter(struct adapter *padapter)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
-
hal_btcoex_IpsNotify(padapter, pwrpriv->ips_mode_req);
mutex_lock(&pwrpriv->lock);
return ret;
}
-
/*
* ATTENTION:
*rtw_ps_processor() doesn't handle LPS.
u8 bLeaveLPS = false;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-
if (tx) { /* from tx */
xmit_cnt += tx_packets;
if (pwrpriv->rpwm == pslv ||
(pwrpriv->rpwm >= PS_STATE_S2 && pslv >= PS_STATE_S2))
return;
-
}
if ((padapter->bSurpriseRemoved) || !(padapter->hw_init_completed)) {
pwrpriv->cpwm = PS_STATE_S4;
-
return;
}
if (ps_mode == PS_MODE_ACTIVE)
return;
-
mutex_lock(&pwrpriv->lock);
/* if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
u8 bAwake = false;
s32 err = 0;
-
start_time = jiffies;
while (1) {
rtw_hal_get_hwreg(padapter, HW_VAR_FWLPS_RF_ON, &bAwake);
exit:
mutex_unlock(&pwrpriv->lock);
-
}
static void cpwm_event_callback(struct work_struct *work)
struct dvobj_priv *dvobj;
struct pwrctrl_priv *pwrpriv;
-
pwrpriv = container_of(work, struct pwrctrl_priv, rpwmtimeoutwi);
dvobj = pwrctl_to_dvobj(pwrpriv);
padapter = dvobj->if1;
pwrctrl->alives &= ~tag;
}
-
/*
* Description:
*Check if the fw_pwrstate is okay for I/O.
if (time_before(pwrpriv->ips_deny_time, deny_time))
pwrpriv->ips_deny_time = deny_time;
-
if (pwrpriv->ps_processing)
while (pwrpriv->ps_processing && jiffies_to_msecs(jiffies - start) <= 3000)
mdelay(10);
if (time_before(pwrpriv->ips_deny_time, deny_time))
pwrpriv->ips_deny_time = deny_time;
return ret;
-
}
int rtw_pm_set_lps(struct adapter *padapter, u8 mode)