Hi Paul, On Sun, 2012-12-09 at 10:53 -0700, Paul Walmsley wrote: > From: Jean Pihet <jean.pihet@xxxxxxxxxxxxxx> > > The PM code uses some counters to keep track of the power domains > transitions, in order to provide the information to drivers (in > pwrdm_get_context_loss_count) and to expose the information to > sysfs for debug purpose. > > This patch provides the information for each functional state. > > Signed-off-by: Jean Pihet <j-pihet@xxxxxx> > [paul@xxxxxxxxx: use PWRDM_FPWRSTS_COUNT due to functional power state offset; > use powerdomain.c fn to convert func pwrsts to names; rename 'state' to > 'fpwrst' to indicate use of func pwrsts; convert remaining users of the > non-func pwrst API; add some kerneldoc] > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > --- > arch/arm/mach-omap2/pm-debug.c | 42 ++++----- > arch/arm/mach-omap2/powerdomain.c | 167 ++++++++++++++++++------------------- > arch/arm/mach-omap2/powerdomain.h | 17 ++-- > 3 files changed, 108 insertions(+), 118 deletions(-) > > diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c > index 806a06b..72cf9e0 100644 > --- a/arch/arm/mach-omap2/pm-debug.c > +++ b/arch/arm/mach-omap2/pm-debug.c > @@ -53,13 +53,6 @@ enum { > DEBUG_FILE_TIMERS, > }; > > -static const char pwrdm_state_names[][PWRDM_MAX_PWRSTS] = { > - "OFF", > - "RET", > - "INA", > - "ON" > -}; > - > void pm_dbg_update_time(struct powerdomain *pwrdm, int prev) > { > s64 t; > @@ -70,7 +63,7 @@ void pm_dbg_update_time(struct powerdomain *pwrdm, int prev) > /* Update timer for previous state */ > t = sched_clock(); > > - pwrdm->state_timer[prev] += t - pwrdm->timer; > + pwrdm->fpwrst_timer[prev - PWRDM_FPWRST_OFFSET] += t - pwrdm->timer; > > pwrdm->timer = t; > } > @@ -79,6 +72,7 @@ static int clkdm_dbg_show_counter(struct clockdomain *clkdm, void *user) > { > struct seq_file *s = (struct seq_file *)user; > > + /* XXX This needs to be implemented in a better way */ IMO, this part should be dropped, or re-implemented completely. It is uninformative and I don't think anybody uses it. With the usecounting fixes in place, it is better than before but still doesn't provide too much useful information. Would be good to show the clocks that actually are enabled along with the clockdomain use counts, but in either case, it doesn't belong in the same debugfs file as the pwrdm counters. -Tero -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html