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) {
|
if (ret) {
|
||||||
icnss_pr_err("RESET: RF reset command failed, state: 0x%lx\n",
|
icnss_pr_err("RESET: RF reset command failed, state: 0x%lx\n",
|
||||||
priv->state);
|
priv->state);
|
||||||
icnss_hw_wsi_cmd_error_recovery(priv);
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
icnss_hw_write_reg_field(priv->mem_base_va, PMM_WSI_CMD_OFFSET,
|
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) {
|
if (ret) {
|
||||||
icnss_pr_err("RESET: XO disable command failed, state: 0x%lx\n",
|
icnss_pr_err("RESET: XO disable command failed, state: 0x%lx\n",
|
||||||
priv->state);
|
priv->state);
|
||||||
icnss_hw_wsi_cmd_error_recovery(priv);
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
icnss_hw_write_reg_field(priv->mem_base_va, PMM_WSI_CMD_OFFSET,
|
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 rdata;
|
||||||
u32 rdata1;
|
u32 rdata1;
|
||||||
int i;
|
int i;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
if (test_bit(HW_ONLY_TOP_LEVEL_RESET, &quirks))
|
if (test_bit(HW_ONLY_TOP_LEVEL_RESET, &quirks))
|
||||||
goto top_level_reset;
|
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_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_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,
|
icnss_hw_write_reg_field(priv->mpm_config_va, MPM_WCSSAON_CONFIG_OFFSET,
|
||||||
MPM_WCSSAON_CONFIG_FORCE_ACTIVE, 0);
|
MPM_WCSSAON_CONFIG_FORCE_ACTIVE, 0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue