linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Huang Rui <ray.huang@amd.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Borislav Petkov <bp@suse.de>,
	"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Giovanni Gherdovich <ggherdovich@suse.cz>,
	Steven Rostedt <rostedt@goodmis.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Sharma, Deepak" <Deepak.Sharma@amd.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Limonciello, Mario" <Mario.Limonciello@amd.com>,
	Steven Noonan <steven@valvesoftware.com>,
	"Fontenot, Nathan" <Nathan.Fontenot@amd.com>,
	"Su, Jinzhou (Joe)" <Jinzhou.Su@amd.com>,
	"Du, Xiaojian" <Xiaojian.Du@amd.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>
Subject: Re: [PATCH v6 02/14] x86/msr: add AMD CPPC MSR definitions
Date: Thu, 23 Dec 2021 10:22:01 +0800	[thread overview]
Message-ID: <YcPdSRDBBclfKB1D@amd.com> (raw)
In-Reply-To: <CAJZ5v0gA+FNh9EQWm0urtzFLgvzuakGydmKXG1pqakqrmDg18w@mail.gmail.com>

On Thu, Dec 23, 2021 at 02:05:40AM +0800, Rafael J. Wysocki wrote:
> On Wed, Dec 22, 2021 at 1:17 AM Huang Rui <ray.huang@amd.com> wrote:
> >
> > Hi Boris,
> >
> > On Tue, Dec 21, 2021 at 11:45:09PM +0800, Borislav Petkov wrote:
> > > On Mon, Dec 20, 2021 at 12:35:16AM +0800, Huang Rui wrote:
> > >
> > > Capitalize subject's first letter:
> > >  [x86/msr: add AMD CPPC MSR definitions]
> > >  [x86/msr: Add AMD CPPC MSR definitions]
> >
> > Thank you for the reply! Updated.
> >
> > >
> > > > AMD CPPC (Collaborative Processor Performance Control) function uses MSR
> > > > registers to manage the performance hints. So add the MSR register macro
> > > > here.
> > > >
> > > > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > > > ---
> > > >  arch/x86/include/asm/msr-index.h | 17 +++++++++++++++++
> > > >  1 file changed, 17 insertions(+)
> > > >
> > > > diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
> > > > index 01e2650b9585..e7945ef6a8df 100644
> > > > --- a/arch/x86/include/asm/msr-index.h
> > > > +++ b/arch/x86/include/asm/msr-index.h
> > > > @@ -486,6 +486,23 @@
> > > >
> > > >  #define MSR_AMD64_VIRT_SPEC_CTRL   0xc001011f
> > > >
> > > > +/* AMD Collaborative Processor Performance Control MSRs */
> > > > +#define MSR_AMD_CPPC_CAP1          0xc00102b0
> > > > +#define MSR_AMD_CPPC_ENABLE                0xc00102b1
> > > > +#define MSR_AMD_CPPC_CAP2          0xc00102b2
> > > > +#define MSR_AMD_CPPC_REQ           0xc00102b3
> > > > +#define MSR_AMD_CPPC_STATUS                0xc00102b4
> > > > +
> > > > +#define CAP1_LOWEST_PERF(x)        (((x) >> 0) & 0xff)
> > > > +#define CAP1_LOWNONLIN_PERF(x)     (((x) >> 8) & 0xff)
> > > > +#define CAP1_NOMINAL_PERF(x)       (((x) >> 16) & 0xff)
> > > > +#define CAP1_HIGHEST_PERF(x)       (((x) >> 24) & 0xff)
> > > > +
> > > > +#define REQ_MAX_PERF(x)            (((x) & 0xff) << 0)
> > > > +#define REQ_MIN_PERF(x)            (((x) & 0xff) << 8)
> > > > +#define REQ_DES_PERF(x)            (((x) & 0xff) << 16)
> > > > +#define REQ_ENERGY_PERF_PREF(x)    (((x) & 0xff) << 24)
> > >
> > > All those bitfield names are too generic - they should at least be
> > > prefixed with "CPPC_"
> > >
> > > If an Intel CPPC set of MSRs appears too, then the prefix should be
> > > "AMD_CPPC_" and so on.
> > >
> >
> > The similar function in Intel names HWP (Hardware P-State), and related MSR
> > registers names as "HWP_" as the prefixes like below:
> >
> > /* IA32_HWP_CAPABILITIES */
> > #define HWP_HIGHEST_PERF(x)             (((x) >> 0) & 0xff)
> > #define HWP_GUARANTEED_PERF(x)          (((x) >> 8) & 0xff)
> > #define HWP_MOSTEFFICIENT_PERF(x)       (((x) >> 16) & 0xff)
> > #define HWP_LOWEST_PERF(x)              (((x) >> 24) & 0xff)
> >
> > Hi Rafael,
> >
> > Can we use the "CPPC_" as the prefixes for AMD CPPC MSR bitfield name?
> 
> Well, what about using "AMD_CPPC_" instead of "REQ_" in these names?
> The names of the analogous Intel macros start with "HWP_" which
> basically stands for "INTEL_CPPC_".

