All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Menon, Nishanth" <nm@ti.com>
To: Shawn Guo <shawn.guo@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>, Kevin Hilman <khilman@ti.com>,
	Richard Zhao <richard.zhao@freescale.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Mike Turquette <mturquette@linaro.org>,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org,
	cpufreq@vger.kernel.org
Subject: Re: [PATCH 2/3] PM / OPP: Initialize OPP table from device tree
Date: Fri, 20 Jul 2012 04:04:19 -0500	[thread overview]
Message-ID: <CAOMWX4eAUH1LSshfaZnc2Pj5r39e9v5axTVFa37U0xEP66uczg@mail.gmail.com> (raw)
In-Reply-To: <20120720084655.GB31866@S2101-09.ap.freescale.net>

On Fri, Jul 20, 2012 at 3:46 AM, Shawn Guo <shawn.guo@linaro.org> wrote:
>
>> > +       ret = of_property_read_u32_array(np, propname, opp, nr);
>> > +       if (ret) {
>> > +               dev_err(dev, "%s: Unable to read OPPs\n", __func__);
>> > +               goto out;
>> > +       }
>> > +
>> > +       nr /= 3;
>> > +       for (i = 0; i < nr; i++) {
>> > +               /*
>> > +                * Each OPP is a set of tuples consisting of frequency,
>> > +                * voltage and availability like <freq-kHz vol-uV enable>.
>> > +                */
>> > +               u32 *val = opp + i * 3;
>> > +
>> > +               val[0] *= 1000;
>> > +               ret = opp_add(dev, val[0], val[1]);
>> > +               if (ret) {
>> > +                       dev_warn(dev, "%s: Failed to add OPP %d: %d\n",
>> > +                                __func__, val[0], ret);
>> > +                       continue;
>> > +               }
>> > +
>> > +               if (!val[2]) {
>> > +                       ret = opp_disable(dev, val[0]);
>> Since we are updating the table out of context of the SoC users,
>> consider what might happen if someone where to operate on the OPP
>> after opp_add, but before opp_disable?
>
> I would take this as another comment reminding me to remove the
> enabling/availability tuple from the binding.  Will do it in the
> next version.
I am not completely convinced that dropping the flag would be the best approach
on a long run, but might be a good starting point while we meet current reqs and
as a need arises, could increase the scope. Thanks once again for doing this.

Regards,
Nishanth Menon

WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Menon, Nishanth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] PM / OPP: Initialize OPP table from device tree
Date: Fri, 20 Jul 2012 04:04:19 -0500	[thread overview]
Message-ID: <CAOMWX4eAUH1LSshfaZnc2Pj5r39e9v5axTVFa37U0xEP66uczg@mail.gmail.com> (raw)
In-Reply-To: <20120720084655.GB31866@S2101-09.ap.freescale.net>

On Fri, Jul 20, 2012 at 3:46 AM, Shawn Guo <shawn.guo@linaro.org> wrote:
>
>> > +       ret = of_property_read_u32_array(np, propname, opp, nr);
>> > +       if (ret) {
>> > +               dev_err(dev, "%s: Unable to read OPPs\n", __func__);
>> > +               goto out;
>> > +       }
>> > +
>> > +       nr /= 3;
>> > +       for (i = 0; i < nr; i++) {
>> > +               /*
>> > +                * Each OPP is a set of tuples consisting of frequency,
>> > +                * voltage and availability like <freq-kHz vol-uV enable>.
>> > +                */
>> > +               u32 *val = opp + i * 3;
>> > +
>> > +               val[0] *= 1000;
>> > +               ret = opp_add(dev, val[0], val[1]);
>> > +               if (ret) {
>> > +                       dev_warn(dev, "%s: Failed to add OPP %d: %d\n",
>> > +                                __func__, val[0], ret);
>> > +                       continue;
>> > +               }
>> > +
>> > +               if (!val[2]) {
>> > +                       ret = opp_disable(dev, val[0]);
>> Since we are updating the table out of context of the SoC users,
>> consider what might happen if someone where to operate on the OPP
>> after opp_add, but before opp_disable?
>
> I would take this as another comment reminding me to remove the
> enabling/availability tuple from the binding.  Will do it in the
> next version.
I am not completely convinced that dropping the flag would be the best approach
on a long run, but might be a good starting point while we meet current reqs and
as a need arises, could increase the scope. Thanks once again for doing this.

Regards,
Nishanth Menon

  reply	other threads:[~2012-07-20  9:04 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-19 15:54 [PATCH 0/3] Add a generic cpufreq-cpu0 driver Shawn Guo
2012-07-19 15:54 ` Shawn Guo
2012-07-19 15:54 ` [PATCH 1/3] ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp Shawn Guo
2012-07-19 15:54   ` Shawn Guo
2012-07-20  6:36   ` Shilimkar, Santosh
2012-07-20  6:36     ` Shilimkar, Santosh
2012-07-20  7:56     ` Shawn Guo
2012-07-20  7:56       ` Shawn Guo
2012-07-20  8:27       ` Shilimkar, Santosh
2012-07-20  8:27         ` Shilimkar, Santosh
2012-07-19 15:54 ` [PATCH 2/3] PM / OPP: Initialize OPP table from device tree Shawn Guo
2012-07-19 15:54   ` Shawn Guo
2012-07-20  6:00   ` Menon, Nishanth
2012-07-20  6:00     ` Menon, Nishanth
2012-07-20  8:46     ` Shawn Guo
2012-07-20  8:46       ` Shawn Guo
2012-07-20  9:04       ` Menon, Nishanth [this message]
2012-07-20  9:04         ` Menon, Nishanth
2012-07-19 15:54 ` [PATCH 3/3] cpufreq: Add a generic cpufreq-cpu0 driver Shawn Guo
2012-07-19 15:54   ` Shawn Guo
2012-07-20  6:52   ` Shilimkar, Santosh
2012-07-20  6:52     ` Shilimkar, Santosh
     [not found]     ` <CAMQu2gw32LogXJJa+K5ZjmCZzBNK3FY2wYwZXU8fsftsVzEO2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-07-20 12:33       ` Shawn Guo
2012-07-20 12:33         ` Shawn Guo
2012-07-20 15:50         ` Turquette, Mike
2012-07-20 15:50           ` Turquette, Mike
2012-07-21  5:04           ` Shilimkar, Santosh
2012-07-21  5:04             ` Shilimkar, Santosh
2012-07-21  6:38             ` Shawn Guo
2012-07-21  6:38               ` Shawn Guo
2012-07-27  2:04               ` Richard Zhao
2012-07-27  2:04                 ` Richard Zhao
2012-07-30  4:57                 ` Shawn Guo
2012-07-30  4:57                   ` Shawn Guo
2012-07-20 12:51   ` Richard Zhao
2012-07-20 12:51     ` Richard Zhao
2012-07-20 13:15     ` Shawn Guo
2012-07-20 13:15       ` Shawn Guo
     [not found]   ` <1342713281-31114-4-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2012-07-26 13:11     ` Mark Brown
2012-07-26 13:11       ` Mark Brown
     [not found]       ` <20120726131121.GB7306-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2012-07-27  2:13         ` Richard Zhao
2012-07-27  2:13           ` Richard Zhao
2012-07-27 10:08           ` Mark Brown
2012-07-27 10:08             ` Mark Brown
2012-07-30  6:52       ` Shawn Guo
2012-07-30  6:52         ` Shawn Guo
2012-07-30  8:20         ` Shawn Guo
2012-07-30  8:20           ` Shawn Guo
2012-07-30 18:55           ` Mark Brown
2012-07-30 18:55             ` Mark Brown
2012-07-30 18:53         ` Mark Brown
2012-07-30 18:53           ` Mark Brown
2012-07-31  4:20           ` Shawn Guo
2012-07-31  4:20             ` Shawn Guo
2012-07-31 13:40             ` Mark Brown
2012-07-31 13:40               ` Mark Brown
2012-07-27  6:33   ` Richard Zhao
2012-07-27  6:33     ` Richard Zhao
2012-07-30  8:17     ` Shawn Guo
2012-07-30  8:17       ` Shawn Guo
2012-07-30  8:50       ` Richard Zhao
2012-07-30  8:50         ` Richard Zhao
2012-07-30  9:24         ` Shawn Guo
2012-07-30  9:24           ` Shawn Guo
2012-07-19 18:39 ` [PATCH 0/3] " Rafael J. Wysocki
2012-07-19 18:39   ` Rafael J. Wysocki
2012-07-20  0:29   ` Shawn Guo
2012-07-20  0:29     ` Shawn Guo

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=CAOMWX4eAUH1LSshfaZnc2Pj5r39e9v5axTVFa37U0xEP66uczg@mail.gmail.com \
    --to=nm@ti.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mturquette@linaro.org \
    --cc=richard.zhao@freescale.com \
    --cc=rjw@sisk.pl \
    --cc=shawn.guo@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 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.