From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/3] clk: Provide OF helper to mark clocks as CRITICAL
Date: Mon, 1 Feb 2016 08:22:45 +0000 [thread overview]
Message-ID: <20160201082245.GV3368@x1> (raw)
In-Reply-To: <20160201063256.GE32462@lukather>
On Mon, 01 Feb 2016, Maxime Ripard wrote:
> On Wed, Jan 27, 2016 at 11:51:45PM +0000, Andr? Przywara wrote:
> > Hi,
> >
> > On 18/01/16 14:28, Lee Jones wrote:
> > > This call matches clocks which have been marked as critical in DT
> > > and sets the appropriate flag. These flags can then be used to
> > > mark the clock core flags appropriately prior to registration.
> >
> > I like the idea of having a generic property very much. Also this solves
> > a problem I have in a very elegant way.
>
> Not really. It has a significant set of drawbacks that we already
> detailed in the initial thread, which are mostly related to the fact
> that the clocks are to be left on is something that totally depends on
> the software support in the kernel. Some clocks should be reported as
> critical because they are simply missing a driver for it, some should
> be because the driver for it as not been compiled, some should because
> we don't have the proper clocks drivers yet for one of their
> downstream clocks.
Exactly. This is a not a CLK_DRIVER_NOT_{AUTHORED|UPSTREAM} or
CLK_DRIVER_NOT_ENABLED implementation, it's for CLK_CRITICALs.
Critical clocks must _never_ be turned off, no matter what, else
something really bad will happen. In our use-case, if the clocks are
turned of, it will be catastrophic to the running system.
> Basically, it all boils down to this: some clocks should never ever be
> shutdown because <hardware reason>, and I believe it's the case Lee is
> in. But most of the current code that would use it might, and might
> even need at some point to shut down such a clock.
>
> Mike's solution with the flags + handover was solving all this, I'm
> not sure why he's not pushed it forward.
Right, but I think you are missing part of the conversation. Mike and
I had a face-to-face meeting in San Francisco last year. The
conclusion was that the CLK_CRITICAL and CLK_HANDOVER solutions should
be separated. Different handling, different code. This submission
only solves the former problem. I believe Mike was going to submit
and follow-up on the CLK_HANDOVER solution separately.
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: "André Przywara" <andre.przywara@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, kernel@stlinux.com,
s.hauer@pengutronix.de, sboyd@codeaurora.org,
geert@linux-m68k.org, mturquette@baylibre.com,
maxime.coquelin@st.com
Subject: Re: [PATCH 3/3] clk: Provide OF helper to mark clocks as CRITICAL
Date: Mon, 1 Feb 2016 08:22:45 +0000 [thread overview]
Message-ID: <20160201082245.GV3368@x1> (raw)
In-Reply-To: <20160201063256.GE32462@lukather>
On Mon, 01 Feb 2016, Maxime Ripard wrote:
> On Wed, Jan 27, 2016 at 11:51:45PM +0000, André Przywara wrote:
> > Hi,
> >
> > On 18/01/16 14:28, Lee Jones wrote:
> > > This call matches clocks which have been marked as critical in DT
> > > and sets the appropriate flag. These flags can then be used to
> > > mark the clock core flags appropriately prior to registration.
> >
> > I like the idea of having a generic property very much. Also this solves
> > a problem I have in a very elegant way.
>
> Not really. It has a significant set of drawbacks that we already
> detailed in the initial thread, which are mostly related to the fact
> that the clocks are to be left on is something that totally depends on
> the software support in the kernel. Some clocks should be reported as
> critical because they are simply missing a driver for it, some should
> be because the driver for it as not been compiled, some should because
> we don't have the proper clocks drivers yet for one of their
> downstream clocks.
Exactly. This is a not a CLK_DRIVER_NOT_{AUTHORED|UPSTREAM} or
CLK_DRIVER_NOT_ENABLED implementation, it's for CLK_CRITICALs.
Critical clocks must _never_ be turned off, no matter what, else
something really bad will happen. In our use-case, if the clocks are
turned of, it will be catastrophic to the running system.
> Basically, it all boils down to this: some clocks should never ever be
> shutdown because <hardware reason>, and I believe it's the case Lee is
> in. But most of the current code that would use it might, and might
> even need at some point to shut down such a clock.
>
> Mike's solution with the flags + handover was solving all this, I'm
> not sure why he's not pushed it forward.
Right, but I think you are missing part of the conversation. Mike and
I had a face-to-face meeting in San Francisco last year. The
conclusion was that the CLK_CRITICAL and CLK_HANDOVER solutions should
be separated. Different handling, different code. This submission
only solves the former problem. I believe Mike was going to submit
and follow-up on the CLK_HANDOVER solution separately.
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2016-02-01 8:22 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-18 14:28 [PATCH 0/3] clk: Add support for critical clocks Lee Jones
2016-01-18 14:28 ` Lee Jones
2016-01-18 14:28 ` [PATCH 1/3] clk: Allow clocks to be marked as CRITICAL Lee Jones
2016-01-18 14:28 ` Lee Jones
2016-01-18 17:15 ` Geert Uytterhoeven
2016-01-18 17:15 ` Geert Uytterhoeven
2016-01-19 7:53 ` Lee Jones
2016-01-19 7:53 ` Lee Jones
2016-02-11 0:41 ` Michael Turquette
2016-02-11 0:41 ` Michael Turquette
2016-01-18 14:28 ` [PATCH 2/3] clk: WARN_ON about to disable a critical clock Lee Jones
2016-01-18 14:28 ` Lee Jones
2016-02-11 0:43 ` Michael Turquette
2016-02-11 0:43 ` Michael Turquette
2017-06-27 11:16 ` Dirk Behme
2017-06-27 11:16 ` Dirk Behme
2017-07-03 11:53 ` Lee Jones
2017-07-03 11:53 ` Lee Jones
2017-07-03 12:01 ` Dirk Behme
2017-07-03 12:01 ` Dirk Behme
2017-07-03 14:25 ` Lee Jones
2017-07-03 14:25 ` Lee Jones
2017-07-03 15:24 ` Dirk Behme
2017-07-03 15:24 ` Dirk Behme
2017-07-03 16:06 ` Lee Jones
2017-07-03 16:06 ` Lee Jones
2016-01-18 14:28 ` [PATCH 3/3] clk: Provide OF helper to mark clocks as CRITICAL Lee Jones
2016-01-18 14:28 ` Lee Jones
2016-01-27 23:51 ` André Przywara
2016-01-27 23:51 ` André Przywara
2016-02-01 6:32 ` Maxime Ripard
2016-02-01 6:32 ` Maxime Ripard
2016-02-01 8:22 ` Lee Jones [this message]
2016-02-01 8:22 ` Lee Jones
2016-02-11 0:38 ` Michael Turquette
2016-02-11 0:38 ` Michael Turquette
2016-02-02 13:39 ` Andre Przywara
2016-02-02 13:39 ` Andre Przywara
2016-02-02 15:02 ` Lee Jones
2016-02-02 15:02 ` Lee Jones
2016-02-11 0:48 ` Michael Turquette
2016-02-11 0:48 ` Michael Turquette
2016-02-11 1:00 ` [PATCH 0/3] clk: Add support for critical clocks Michael Turquette
2016-02-11 1:00 ` Michael Turquette
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=20160201082245.GV3368@x1 \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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 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.