Loading drivers/net/wireless/cnss2/pci.c +9 −21 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ MODULE_PARM_DESC(fbc_bypass, static int cnss_set_pci_config_space(struct cnss_pci_data *pci_priv, bool save) { int ret = 0; struct pci_dev *pci_dev = pci_priv->pci_dev; struct cnss_plat_data *plat_priv = pci_priv->plat_priv; bool link_down_or_recovery; Loading @@ -80,12 +79,8 @@ static int cnss_set_pci_config_space(struct cnss_pci_data *pci_priv, bool save) } } else { if (link_down_or_recovery) { ret = msm_pcie_recover_config(pci_dev); if (ret) { cnss_pr_err("Failed to recover PCI config space, err = %d\n", ret); return ret; } pci_load_saved_state(pci_dev, pci_priv->default_state); pci_restore_state(pci_dev); } else if (pci_priv->saved_state) { pci_load_and_free_saved_state(pci_dev, &pci_priv->saved_state); Loading @@ -100,27 +95,15 @@ static int cnss_set_pci_link(struct cnss_pci_data *pci_priv, bool link_up) { int ret = 0; struct pci_dev *pci_dev = pci_priv->pci_dev; struct cnss_plat_data *plat_priv = pci_priv->plat_priv; bool link_down_or_recovery; if (!plat_priv) return -ENODEV; link_down_or_recovery = pci_priv->pci_link_down_ind || (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)); ret = msm_pcie_pm_control(link_up ? MSM_PCIE_RESUME : MSM_PCIE_SUSPEND, pci_dev->bus->number, pci_dev, NULL, link_down_or_recovery ? PM_OPTIONS_LINK_DOWN : PM_OPTIONS_DEFAULT); if (ret) { cnss_pr_err("Failed to %s PCI link with %s option, err = %d\n", link_up ? "resume" : "suspend", link_down_or_recovery ? "link down" : "default", ret); cnss_pr_err("Failed to %s PCI link with default option, err = %d\n", link_up ? "resume" : "suspend", ret); return ret; } Loading Loading @@ -1443,6 +1426,9 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, if (ret) goto dereg_pci_event; pci_save_state(pci_dev); pci_priv->default_state = pci_store_saved_state(pci_dev); switch (pci_dev->device) { case QCA6174_DEVICE_ID: pci_read_config_word(pci_dev, QCA6174_REV_ID_OFFSET, Loading Loading @@ -1514,6 +1500,8 @@ static void cnss_pci_remove(struct pci_dev *pci_dev) break; } pci_load_and_free_saved_state(pci_dev, &pci_priv->saved_state); cnss_pci_disable_bus(pci_priv); cnss_dereg_pci_event(pci_priv); if (pci_priv->smmu_mapping) Loading drivers/net/wireless/cnss2/pci.h +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ struct cnss_pci_data { bool pci_link_state; bool pci_link_down_ind; struct pci_saved_state *saved_state; struct pci_saved_state *default_state; struct msm_pcie_register_event msm_pci_event; atomic_t auto_suspended; bool monitor_wake_intr; Loading Loading
drivers/net/wireless/cnss2/pci.c +9 −21 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ MODULE_PARM_DESC(fbc_bypass, static int cnss_set_pci_config_space(struct cnss_pci_data *pci_priv, bool save) { int ret = 0; struct pci_dev *pci_dev = pci_priv->pci_dev; struct cnss_plat_data *plat_priv = pci_priv->plat_priv; bool link_down_or_recovery; Loading @@ -80,12 +79,8 @@ static int cnss_set_pci_config_space(struct cnss_pci_data *pci_priv, bool save) } } else { if (link_down_or_recovery) { ret = msm_pcie_recover_config(pci_dev); if (ret) { cnss_pr_err("Failed to recover PCI config space, err = %d\n", ret); return ret; } pci_load_saved_state(pci_dev, pci_priv->default_state); pci_restore_state(pci_dev); } else if (pci_priv->saved_state) { pci_load_and_free_saved_state(pci_dev, &pci_priv->saved_state); Loading @@ -100,27 +95,15 @@ static int cnss_set_pci_link(struct cnss_pci_data *pci_priv, bool link_up) { int ret = 0; struct pci_dev *pci_dev = pci_priv->pci_dev; struct cnss_plat_data *plat_priv = pci_priv->plat_priv; bool link_down_or_recovery; if (!plat_priv) return -ENODEV; link_down_or_recovery = pci_priv->pci_link_down_ind || (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)); ret = msm_pcie_pm_control(link_up ? MSM_PCIE_RESUME : MSM_PCIE_SUSPEND, pci_dev->bus->number, pci_dev, NULL, link_down_or_recovery ? PM_OPTIONS_LINK_DOWN : PM_OPTIONS_DEFAULT); if (ret) { cnss_pr_err("Failed to %s PCI link with %s option, err = %d\n", link_up ? "resume" : "suspend", link_down_or_recovery ? "link down" : "default", ret); cnss_pr_err("Failed to %s PCI link with default option, err = %d\n", link_up ? "resume" : "suspend", ret); return ret; } Loading Loading @@ -1443,6 +1426,9 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, if (ret) goto dereg_pci_event; pci_save_state(pci_dev); pci_priv->default_state = pci_store_saved_state(pci_dev); switch (pci_dev->device) { case QCA6174_DEVICE_ID: pci_read_config_word(pci_dev, QCA6174_REV_ID_OFFSET, Loading Loading @@ -1514,6 +1500,8 @@ static void cnss_pci_remove(struct pci_dev *pci_dev) break; } pci_load_and_free_saved_state(pci_dev, &pci_priv->saved_state); cnss_pci_disable_bus(pci_priv); cnss_dereg_pci_event(pci_priv); if (pci_priv->smmu_mapping) Loading
drivers/net/wireless/cnss2/pci.h +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ struct cnss_pci_data { bool pci_link_state; bool pci_link_down_ind; struct pci_saved_state *saved_state; struct pci_saved_state *default_state; struct msm_pcie_register_event msm_pci_event; atomic_t auto_suspended; bool monitor_wake_intr; Loading