Skip to content

Commit

Permalink
intel_pstate: Add support for Baytrail turbo P states
Browse files Browse the repository at this point in the history
A documentation update exposed the existance of the turbo ratio
register. Update baytrail support to use the turbo range.

Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Cc: 3.13+ <stable@vger.kernel.org> # 3.13+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Dirk Brandewie authored and Rafael J. Wysocki committed Feb 21, 2014
1 parent 4042e75 commit 61d8d2a
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions drivers/cpufreq/intel_pstate.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@

#define SAMPLE_COUNT 3

#define BYT_RATIOS 0x66a
#define BYT_VIDS 0x66b
#define BYT_RATIOS 0x66a
#define BYT_VIDS 0x66b
#define BYT_TURBO_RATIOS 0x66c


#define FRAC_BITS 8
#define int_tofp(X) ((int64_t)(X) << FRAC_BITS)
Expand Down Expand Up @@ -367,6 +369,13 @@ static int byt_get_max_pstate(void)
return (value >> 16) & 0xFF;
}

static int byt_get_turbo_pstate(void)
{
u64 value;
rdmsrl(BYT_TURBO_RATIOS, value);
return value & 0x3F;
}

static void byt_set_pstate(struct cpudata *cpudata, int pstate)
{
u64 val;
Expand Down Expand Up @@ -469,7 +478,7 @@ static struct cpu_defaults byt_params = {
.funcs = {
.get_max = byt_get_max_pstate,
.get_min = byt_get_min_pstate,
.get_turbo = byt_get_max_pstate,
.get_turbo = byt_get_turbo_pstate,
.set = byt_set_pstate,
.get_vid = byt_get_vid,
},
Expand Down

0 comments on commit 61d8d2a

Please sign in to comment.