|
@@ -2865,6 +2865,7 @@ static int cnss_qca6290_powerup(struct cnss_pci_data *pci_priv)
|
|
struct cnss_plat_data *plat_priv = pci_priv->plat_priv;
|
|
struct cnss_plat_data *plat_priv = pci_priv->plat_priv;
|
|
unsigned int timeout;
|
|
unsigned int timeout;
|
|
int retry = 0, bt_en_gpio = plat_priv->pinctrl_info.bt_en_gpio;
|
|
int retry = 0, bt_en_gpio = plat_priv->pinctrl_info.bt_en_gpio;
|
|
|
|
+ int sw_ctrl_gpio = plat_priv->pinctrl_info.sw_ctrl_gpio;
|
|
|
|
|
|
if (plat_priv->ramdump_info_v2.dump_data_valid) {
|
|
if (plat_priv->ramdump_info_v2.dump_data_valid) {
|
|
cnss_pci_clear_dump_info(pci_priv);
|
|
cnss_pci_clear_dump_info(pci_priv);
|
|
@@ -2888,6 +2889,8 @@ retry:
|
|
ret = cnss_resume_pci_link(pci_priv);
|
|
ret = cnss_resume_pci_link(pci_priv);
|
|
if (ret) {
|
|
if (ret) {
|
|
cnss_pr_err("Failed to resume PCI link, err = %d\n", ret);
|
|
cnss_pr_err("Failed to resume PCI link, err = %d\n", ret);
|
|
|
|
+ cnss_pr_dbg("Value of SW_CTRL GPIO: %d\n",
|
|
|
|
+ cnss_get_input_gpio_value(plat_priv, sw_ctrl_gpio));
|
|
if (test_bit(IGNORE_PCI_LINK_FAILURE,
|
|
if (test_bit(IGNORE_PCI_LINK_FAILURE,
|
|
&plat_priv->ctrl_params.quirks)) {
|
|
&plat_priv->ctrl_params.quirks)) {
|
|
cnss_pr_dbg("Ignore PCI link resume failure\n");
|
|
cnss_pr_dbg("Ignore PCI link resume failure\n");
|
|
@@ -2906,6 +2909,9 @@ retry:
|
|
gpio_get_value(bt_en_gpio));
|
|
gpio_get_value(bt_en_gpio));
|
|
}
|
|
}
|
|
cnss_pr_dbg("Retry to resume PCI link #%d\n", retry);
|
|
cnss_pr_dbg("Retry to resume PCI link #%d\n", retry);
|
|
|
|
+ cnss_pr_dbg("Value of SW_CTRL GPIO: %d\n",
|
|
|
|
+ cnss_get_input_gpio_value(plat_priv,
|
|
|
|
+ sw_ctrl_gpio));
|
|
msleep(POWER_ON_RETRY_DELAY_MS * retry);
|
|
msleep(POWER_ON_RETRY_DELAY_MS * retry);
|
|
goto retry;
|
|
goto retry;
|
|
}
|
|
}
|