All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Kaehlcke <mka@chromium.org>
To: Rob Herring <robh@kernel.org>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Brian Norris <briannorris@chromium.org>,
	Douglas Anderson <dianders@chromium.org>
Subject: Re: [PATCH 10/11] dt-bindings: misc: add bindings for throttler
Date: Thu, 31 May 2018 14:10:25 -0700	[thread overview]
Message-ID: <20180531211025.GC88063@google.com> (raw)
In-Reply-To: <CAL_JsqK_nFtuxhNbAn3yYueLKAxvwfnY=5M6zFdGrwwwPVrP5g@mail.gmail.com>

On Thu, May 31, 2018 at 03:04:18PM -0500, Rob Herring wrote:
> On Thu, May 31, 2018 at 1:34 PM, Matthias Kaehlcke <mka@chromium.org> wrote:
> > Hi Rob,
> >
> > On Thu, May 31, 2018 at 11:31:59AM -0500, Rob Herring wrote:
> >> On Fri, May 25, 2018 at 01:30:42PM -0700, Matthias Kaehlcke wrote:
> >>
> >> Commit msg?
> >
> > Will add some more info in the next revision.
> >
> >> > Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
> >> > ---
> >> >  .../devicetree/bindings/misc/throttler.txt    | 41 +++++++++++++++++++
> >> >  1 file changed, 41 insertions(+)
> >> >  create mode 100644 Documentation/devicetree/bindings/misc/throttler.txt
> >> >
> >> > diff --git a/Documentation/devicetree/bindings/misc/throttler.txt b/Documentation/devicetree/bindings/misc/throttler.txt
> >> > new file mode 100644
> >> > index 000000000000..92f13e94451a
> >> > --- /dev/null
> >> > +++ b/Documentation/devicetree/bindings/misc/throttler.txt
> >> > @@ -0,0 +1,41 @@
> >> > +Throttler driver
> >> > +
> >> > +The Throttler is used for non-thermal throttling of system components like
> >> > +CPUs or devfreq devices.
> >>
> >> This all looks very Linux specific and not a h/w device. Perhaps you can
> >> add hint properties to OPP tables as to what entries can be used for
> >> throttling, but otherwise this doesn't belong in DT.
> >
> > My idea is to allow multiple throttlers, which might operate on
> > different throttling devices or use different OPPs for the same
> > device. To support this a simple boolean hint that the OPP can be used
> > for throttling would not be sufficient.
> >
> > What should work is a property with an array of phandles of the
> > throttlers that use a given OPP.
> >
> > AFAIK it is currently not possible to enumerate the devfreq devices in
> > the system, so besides the info in the OPPs the throttler itself would
> > still need a phandle to the devfreq device(s) it uses.
> 
> Why don't you fix that OS problem instead of working around it in DT?

I can try, though it's not exclusively in my hands, depends on what
the devfreq maintainers think about it.