Fine for me, updated it in V7.

Thanks,
Ray


  reply	other threads:[~2021-12-23  2:22 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-19 16:35 [PATCH v6 00/14] cpufreq: introduce a new AMD CPU frequency control mechanism Huang Rui
2021-12-19 16:35 ` [PATCH v6 01/14] x86/cpufeatures: add AMD Collaborative Processor Performance Control feature flag Huang Rui
2021-12-19 16:35 ` [PATCH v6 02/14] x86/msr: add AMD CPPC MSR definitions Huang Rui
2021-12-21 15:45   ` Borislav Petkov
2021-12-22  0:17     ` Huang Rui
2021-12-22 18:05       ` Rafael J. Wysocki
2021-12-23  2:22         ` Huang Rui [this message]
2021-12-19 16:35 ` [PATCH v6 03/14] ACPI: CPPC: implement support for SystemIO registers Huang Rui
2021-12-19 16:35 ` [PATCH v6 04/14] ACPI: CPPC: Check present CPUs for determining _CPC is valid Huang Rui
2021-12-19 16:35 ` [PATCH v6 05/14] ACPI: CPPC: add cppc enable register function Huang Rui
2021-12-19 16:35 ` [PATCH v6 06/14] cpufreq: amd-pstate: introduce a new AMD P-State driver to support future processors Huang Rui
2021-12-19 16:35 ` [PATCH v6 07/14] cpufreq: amd-pstate: add fast switch function for AMD P-State Huang Rui
2021-12-19 16:35 ` [PATCH v6 08/14] cpufreq: amd-pstate: introduce the support for the processors with shared memory solution Huang Rui
2021-12-19 16:35 ` [PATCH v6 09/14] cpufreq: amd-pstate: add trace for AMD P-State module Huang Rui
2021-12-19 16:35 ` [PATCH v6 10/14] cpufreq: amd-pstate: add boost mode support for AMD P-State Huang Rui
2021-12-19 16:35 ` [PATCH v6 11/14] cpufreq: amd-pstate: add AMD P-State frequencies attributes Huang Rui
2021-12-19 16:35 ` [PATCH v6 12/14] cpufreq: amd-pstate: add AMD P-State performance attributes Huang Rui
2021-12-19 16:35 ` [PATCH v6 13/14] Documentation: AMD P-State: add AMD P-State driver introduction Huang Rui
2021-12-19 16:35 ` [PATCH v6 14/14] MAINTAINERS: add AMD P-State driver maintainer entry Huang Rui

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=YcPdSRDBBclfKB1D@amd.com \
    --to=ray.huang@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Deepak.Sharma@amd.com \
    --cc=Jinzhou.Su@amd.com \
    --cc=Mario.Limonciello@amd.com \
    --cc=Nathan.Fontenot@amd.com \
    --cc=Xiaojian.Du@amd.com \
    --cc=bp@suse.de \
    --cc=ggherdovich@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=rafael@kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=skhan@linuxfoundation.org \
    --cc=steven@valvesoftware.com \
    --cc=viresh.kumar@linaro.org \
    --cc=x86@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 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).