linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Gautham R Shenoy <ego@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "ego@linux.vnet.ibm.com" <ego@linux.vnet.ibm.com>,
	Linux PM list <linux-pm@vger.kernel.org>,
	linuxppc-dev@ozlabs.org, Anton Blanchard <anton@samba.org>,
	"Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
Subject: Re: [PATCH v3 1/5] powernv: cpufreq driver for powernv platform
Date: Fri, 21 Mar 2014 18:53:26 +0530	[thread overview]
Message-ID: <20140321132326.GE2493@in.ibm.com> (raw)
In-Reply-To: <CAKohpo=JqHOPF_pdcAsvRgc1vENmS=Sg9pS8ZXPGhfMFnA8ZUA@mail.gmail.com>

Hi Viresh,

On Fri, Mar 21, 2014 at 04:24:27PM +0530, Viresh Kumar wrote:
> On 21 March 2014 16:13, Gautham R Shenoy <ego@linux.vnet.ibm.com> wrote:
> > On Fri, Mar 21, 2014 at 02:11:32PM +0530, Viresh Kumar wrote:
> 
> >> > +               pr_debug("PState id %d freq %d MHz\n", id, freq);
> >> > +               powernv_freqs[i].driver_data = i;
> >>
> >> I don't think you are using this field at all and this is the field you can
> >> use for driver_data and so you can get rid of powernv_pstate_ids[ ].
> >
> > Using driver_data to record powernv_pstate_ids won't work since
> > powernv_pstate_ids can be negative. So a pstate_id -3 can be confused
> > with CPUFREQ_BOOST_FREQ thereby not displaying the frequency
> > corresponding to pstate id -3. So for now I think we will be retaining
> > powernv_pstate_ids.
> 
> As I said earlier, this field is only used by cpufreq drivers and cpufreq core
> isn't supposed to touch it. CPUFREQ_BOOST_FREQ and other macros
> are there for .frequency field and not this one.
> 

Ok, I had based my code on linus's git tree. I checked the 'pm-cpufreq'
branch of Rafael's 'linux-pm' tree and freq_table.c contains the
following code snippet in show_available_frequencies:

	if (show_boost ^ (table[i].driver_data == CPUFREQ_BOOST_FREQ))
			continue;

I suspect we're talking about different code bases. So could you
please tell me which one should I be looking at ?

> 
> >> > +static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
> >> > +{
> >> > +       int base, i;
> >> > +
> >> > +#ifdef CONFIG_SMP
> >>
> >> What will break if you don't have this ifdef here? Without that as well
> >> below code should work?
> 
> Missed this one?
> 
> >> > +       base = cpu_first_thread_sibling(policy->cpu);
> >> > +
> >> > +       for (i = 0; i < threads_per_core; i++)
> >> > +               cpumask_set_cpu(base + i, policy->cpus);
> >> > +#endif
> >> > +       policy->cpuinfo.transition_latency = 25000;
> >> > +
> >> > +       policy->cur = powernv_freqs[0].frequency;
> >> > +       cpufreq_frequency_table_get_attr(powernv_freqs, policy->cpu);
> >>
> >> This doesn't exist anymore.
> >
> > Didn't get this comment!
> 
> cpufreq_frequency_table_get_attr() routine doesn't exist anymore.
> 
> >> > +static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy)
> >> > +{
> >> > +       cpufreq_frequency_table_put_attr(policy->cpu);
> >> > +       return 0;
> >> > +}
> >>
> >> You don't need this..
> >
> > Why not ?
> 
> Because cpufreq_frequency_table_get_attr() and
> cpufreq_frequency_table_put_attr() don't exist anymore :)

Well, it does in the codebases that I was looking at. May be I've been
looking at the wrong place.

> 
> >> > +module_init(powernv_cpufreq_init);
> >> > +module_exit(powernv_cpufreq_exit);
> >>
> >> Place these right after the routines without any blank lines in
> > between.
> >
> > Is this the new convention ?
> 
> Don't know I have been following this since long time, probably from the
> time I started with Mainline stuff.. I have seen many maintainers advising this
> as it make code more readable, specially if these routines are quite big..
> 
> Probably it isn't mentioned in coding guidelines but people follow it most of
> the times.

Ok. I was not aware of this. Good to know :-)
> 

--
Thanks and Regards
gautham.

  parent reply	other threads:[~2014-03-21 13:23 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-20 12:10 [PATCH v3 0/5] powernv: Enable Dynamic Frequency Gautham R. Shenoy
2014-03-20 12:10 ` [PATCH v3 1/5] powernv: cpufreq driver for powernv platform Gautham R. Shenoy
2014-03-21  8:41   ` Viresh Kumar
2014-03-21 10:43     ` Gautham R Shenoy
2014-03-21 10:54       ` Viresh Kumar
2014-03-21 11:40         ` Srivatsa S. Bhat
2014-03-21 13:23         ` Gautham R Shenoy [this message]
2014-03-21 13:34           ` Viresh Kumar
2014-03-21 14:54         ` Gautham R Shenoy
2014-03-22  3:43           ` Viresh Kumar
2014-03-21 14:48       ` Vaidyanathan Srinivasan
2014-03-22  3:43         ` Viresh Kumar
2014-03-21 11:45     ` Srivatsa S. Bhat
2014-03-21 11:47       ` Viresh Kumar
2014-03-20 12:10 ` [PATCH v3 2/5] powernv, cpufreq:Add per-core locking to serialize frequency transitions Gautham R. Shenoy
2014-03-21  6:24   ` Gautham R Shenoy
2014-03-21  8:42   ` Viresh Kumar
2014-03-21  9:56     ` Srivatsa S. Bhat
2014-03-20 12:10 ` [PATCH v3 3/5] powernv:cpufreq: Create pstate_id_to_freq() helper Gautham R. Shenoy
2014-03-21  6:24   ` Gautham R Shenoy
2014-03-20 12:10 ` [PATCH v3 4/5] powernv:cpufreq: Export nominal frequency via sysfs Gautham R. Shenoy
2014-03-21  8:47   ` Viresh Kumar
2014-03-21  9:55     ` Gautham R Shenoy
2014-03-21  9:57       ` Viresh Kumar
2014-03-20 12:11 ` [PATCH v3 5/5] powernv:cpufreq: Implement the driver->get() method Gautham R. Shenoy
2014-03-21  6:25   ` Gautham R Shenoy
2014-03-21  9:31   ` Viresh Kumar
2014-03-21 11:04     ` Gautham R Shenoy
2014-03-21 11:45       ` Viresh Kumar
2014-03-21 12:01         ` David Laight
2014-03-21 12:31           ` Gautham R Shenoy
2014-03-21 12:34           ` Viresh Kumar
2014-03-21 15:01             ` David Laight
2014-03-21 13:04         ` Gautham R Shenoy
2014-03-21 13:12           ` Viresh Kumar
2014-03-21 14:25             ` Gautham R Shenoy
2014-03-21 22:56       ` Benjamin Herrenschmidt
2014-03-22  7:53         ` Gautham R Shenoy
2014-03-21  7:46 ` [PATCH v3 0/5] powernv: Enable Dynamic Frequency Viresh Kumar
2014-03-21  8:19   ` Gautham R Shenoy

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=20140321132326.GE2493@in.ibm.com \
    --to=ego@linux.vnet.ibm.com \
    --cc=anton@samba.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=viresh.kumar@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).