Loading drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -374,6 +374,7 @@ void cnss_put_clk(struct cnss_plat_data *plat_priv); int cnss_get_pinctrl(struct cnss_plat_data *plat_priv); int cnss_power_on_device(struct cnss_plat_data *plat_priv); void cnss_power_off_device(struct cnss_plat_data *plat_priv); bool cnss_is_device_powered_on(struct cnss_plat_data *plat_priv); int cnss_register_subsys(struct cnss_plat_data *plat_priv); void cnss_unregister_subsys(struct cnss_plat_data *plat_priv); int cnss_register_ramdump(struct cnss_plat_data *plat_priv); Loading drivers/net/wireless/cnss2/pci.c +16 −2 Original line number Diff line number Diff line Loading @@ -422,8 +422,10 @@ static int cnss_set_pci_link(struct cnss_pci_data *pci_priv, bool link_up) cnss_pr_err("Failed to %s PCI link with default option, err = %d\n", link_up ? "resume" : "suspend", ret); if ((link_up || (!link_up && ret)) && pci_priv->drv_connected_last) if (pci_priv->drv_connected_last) { if ((link_up && !ret) || (!link_up && ret)) cnss_set_pci_link_status(pci_priv, PCI_DEF); } return ret; } Loading Loading @@ -1469,6 +1471,9 @@ static int cnss_pci_suspend(struct device *dev) if (!plat_priv) goto out; if (!cnss_is_device_powered_on(plat_priv)) goto out; if (!test_bit(DISABLE_DRV, &plat_priv->ctrl_params.quirks)) pci_priv->drv_connected_last = cnss_pci_get_drv_connected(pci_priv); Loading Loading @@ -1541,6 +1546,9 @@ static int cnss_pci_resume(struct device *dev) if (pci_priv->pci_link_down_ind) goto out; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) goto out; if (pci_priv->pci_link_state == PCI_LINK_DOWN && !pci_priv->disable_pc) { if (cnss_set_pci_link(pci_priv, PCI_LINK_UP)) { Loading Loading @@ -1636,6 +1644,9 @@ static int cnss_pci_runtime_suspend(struct device *dev) if (!plat_priv) return -EAGAIN; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) return -EAGAIN; if (pci_priv->pci_link_down_ind) { cnss_pr_dbg("PCI link down recovery is in progress!\n"); return -EAGAIN; Loading Loading @@ -1672,6 +1683,9 @@ static int cnss_pci_runtime_resume(struct device *dev) if (!pci_priv) return -EAGAIN; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) return -EAGAIN; if (pci_priv->pci_link_down_ind) { cnss_pr_dbg("PCI link down recovery is in progress!\n"); return -EAGAIN; Loading drivers/net/wireless/cnss2/power.c +5 −0 Original line number Diff line number Diff line Loading @@ -748,6 +748,11 @@ void cnss_power_off_device(struct cnss_plat_data *plat_priv) plat_priv->powered_on = false; } bool cnss_is_device_powered_on(struct cnss_plat_data *plat_priv) { return plat_priv->powered_on; } void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv) { unsigned long pin_status = 0; Loading Loading
drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -374,6 +374,7 @@ void cnss_put_clk(struct cnss_plat_data *plat_priv); int cnss_get_pinctrl(struct cnss_plat_data *plat_priv); int cnss_power_on_device(struct cnss_plat_data *plat_priv); void cnss_power_off_device(struct cnss_plat_data *plat_priv); bool cnss_is_device_powered_on(struct cnss_plat_data *plat_priv); int cnss_register_subsys(struct cnss_plat_data *plat_priv); void cnss_unregister_subsys(struct cnss_plat_data *plat_priv); int cnss_register_ramdump(struct cnss_plat_data *plat_priv); Loading
drivers/net/wireless/cnss2/pci.c +16 −2 Original line number Diff line number Diff line Loading @@ -422,8 +422,10 @@ static int cnss_set_pci_link(struct cnss_pci_data *pci_priv, bool link_up) cnss_pr_err("Failed to %s PCI link with default option, err = %d\n", link_up ? "resume" : "suspend", ret); if ((link_up || (!link_up && ret)) && pci_priv->drv_connected_last) if (pci_priv->drv_connected_last) { if ((link_up && !ret) || (!link_up && ret)) cnss_set_pci_link_status(pci_priv, PCI_DEF); } return ret; } Loading Loading @@ -1469,6 +1471,9 @@ static int cnss_pci_suspend(struct device *dev) if (!plat_priv) goto out; if (!cnss_is_device_powered_on(plat_priv)) goto out; if (!test_bit(DISABLE_DRV, &plat_priv->ctrl_params.quirks)) pci_priv->drv_connected_last = cnss_pci_get_drv_connected(pci_priv); Loading Loading @@ -1541,6 +1546,9 @@ static int cnss_pci_resume(struct device *dev) if (pci_priv->pci_link_down_ind) goto out; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) goto out; if (pci_priv->pci_link_state == PCI_LINK_DOWN && !pci_priv->disable_pc) { if (cnss_set_pci_link(pci_priv, PCI_LINK_UP)) { Loading Loading @@ -1636,6 +1644,9 @@ static int cnss_pci_runtime_suspend(struct device *dev) if (!plat_priv) return -EAGAIN; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) return -EAGAIN; if (pci_priv->pci_link_down_ind) { cnss_pr_dbg("PCI link down recovery is in progress!\n"); return -EAGAIN; Loading Loading @@ -1672,6 +1683,9 @@ static int cnss_pci_runtime_resume(struct device *dev) if (!pci_priv) return -EAGAIN; if (!cnss_is_device_powered_on(pci_priv->plat_priv)) return -EAGAIN; if (pci_priv->pci_link_down_ind) { cnss_pr_dbg("PCI link down recovery is in progress!\n"); return -EAGAIN; Loading
drivers/net/wireless/cnss2/power.c +5 −0 Original line number Diff line number Diff line Loading @@ -748,6 +748,11 @@ void cnss_power_off_device(struct cnss_plat_data *plat_priv) plat_priv->powered_on = false; } bool cnss_is_device_powered_on(struct cnss_plat_data *plat_priv) { return plat_priv->powered_on; } void cnss_set_pin_connect_status(struct cnss_plat_data *plat_priv) { unsigned long pin_status = 0; Loading