All of lore.kernel.org
 help / color / mirror / Atom feed
From: plongepe <philippe.longepe@linux.intel.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: "linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
	Philippe Longepe <philippe.longepe@intel.com>
Subject: Re: [PATCH v3 1/2] cpufreq: intel_pstate: Replace BYT by ATOM
Date: Tue, 27 Oct 2015 09:01:07 +0100	[thread overview]
Message-ID: <562F2F43.9060302@linux.intel.com> (raw)
In-Reply-To: <CAJZ5v0g64yUkSCyJjYM+d+nJ1-tEvpE7audRCzB7pGBhTSoNpw@mail.gmail.com>



On 27/10/2015 00:42, Rafael J. Wysocki wrote:
> On Mon, Oct 26, 2015 at 10:30 AM, Philippe Longepe
> <philippe.longepe@linux.intel.com> wrote:
>> From: Philippe Longepe <philippe.longepe@intel.com>
>>
>> The goal is to support several Atoms architectures.
> I guess the point is that all processors from the Atom line (or at
> least the majority of them) will use the same rations etc as Baytrail,
> right?
Yes, the goal is to support all the recent Atom line based on silvermont 
(Baytrail), Airmont (CherryTrail) but also newest architectures based on 
Goldmont.
>
>> Signed-off-by: Philippe Longepe <philippe.longepe@linux.intel.com>
>> ---
>>   drivers/cpufreq/intel_pstate.c | 56 +++++++++++++++++++++---------------------
>>   1 file changed, 28 insertions(+), 28 deletions(-)
>>
>> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
>> index aa33b92..8618b02 100644
>> --- a/drivers/cpufreq/intel_pstate.c
>> +++ b/drivers/cpufreq/intel_pstate.c
>> @@ -34,10 +34,10 @@
>>   #include <asm/cpu_device_id.h>
>>   #include <asm/cpufeature.h>
>>
>> -#define BYT_RATIOS             0x66a
>> -#define BYT_VIDS               0x66b
>> -#define BYT_TURBO_RATIOS       0x66c
>> -#define BYT_TURBO_VIDS         0x66d
>> +#define ATOM_RATIOS            0x66a
>> +#define ATOM_VIDS              0x66b
>> +#define ATOM_TURBO_RATIOS      0x66c
>> +#define ATOM_TURBO_VIDS                0x66d
>>
>>   #define FRAC_BITS 8
>>   #define int_tofp(X) ((int64_t)(X) << FRAC_BITS)
>> @@ -502,31 +502,31 @@ static void intel_pstate_hwp_enable(struct cpudata *cpudata)
>>          wrmsrl_on_cpu(cpudata->cpu, MSR_PM_ENABLE, 0x1);
>>   }
>>
>> -static int byt_get_min_pstate(void)
>> +static int atom_get_min_pstate(void)
>>   {
>>          u64 value;
>>
>> -       rdmsrl(BYT_RATIOS, value);
>> +       rdmsrl(ATOM_RATIOS, value);
>>          return (value >> 8) & 0x7F;
>>   }
>>
>> -static int byt_get_max_pstate(void)
>> +static int atom_get_max_pstate(void)
>>   {
>>          u64 value;
>>
>> -       rdmsrl(BYT_RATIOS, value);
>> +       rdmsrl(ATOM_RATIOS, value);
>>          return (value >> 16) & 0x7F;
>>   }
>>
>> -static int byt_get_turbo_pstate(void)
>> +static int atom_get_turbo_pstate(void)
>>   {
>>          u64 value;
>>
>> -       rdmsrl(BYT_TURBO_RATIOS, value);
>> +       rdmsrl(ATOM_TURBO_RATIOS, value);
>>          return value & 0x7F;
>>   }
>>
>> -static void byt_set_pstate(struct cpudata *cpudata, int pstate)
>> +static void atom_set_pstate(struct cpudata *cpudata, int pstate)
>>   {
>>          u64 val;
>>          int32_t vid_fp;
>> @@ -551,10 +551,10 @@ static void byt_set_pstate(struct cpudata *cpudata, int pstate)
>>          wrmsrl_on_cpu(cpudata->cpu, MSR_IA32_PERF_CTL, val);
>>   }
>>
>> -#define BYT_BCLK_FREQS 5
>> -static int byt_freq_table[BYT_BCLK_FREQS] = { 833, 1000, 1333, 1167, 800};
>> +#define ATOM_BCLK_FREQS 5
>> +static int atom_freq_table[ATOM_BCLK_FREQS] = { 833, 1000, 1333, 1167, 800};
>>
>> -static int byt_get_scaling(void)
>> +static int atom_get_scaling(void)
>>   {
>>          u64 value;
>>          int i;
>> @@ -562,16 +562,16 @@ static int byt_get_scaling(void)
>>          rdmsrl(MSR_FSB_FREQ, value);
>>          i = value & 0x3;
>>
>> -       BUG_ON(i > BYT_BCLK_FREQS);
>> +       BUG_ON(i > ATOM_BCLK_FREQS);
>>
>> -       return byt_freq_table[i] * 100;
>> +       return atom_freq_table[i] * 100;
>>   }
>>
>> -static void byt_get_vid(struct cpudata *cpudata)
>> +static void atom_get_vid(struct cpudata *cpudata)
>>   {
>>          u64 value;
>>
>> -       rdmsrl(BYT_VIDS, value);
>> +       rdmsrl(ATOM_VIDS, value);
>>          cpudata->vid.min = int_tofp((value >> 8) & 0x7f);
>>          cpudata->vid.max = int_tofp((value >> 16) & 0x7f);
>>          cpudata->vid.ratio = div_fp(
>> @@ -579,7 +579,7 @@ static void byt_get_vid(struct cpudata *cpudata)
>>                  int_tofp(cpudata->pstate.max_pstate -
>>                          cpudata->pstate.min_pstate));
>>
>> -       rdmsrl(BYT_TURBO_VIDS, value);
>> +       rdmsrl(ATOM_TURBO_VIDS, value);
>>          cpudata->vid.turbo = value & 0x7f;
>>   }
>>
>> @@ -659,7 +659,7 @@ static struct cpu_defaults core_params = {
>>          },
>>   };
>>
>> -static struct cpu_defaults byt_params = {
>> +static struct cpu_defaults atom_params = {
>>          .pid_policy = {
>>                  .sample_rate_ms = 10,
>>                  .deadband = 0,
>> @@ -669,12 +669,12 @@ static struct cpu_defaults byt_params = {
>>                  .i_gain_pct = 4,
>>          },
>>          .funcs = {
>> -               .get_max = byt_get_max_pstate,
>> -               .get_min = byt_get_min_pstate,
>> -               .get_turbo = byt_get_turbo_pstate,
>> -               .set = byt_set_pstate,
>> -               .get_scaling = byt_get_scaling,
>> -               .get_vid = byt_get_vid,
>> +               .get_max = atom_get_max_pstate,
>> +               .get_min = atom_get_min_pstate,
>> +               .get_turbo = atom_get_turbo_pstate,
>> +               .set = atom_set_pstate,
>> +               .get_scaling = atom_get_scaling,
>> +               .get_vid = atom_get_vid,
>>          },
>>   };
>>
>> @@ -912,7 +912,7 @@ static void intel_pstate_timer_func(unsigned long __data)
>>   static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
>>          ICPU(0x2a, core_params),
>>          ICPU(0x2d, core_params),
>> -       ICPU(0x37, byt_params),
>> +       ICPU(0x37, atom_params),
>>          ICPU(0x3a, core_params),
>>          ICPU(0x3c, core_params),
>>          ICPU(0x3d, core_params),
>> @@ -921,7 +921,7 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
>>          ICPU(0x45, core_params),
>>          ICPU(0x46, core_params),
>>          ICPU(0x47, core_params),
>> -       ICPU(0x4c, byt_params),
>> +       ICPU(0x4c, atom_params),
>>          ICPU(0x4e, core_params),
>>          ICPU(0x4f, core_params),
>>          ICPU(0x5e, core_params),
>> --
>> 1.9.1
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html


      reply	other threads:[~2015-10-27  8:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-26  9:30 [PATCH v3 1/2] cpufreq: intel_pstate: Replace BYT by ATOM Philippe Longepe
2015-10-26 23:42 ` Rafael J. Wysocki
2015-10-27  8:01   ` plongepe [this message]

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=562F2F43.9060302@linux.intel.com \
    --to=philippe.longepe@linux.intel.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=philippe.longepe@intel.com \
    --cc=rafael@kernel.org \
    --cc=srinivas.pandruvada@linux.intel.com \
    /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.