Loading drivers/net/wireless/cnss2/main.c +11 −0 Original line number Diff line number Diff line Loading @@ -2622,6 +2622,16 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) plat_priv->ctrl_params.time_sync_period = CNSS_TIME_SYNC_PERIOD_DEFAULT; } static void cnss_get_pm_domain_info(struct cnss_plat_data *plat_priv) { struct device *dev = &plat_priv->plat_dev->dev; plat_priv->use_pm_domain = of_property_read_bool(dev->of_node, "use-pm-domain"); cnss_pr_dbg("use-pm-domain is %d\n", plat_priv->use_pm_domain); } static void cnss_get_wlaon_pwr_ctrl_info(struct cnss_plat_data *plat_priv) { struct device *dev = &plat_priv->plat_dev->dev; Loading Loading @@ -2711,6 +2721,7 @@ static int cnss_probe(struct platform_device *plat_dev) INIT_LIST_HEAD(&plat_priv->vreg_list); INIT_LIST_HEAD(&plat_priv->clk_list); cnss_get_pm_domain_info(plat_priv); cnss_get_wlaon_pwr_ctrl_info(plat_priv); cnss_get_tcs_info(plat_priv); cnss_get_cpr_info(plat_priv); Loading drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -451,6 +451,7 @@ struct cnss_plat_data { void *get_info_cb_ctx; int (*get_info_cb)(void *ctx, void *event, int event_len); bool cbc_enabled; u8 use_pm_domain; u8 use_nv_mac; u8 set_wlaon_pwr_ctrl; struct cnss_tcs_info tcs_info; Loading drivers/net/wireless/cnss2/pci.c +22 −0 Original line number Diff line number Diff line Loading @@ -2720,6 +2720,10 @@ static int cnss_pci_suspend_noirq(struct device *dev) if (driver_ops && driver_ops->suspend_noirq) ret = driver_ops->suspend_noirq(pci_dev); if (pci_priv->disable_pc && !pci_dev->state_saved && !pci_priv->plat_priv->use_pm_domain) pci_save_state(pci_dev); out: return ret; } Loading Loading @@ -4710,6 +4714,22 @@ static void cnss_pci_config_regs(struct cnss_pci_data *pci_priv) } } /* Setting to use this cnss_pm_domain ops will let PM framework override the * ops from dev->bus->pm which is pci_dev_pm_ops from pci-driver.c. This ops * has to take care everything device driver needed which is currently done * from pci_dev_pm_ops. */ static struct dev_pm_domain cnss_pm_domain = { .ops = { SET_SYSTEM_SLEEP_PM_OPS(cnss_pci_suspend, cnss_pci_resume) SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(cnss_pci_suspend_noirq, cnss_pci_resume_noirq) SET_RUNTIME_PM_OPS(cnss_pci_runtime_suspend, cnss_pci_runtime_resume, cnss_pci_runtime_idle) } }; static int cnss_pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) { Loading Loading @@ -4739,6 +4759,8 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, plat_priv->device_id = pci_dev->device; plat_priv->bus_priv = pci_priv; mutex_init(&pci_priv->bus_lock); if (plat_priv->use_pm_domain) dev->pm_domain = &cnss_pm_domain; ret = of_reserved_mem_device_init(dev); if (ret) Loading Loading
drivers/net/wireless/cnss2/main.c +11 −0 Original line number Diff line number Diff line Loading @@ -2622,6 +2622,16 @@ static void cnss_init_control_params(struct cnss_plat_data *plat_priv) plat_priv->ctrl_params.time_sync_period = CNSS_TIME_SYNC_PERIOD_DEFAULT; } static void cnss_get_pm_domain_info(struct cnss_plat_data *plat_priv) { struct device *dev = &plat_priv->plat_dev->dev; plat_priv->use_pm_domain = of_property_read_bool(dev->of_node, "use-pm-domain"); cnss_pr_dbg("use-pm-domain is %d\n", plat_priv->use_pm_domain); } static void cnss_get_wlaon_pwr_ctrl_info(struct cnss_plat_data *plat_priv) { struct device *dev = &plat_priv->plat_dev->dev; Loading Loading @@ -2711,6 +2721,7 @@ static int cnss_probe(struct platform_device *plat_dev) INIT_LIST_HEAD(&plat_priv->vreg_list); INIT_LIST_HEAD(&plat_priv->clk_list); cnss_get_pm_domain_info(plat_priv); cnss_get_wlaon_pwr_ctrl_info(plat_priv); cnss_get_tcs_info(plat_priv); cnss_get_cpr_info(plat_priv); Loading
drivers/net/wireless/cnss2/main.h +1 −0 Original line number Diff line number Diff line Loading @@ -451,6 +451,7 @@ struct cnss_plat_data { void *get_info_cb_ctx; int (*get_info_cb)(void *ctx, void *event, int event_len); bool cbc_enabled; u8 use_pm_domain; u8 use_nv_mac; u8 set_wlaon_pwr_ctrl; struct cnss_tcs_info tcs_info; Loading
drivers/net/wireless/cnss2/pci.c +22 −0 Original line number Diff line number Diff line Loading @@ -2720,6 +2720,10 @@ static int cnss_pci_suspend_noirq(struct device *dev) if (driver_ops && driver_ops->suspend_noirq) ret = driver_ops->suspend_noirq(pci_dev); if (pci_priv->disable_pc && !pci_dev->state_saved && !pci_priv->plat_priv->use_pm_domain) pci_save_state(pci_dev); out: return ret; } Loading Loading @@ -4710,6 +4714,22 @@ static void cnss_pci_config_regs(struct cnss_pci_data *pci_priv) } } /* Setting to use this cnss_pm_domain ops will let PM framework override the * ops from dev->bus->pm which is pci_dev_pm_ops from pci-driver.c. This ops * has to take care everything device driver needed which is currently done * from pci_dev_pm_ops. */ static struct dev_pm_domain cnss_pm_domain = { .ops = { SET_SYSTEM_SLEEP_PM_OPS(cnss_pci_suspend, cnss_pci_resume) SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(cnss_pci_suspend_noirq, cnss_pci_resume_noirq) SET_RUNTIME_PM_OPS(cnss_pci_runtime_suspend, cnss_pci_runtime_resume, cnss_pci_runtime_idle) } }; static int cnss_pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) { Loading Loading @@ -4739,6 +4759,8 @@ static int cnss_pci_probe(struct pci_dev *pci_dev, plat_priv->device_id = pci_dev->device; plat_priv->bus_priv = pci_priv; mutex_init(&pci_priv->bus_lock); if (plat_priv->use_pm_domain) dev->pm_domain = &cnss_pm_domain; ret = of_reserved_mem_device_init(dev); if (ret) Loading