> > I envision something like this:
> >
> > gpu_opp_table: opp-table2 {
> >   compatible = "operating-points-v2";
> >
> >   opp00 {
> >     opp-hz = /bits/ 64 <200000000>;
> >     opp-microvolt = <800000>;
> >   };
> >   opp01 {
> >     opp-hz = /bits/ 64 <297000000>;
> >     opp-microvolt = <800000>;
> >     opp-throttlers = <&cros_ec_throttler>;
> >   };
> >   ...
> > };
> >
> > cros_ec_throttler: cros-ec-throttler {
> >   compatible = "google,cros-ec-throttler";
> 
> Is this an actual h/w device?

The Chrome OS Embedded Controller is a MCU that communicates with
Linux over SPI or I2C. The low-level communication with the EC is
handled by drivers/mfd/cros_ec* and then there are multiple drivers
representing 'remote devices' on top of this (rtc-cros-ec.c,
extcon-usbc-cros-ec.c, pwm-cros-ec.c, ...). cros_ec_throttler is a
similar 'device' that responds to signals from the EC with frequency
adjustments.

  reply	other threads:[~2018-05-31 21:10 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-25 20:30 [PATCH 00/11] Add throttler driver for non-thermal throttling Matthias Kaehlcke
2018-05-25 20:30 ` [PATCH 01/11] PM / devfreq: Init user limits from OPP limits, not viceversa Matthias Kaehlcke
2018-05-28  5:26   ` Chanwoo Choi
2018-05-29 18:06     ` Matthias Kaehlcke
2018-05-25 20:30 ` [PATCH 02/11] PM / devfreq: Fix handling of min/max_freq == 0 Matthias Kaehlcke
2018-05-28  3:59   ` MyungJoo Ham
2018-05-28  3:59     ` MyungJoo Ham
2018-05-28  6:37   ` Chanwoo Choi
2018-05-29 18:57     ` Matthias Kaehlcke
2018-05-30  8:04       ` Chanwoo Choi
2018-05-30 21:13         ` Matthias Kaehlcke
2018-06-05  9:40           ` Chanwoo Choi
2018-05-25 20:30 ` [PATCH 03/11] PM / devfreq: Remove check for df->max_freq == 0 from governors Matthias Kaehlcke
2018-05-28  4:51   ` MyungJoo Ham
2018-05-28  4:51     ` MyungJoo Ham
2018-05-28  5:27   ` Chanwoo Choi
2018-05-25 20:30 ` [PATCH 04/11] PM / devfreq: Remove redundant frequency adjustment " Matthias Kaehlcke
2018-05-28  4:57   ` MyungJoo Ham
2018-05-28  4:57     ` MyungJoo Ham
2018-05-28  5:36   ` Chanwoo Choi
2018-05-25 20:30 ` [PATCH 05/11] PM / devfreq: governors: Return device frequency limits instead of user limits Matthias Kaehlcke
2018-05-28  5:04   ` MyungJoo Ham
2018-05-28  5:04     ` MyungJoo Ham
2018-05-29 19:32     ` Matthias Kaehlcke
2018-05-28  6:56   ` Chanwoo Choi
2018-05-25 20:30 ` [PATCH 06/11] PM / devfreq: Add struct devfreq_policy Matthias Kaehlcke
2018-05-25 20:30 ` [PATCH 07/11] PM / devfreg: Add support policy notifiers Matthias Kaehlcke
2018-05-28  5:19   ` MyungJoo Ham
2018-05-28  5:19     ` MyungJoo Ham
2018-05-29 20:02     ` Matthias Kaehlcke
2018-05-25 20:30 ` [PATCH 08/11] PM / devfreq: Make update_devfreq() public Matthias Kaehlcke
2018-05-28  5:24   ` MyungJoo Ham
2018-05-28  5:24     ` MyungJoo Ham
2018-05-25 20:30 ` [PATCH 09/11] misc: throttler: Add core support for non-thermal throttling Matthias Kaehlcke
2018-05-28  7:32   ` Chanwoo Choi
2018-05-29 20:57     ` Matthias Kaehlcke
2018-05-30  8:08       ` Chanwoo Choi
2018-05-28  8:08   ` Greg Kroah-Hartman
2018-05-29 21:30     ` Matthias Kaehlcke
2018-05-25 20:30 ` [PATCH 10/11] dt-bindings: misc: add bindings for throttler Matthias Kaehlcke
2018-05-31 16:31   ` Rob Herring
2018-05-31 18:34     ` Matthias Kaehlcke
2018-05-31 20:04       ` Rob Herring
2018-05-31 21:10         ` Matthias Kaehlcke [this message]
2018-05-25 20:30 ` [PATCH 11/11] misc/throttler: Add Chrome OS EC throttler Matthias Kaehlcke
2018-05-31  9:05   ` Enric Balletbo Serra
2018-05-31 17:33     ` Matthias Kaehlcke

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=20180531211025.GC88063@google.com \
    --to=mka@chromium.org \
    --cc=arnd@arndb.de \
    --cc=briannorris@chromium.org \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=robh@kernel.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.