Message ID | 20230816145741.1472721-3-abel.vesa@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | PM: domains: Add control for switching back and forth to HW control | expand |
On Wed, 16 Aug 2023 at 16:57, Abel Vesa <abel.vesa@linaro.org> wrote: > > Now that domains support being managed by the HW, lets add that > information to the genpd summary. To avoid confusion, would you mind re-phrasing the above to something along the lines of: Now that genpd supports dynamically switching the control for an attached device between hardware- and software-mode, let's add this information to the genpd summary in debugfs. > > Suggested-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> Kind regards Uffe > --- > drivers/base/power/domain.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c > index dfb4f1de540d..053b7b510825 100644 > --- a/drivers/base/power/domain.c > +++ b/drivers/base/power/domain.c > @@ -3171,6 +3171,15 @@ static void rtpm_status_str(struct seq_file *s, struct device *dev) > seq_printf(s, "%-25s ", p); > } > > +static void mode_status_str(struct seq_file *s, struct device *dev) > +{ > + struct generic_pm_domain_data *gpd_data; > + > + gpd_data = to_gpd_data(dev->power.subsys_data->domain_data); > + > + seq_printf(s, "%20s", gpd_data->hw_mode ? "HW_Mode" : "SW_Mode"); > +} > + > static void perf_status_str(struct seq_file *s, struct device *dev) > { > struct generic_pm_domain_data *gpd_data; > @@ -3229,6 +3238,7 @@ static int genpd_summary_one(struct seq_file *s, > seq_printf(s, "\n %-50s ", kobj_path); > rtpm_status_str(s, pm_data->dev); > perf_status_str(s, pm_data->dev); > + mode_status_str(s, pm_data->dev); > kfree(kobj_path); > } > > @@ -3245,8 +3255,9 @@ static int summary_show(struct seq_file *s, void *data) > int ret = 0; > > seq_puts(s, "domain status children performance\n"); > - seq_puts(s, " /device runtime status\n"); > - seq_puts(s, "----------------------------------------------------------------------------------------------\n"); > + seq_puts(s, " /device runtime status mode\n"); > + seq_puts(s, "------------------------------------------------------------------------------------------------------------\n"); > + > > ret = mutex_lock_interruptible(&gpd_list_lock); > if (ret) > -- > 2.34.1 >
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index dfb4f1de540d..053b7b510825 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -3171,6 +3171,15 @@ static void rtpm_status_str(struct seq_file *s, struct device *dev) seq_printf(s, "%-25s ", p); } +static void mode_status_str(struct seq_file *s, struct device *dev) +{ + struct generic_pm_domain_data *gpd_data; + + gpd_data = to_gpd_data(dev->power.subsys_data->domain_data); + + seq_printf(s, "%20s", gpd_data->hw_mode ? "HW_Mode" : "SW_Mode"); +} + static void perf_status_str(struct seq_file *s, struct device *dev) { struct generic_pm_domain_data *gpd_data; @@ -3229,6 +3238,7 @@ static int genpd_summary_one(struct seq_file *s, seq_printf(s, "\n %-50s ", kobj_path); rtpm_status_str(s, pm_data->dev); perf_status_str(s, pm_data->dev); + mode_status_str(s, pm_data->dev); kfree(kobj_path); } @@ -3245,8 +3255,9 @@ static int summary_show(struct seq_file *s, void *data) int ret = 0; seq_puts(s, "domain status children performance\n"); - seq_puts(s, " /device runtime status\n"); - seq_puts(s, "----------------------------------------------------------------------------------------------\n"); + seq_puts(s, " /device runtime status mode\n"); + seq_puts(s, "------------------------------------------------------------------------------------------------------------\n"); + ret = mutex_lock_interruptible(&gpd_list_lock); if (ret)
Now that domains support being managed by the HW, lets add that information to the genpd summary. Suggested-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Abel Vesa <abel.vesa@linaro.org> --- drivers/base/power/domain.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)