Merge "icnss: Do top level reset when timeout to pull register state"
This commit is contained in:
commit
604c0ceedb
1 changed files with 9 additions and 4 deletions
|
@ -1318,7 +1318,7 @@ static int icnss_hw_reset_rf_reset_cmd(struct icnss_priv *priv)
|
|||
if (ret) {
|
||||
icnss_pr_err("RESET: RF reset command failed, state: 0x%lx\n",
|
||||
priv->state);
|
||||
icnss_hw_wsi_cmd_error_recovery(priv);
|
||||
return ret;
|
||||
}
|
||||
|
||||
icnss_hw_write_reg_field(priv->mem_base_va, PMM_WSI_CMD_OFFSET,
|
||||
|
@ -1389,7 +1389,7 @@ static int icnss_hw_reset_xo_disable_cmd(struct icnss_priv *priv)
|
|||
if (ret) {
|
||||
icnss_pr_err("RESET: XO disable command failed, state: 0x%lx\n",
|
||||
priv->state);
|
||||
icnss_hw_wsi_cmd_error_recovery(priv);
|
||||
return ret;
|
||||
}
|
||||
|
||||
icnss_hw_write_reg_field(priv->mem_base_va, PMM_WSI_CMD_OFFSET,
|
||||
|
@ -1406,6 +1406,7 @@ static int icnss_hw_reset(struct icnss_priv *priv)
|
|||
u32 rdata;
|
||||
u32 rdata1;
|
||||
int i;
|
||||
int ret = 0;
|
||||
|
||||
if (test_bit(HW_ONLY_TOP_LEVEL_RESET, &quirks))
|
||||
goto top_level_reset;
|
||||
|
@ -1457,11 +1458,15 @@ static int icnss_hw_reset(struct icnss_priv *priv)
|
|||
|
||||
icnss_hw_reset_wlan_rfactrl_power_down(priv);
|
||||
|
||||
icnss_hw_reset_rf_reset_cmd(priv);
|
||||
ret = icnss_hw_reset_rf_reset_cmd(priv);
|
||||
if (ret)
|
||||
goto top_level_reset;
|
||||
|
||||
icnss_hw_reset_switch_to_cxo(priv);
|
||||
|
||||
icnss_hw_reset_xo_disable_cmd(priv);
|
||||
ret = icnss_hw_reset_xo_disable_cmd(priv);
|
||||
if (ret)
|
||||
goto top_level_reset;
|
||||
|
||||
icnss_hw_write_reg_field(priv->mpm_config_va, MPM_WCSSAON_CONFIG_OFFSET,
|
||||
MPM_WCSSAON_CONFIG_FORCE_ACTIVE, 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue