Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61d8d2ab authored by Dirk Brandewie's avatar Dirk Brandewie Committed by Rafael J. Wysocki
Browse files

intel_pstate: Add support for Baytrail turbo P states



A documentation update exposed the existance of the turbo ratio
register. Update baytrail support to use the turbo range.

Signed-off-by: default avatarDirk Brandewie <dirk.j.brandewie@intel.com>
Cc: 3.13+ <stable@vger.kernel.org> # 3.13+
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 4042e757
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@

#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)
@@ -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;
@@ -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,
	},