All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] opp: Expose of-node's name in debugfs
@ 2022-02-10  9:59 Viresh Kumar
  2022-02-10 13:38 ` Leo Yan
  0 siblings, 1 reply; 2+ messages in thread
From: Viresh Kumar @ 2022-02-10  9:59 UTC (permalink / raw)
  To: Rafael Wysocki, Viresh Kumar, Nishanth Menon, Stephen Boyd
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, Leo Yan, linux-kernel

It is difficult to find which OPPs are active at the moment, specially
if there are multiple OPPs with same frequency available in the device
tree (controlled by supported hardware feature).

Expose name of the DT node to find out the exact OPP.

While at it, also expose level field.

Reported-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 drivers/opp/debugfs.c | 5 +++++
 drivers/opp/opp.h     | 1 +
 2 files changed, 6 insertions(+)

diff --git a/drivers/opp/debugfs.c b/drivers/opp/debugfs.c
index 596c185b5dda..b5f2f9f39392 100644
--- a/drivers/opp/debugfs.c
+++ b/drivers/opp/debugfs.c
@@ -10,6 +10,7 @@
 #include <linux/debugfs.h>
 #include <linux/device.h>
 #include <linux/err.h>
+#include <linux/of.h>
 #include <linux/init.h>
 #include <linux/limits.h>
 #include <linux/slab.h>
@@ -131,9 +132,13 @@ void opp_debug_create_one(struct dev_pm_opp *opp, struct opp_table *opp_table)
 	debugfs_create_bool("suspend", S_IRUGO, d, &opp->suspend);
 	debugfs_create_u32("performance_state", S_IRUGO, d, &opp->pstate);
 	debugfs_create_ulong("rate_hz", S_IRUGO, d, &opp->rate);
+	debugfs_create_u32("level", S_IRUGO, d, &opp->level);
 	debugfs_create_ulong("clock_latency_ns", S_IRUGO, d,
 			     &opp->clock_latency_ns);
 
+	opp->of_name = of_node_full_name(opp->np);
+	debugfs_create_str("of_name", S_IRUGO, d, (char **)&opp->of_name);
+
 	opp_debug_create_supplies(opp, opp_table, d);
 	opp_debug_create_bw(opp, opp_table, d);
 
diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h
index 407c3bfe51d9..45e3a55239a1 100644
--- a/drivers/opp/opp.h
+++ b/drivers/opp/opp.h
@@ -96,6 +96,7 @@ struct dev_pm_opp {
 
 #ifdef CONFIG_DEBUG_FS
 	struct dentry *dentry;
+	const char *of_name;
 #endif
 };
 
-- 
2.31.1.272.g89b43f80a514


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] opp: Expose of-node's name in debugfs
  2022-02-10  9:59 [PATCH] opp: Expose of-node's name in debugfs Viresh Kumar
@ 2022-02-10 13:38 ` Leo Yan
  0 siblings, 0 replies; 2+ messages in thread
From: Leo Yan @ 2022-02-10 13:38 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael Wysocki, Viresh Kumar, Nishanth Menon, Stephen Boyd,
	linux-pm, Vincent Guittot, linux-kernel

Hi Viresh,

On Thu, Feb 10, 2022 at 03:29:26PM +0530, Viresh Kumar wrote:
> It is difficult to find which OPPs are active at the moment, specially
> if there are multiple OPPs with same frequency available in the device
> tree (controlled by supported hardware feature).
> 
> Expose name of the DT node to find out the exact OPP.
> 
> While at it, also expose level field.
> 
> Reported-by: Leo Yan <leo.yan@linaro.org>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Thanks a lot for patch.  I verified it:

Tested-by: Leo Yan <leo.yan@linaro.org>

> ---
>  drivers/opp/debugfs.c | 5 +++++
>  drivers/opp/opp.h     | 1 +
>  2 files changed, 6 insertions(+)
> 
> diff --git a/drivers/opp/debugfs.c b/drivers/opp/debugfs.c
> index 596c185b5dda..b5f2f9f39392 100644
> --- a/drivers/opp/debugfs.c
> +++ b/drivers/opp/debugfs.c
> @@ -10,6 +10,7 @@
>  #include <linux/debugfs.h>
>  #include <linux/device.h>
>  #include <linux/err.h>
> +#include <linux/of.h>
>  #include <linux/init.h>
>  #include <linux/limits.h>
>  #include <linux/slab.h>
> @@ -131,9 +132,13 @@ void opp_debug_create_one(struct dev_pm_opp *opp, struct opp_table *opp_table)
>  	debugfs_create_bool("suspend", S_IRUGO, d, &opp->suspend);
>  	debugfs_create_u32("performance_state", S_IRUGO, d, &opp->pstate);
>  	debugfs_create_ulong("rate_hz", S_IRUGO, d, &opp->rate);
> +	debugfs_create_u32("level", S_IRUGO, d, &opp->level);
>  	debugfs_create_ulong("clock_latency_ns", S_IRUGO, d,
>  			     &opp->clock_latency_ns);
>  
> +	opp->of_name = of_node_full_name(opp->np);
> +	debugfs_create_str("of_name", S_IRUGO, d, (char **)&opp->of_name);
> +
>  	opp_debug_create_supplies(opp, opp_table, d);
>  	opp_debug_create_bw(opp, opp_table, d);
>  
> diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h
> index 407c3bfe51d9..45e3a55239a1 100644
> --- a/drivers/opp/opp.h
> +++ b/drivers/opp/opp.h
> @@ -96,6 +96,7 @@ struct dev_pm_opp {
>  
>  #ifdef CONFIG_DEBUG_FS
>  	struct dentry *dentry;
> +	const char *of_name;
>  #endif
>  };
>  
> -- 
> 2.31.1.272.g89b43f80a514
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-02-10 13:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-10  9:59 [PATCH] opp: Expose of-node's name in debugfs Viresh Kumar
2022-02-10 13:38 ` Leo Yan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.