linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Grygorii Strashko <grygorii.strashko@ti.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	Mike Turquette <mturquette@linaro.org>,
	Kevin Hilman <khilman@kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <robh+dt@kernel.org>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	<ssantosh@kernel.org>, <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 1/2] ARM: keystone: pm: switch to use generic pm domains
Date: Tue, 25 Nov 2014 16:53:56 +0200	[thread overview]
Message-ID: <54749804.8070400@ti.com> (raw)
In-Reply-To: <20141125140440.GF3836@n2100.arm.linux.org.uk>

Hi Russell,

On 11/25/2014 04:04 PM, Russell King - ARM Linux wrote:
> On Tue, Nov 25, 2014 at 03:30:20PM +0200, Grygorii Strashko wrote:
>> On 11/25/2014 02:09 PM, Arnd Bergmann wrote:
>>> It might be possible to do this implicitly if the driver calls clk_get(),
>>> basically doing clk_get() (or another call if necessary) would prevent the
>>> simple pmdomain from turning it off during suspend.
>>
>> Unfortunately, clk_get() will not work, because drivers still need to use it
>> to get functional clocks even if they are not going to control them explicitly.
>> For example, if it need to know clock's rate.
> 
> If you don't want a clock to be turned off, then clk_get() it, then
> clk_prepare() it, and finally clk_enable() it.
> 
> Even if someone else gets it, the only time that a clock is turned off
> is when _all_ users of it mutually agree that it can be turned off - by
> every user disabling (and possibly unpreparing) it.
> 
> So, if the PM domain code gets a clock, prepares and enables it, then
> a driver gets the same clock, prepares and enables it also, it won't
> be disabled until _both_ the PM domain code _and_ the driver disable
> and unprepare the clock.
> 

All 100% true :)

But the question here is how prevent pm_clk domain (clock_ops.c) from
getting the control on clock if this particular clock is optional from driver's
perspective. So, only driver should control it. As opposite, all other clocks
should be controlled by pm-domain (in case of GPD from .start/stop callbacks).

You can find more detailed description of problem which this patch was
created to solve here:
https://lkml.org/lkml/2014/11/19/225

Thanks for your time.

regards,
-grygorii

  reply	other threads:[~2014-11-25 14:55 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-10 14:59 [PATCH v4 0/2] ARM: keystone: pm: switch to use generic pm domains Grygorii Strashko
2014-11-10 14:59 ` [PATCH v4 1/2] " Grygorii Strashko
2014-11-10 15:06   ` Arnd Bergmann
2014-11-10 17:38     ` Grygorii Strashko
2014-11-10 20:36       ` Arnd Bergmann
2014-11-17 19:14         ` Kevin Hilman
2014-11-17 20:37           ` Arnd Bergmann
2014-11-17 21:50             ` Kevin Hilman
2014-11-18 18:54               ` Grygorii Strashko
2014-11-18 19:32                 ` Arnd Bergmann
2014-11-19 11:32                   ` Grygorii Strashko
2014-11-19 13:47                     ` Arnd Bergmann
2014-11-20 11:34                       ` Ulf Hansson
2014-11-20 12:03                         ` Grygorii Strashko
2014-11-20 13:12                           ` Ulf Hansson
2014-11-20 13:32                             ` Geert Uytterhoeven
2014-11-20 15:32                               ` Grygorii Strashko
2014-11-20 20:22                                 ` Kevin Hilman
2014-11-20 20:26                                   ` Geert Uytterhoeven
2014-11-20 21:48                                     ` Kevin Hilman
2014-11-20 21:54                                       ` Geert Uytterhoeven
2014-11-21  1:30                                         ` Kevin Hilman
2014-11-21  8:06                                           ` Geert Uytterhoeven
2014-11-21 18:58                                             ` Grygorii Strashko
2014-11-21 19:29                                               ` Kevin Hilman
2014-11-21 20:14                                                 ` Grygorii Strashko
2014-11-24 10:50                                               ` Arnd Bergmann
2014-11-25  6:44                                                 ` Mike Turquette
2014-11-25 10:33                                                   ` Arnd Bergmann
2014-11-25 11:08                                                     ` Grygorii Strashko
2014-11-25 12:09                                                       ` Arnd Bergmann
2014-11-25 13:30                                                         ` Grygorii Strashko
2014-11-25 14:04                                                           ` Russell King - ARM Linux
2014-11-25 14:53                                                             ` Grygorii Strashko [this message]
2014-11-25 16:28                                                               ` santosh shilimkar
2014-11-21 19:20                                             ` Kevin Hilman
2014-11-21  9:04                                 ` Geert Uytterhoeven
2014-11-18  2:18             ` santosh.shilimkar
2014-11-10 14:59 ` [PATCH v4 2/2] ARM: dts: keystone: add generic pm controller node Grygorii Strashko
2014-11-10 15:13 ` [PATCH v4 0/2] ARM: keystone: pm: switch to use generic pm domains Grygorii Strashko
2014-11-10 18:51   ` santosh.shilimkar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54749804.8070400@ti.com \
    --to=grygorii.strashko@ti.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=grant.likely@secretlab.ca \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mturquette@linaro.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).