Loading drivers/net/wireless/cnss2/debug.c +4 −2 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ static ssize_t cnss_dev_boot_debug_write(struct file *fp, ret = -EINVAL; } if (ret) if (ret < 0) return ret; return count; Loading Loading @@ -482,7 +482,7 @@ static ssize_t cnss_runtime_pm_debug_write(struct file *fp, ret = -EINVAL; } if (ret) if (ret < 0) return ret; return count; Loading @@ -493,6 +493,8 @@ static int cnss_runtime_pm_debug_show(struct seq_file *s, void *data) seq_puts(s, "\nUsage: echo <action> > <debugfs_path>/cnss/runtime_pm\n"); seq_puts(s, "<action> can be one of below:\n"); seq_puts(s, "usage_count: get runtime PM usage count\n"); seq_puts(s, "reques_resume: do async runtime PM resume\n"); seq_puts(s, "resume: do sync runtime PM resume\n"); seq_puts(s, "get: do runtime PM get\n"); seq_puts(s, "get_noresume: do runtime PM get noresume\n"); seq_puts(s, "put_noidle: do runtime PM put noidle\n"); Loading drivers/net/wireless/cnss2/pci.c +18 −0 Original line number Diff line number Diff line Loading @@ -2084,17 +2084,35 @@ void cnss_pci_pm_runtime_get_noresume(struct cnss_pci_data *pci_priv) int cnss_pci_pm_runtime_put_autosuspend(struct cnss_pci_data *pci_priv) { struct device *dev; if (!pci_priv) return -ENODEV; dev = &pci_priv->pci_dev->dev; if (atomic_read(&dev->power.usage_count) == 0) { cnss_pr_dbg("Ignore excessive runtime PM put operation\n"); return -EINVAL; } return pm_runtime_put_autosuspend(&pci_priv->pci_dev->dev); } void cnss_pci_pm_runtime_put_noidle(struct cnss_pci_data *pci_priv) { struct device *dev; if (!pci_priv) return; dev = &pci_priv->pci_dev->dev; if (atomic_read(&dev->power.usage_count) == 0) { cnss_pr_dbg("Ignore excessive runtime PM put operation\n"); return; } pm_runtime_put_noidle(&pci_priv->pci_dev->dev); } Loading Loading
drivers/net/wireless/cnss2/debug.c +4 −2 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ static ssize_t cnss_dev_boot_debug_write(struct file *fp, ret = -EINVAL; } if (ret) if (ret < 0) return ret; return count; Loading Loading @@ -482,7 +482,7 @@ static ssize_t cnss_runtime_pm_debug_write(struct file *fp, ret = -EINVAL; } if (ret) if (ret < 0) return ret; return count; Loading @@ -493,6 +493,8 @@ static int cnss_runtime_pm_debug_show(struct seq_file *s, void *data) seq_puts(s, "\nUsage: echo <action> > <debugfs_path>/cnss/runtime_pm\n"); seq_puts(s, "<action> can be one of below:\n"); seq_puts(s, "usage_count: get runtime PM usage count\n"); seq_puts(s, "reques_resume: do async runtime PM resume\n"); seq_puts(s, "resume: do sync runtime PM resume\n"); seq_puts(s, "get: do runtime PM get\n"); seq_puts(s, "get_noresume: do runtime PM get noresume\n"); seq_puts(s, "put_noidle: do runtime PM put noidle\n"); Loading
drivers/net/wireless/cnss2/pci.c +18 −0 Original line number Diff line number Diff line Loading @@ -2084,17 +2084,35 @@ void cnss_pci_pm_runtime_get_noresume(struct cnss_pci_data *pci_priv) int cnss_pci_pm_runtime_put_autosuspend(struct cnss_pci_data *pci_priv) { struct device *dev; if (!pci_priv) return -ENODEV; dev = &pci_priv->pci_dev->dev; if (atomic_read(&dev->power.usage_count) == 0) { cnss_pr_dbg("Ignore excessive runtime PM put operation\n"); return -EINVAL; } return pm_runtime_put_autosuspend(&pci_priv->pci_dev->dev); } void cnss_pci_pm_runtime_put_noidle(struct cnss_pci_data *pci_priv) { struct device *dev; if (!pci_priv) return; dev = &pci_priv->pci_dev->dev; if (atomic_read(&dev->power.usage_count) == 0) { cnss_pr_dbg("Ignore excessive runtime PM put operation\n"); return; } pm_runtime_put_noidle(&pci_priv->pci_dev->dev); } Loading