[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1393239379.3091.26.camel@pizza.hi.pengutronix.de>
Date: Mon, 24 Feb 2014 11:56:19 +0100
From: Philipp Zabel <p.zabel@...gutronix.de>
To: Tomasz Figa <tomasz.figa@...il.com>
Cc: linux-pm@...r.kernel.org, Mark Rutland <mark.rutland@....com>,
devicetree@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
Russell King <linux@....linux.org.uk>,
Pawel Moll <pawel.moll@....com>,
Len Brown <len.brown@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Tomasz Figa <t.figa@...sung.com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
linux-kernel@...r.kernel.org, Rob Herring <robh+dt@...nel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Kukjin Kim <kgene.kim@...sung.com>,
Pavel Machek <pavel@....cz>, Kumar Gala <galak@...eaurora.org>,
Stephen Warren <swarren@...dotorg.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH RFC 04/10] base: power: Add generic OF-based power
domain look-up
Hi Tomasz,
Am Sonntag, den 23.02.2014, 18:07 +0100 schrieb Tomasz Figa:
> Hi Philipp,
>
> On 19.02.2014 17:53, Philipp Zabel wrote:
> > Am Samstag, den 11.01.2014, 20:42 +0100 schrieb Tomasz Figa:
>
> [snip]
>
> >> + pd = of_genpd_get_from_provider(&pd_args);
> >> + if (IS_ERR(pd))
> >> + return PTR_ERR(pd);
> >> +
> >> + dev_dbg(dev, "adding to power domain %s\n", pd->name);
> >> +
> >> + while (1) {
> >> + ret = pm_genpd_add_device(pd, dev);
> >
> > Since pm_genpd_add_device is used here, no gpd_timing_data can be
> > provided. Do you have a plan to solve this? Should the timing data be
> > provided from the device tree?
>
> Hmm, a quick grep over kernel sources for genpd_.*_add_device
> gives just a single user of __pm_genpd_name_add_device(), with custom
> timing data:
I had added this to my work progress i.MX patches to silence the noisy
"... latency exceeded, new value ..." warnings emitted by the power
domain framework: http://patchwork.ozlabs.org/patch/320084/
[...]
> Moreover the timings used there are just defaults, which makes me wonder
> if there is any reason to specify them explicitly. Even more interesting
> is the fact that genpd code can measure those latencies itself.
>
> Do you have a particular use case for those timing data or just
> wondering? I don't think we need to implement support for them right
> away, if there is no real need to do so. The code and bindings can be
> extended later to handle them, if needed.
You are right, this is just superficial.
> As for whether DT is appropriate place to define them, I'm not quite
> sure. Stop and start latencies look like hardware parameters, but state
> save and restore are likely to be driver-specific, as it depends on
> driver code how much time it takes to save and restore needed state
> (e.g. driver with register cache will not need to do any state save), if
> I understand these timing data correctly.
I have one more, on i.MX6 I manually need to enable the clocks of
devices in the power domain during the power-up sequence so that the
reset signals can propagate.
So far, I have implemented this by registering the device clocks of
devices in the power domain with pm_clk_add and then let the genpd
power_on callback temporarily enable them using pm_clk_resume:
http://patchwork.ozlabs.org/patch/320085/
Whether this is needed seems to me to be a property of the power domain.
Do you think this is something we could add to of_genpd_add_to_domain,
depending on some flag set in struct generic_pm_domain?
I'd like to avoid having to register my own bus notifier and to deal
with ordering issues between that and of_genpd_notifier_call.
regards
Philipp
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists