broadwell: Enable turbo ratio if available

When turning up the CPU frequency set it to turbo if that is
a possibility.  Also only set the frequency on the boot CPU
since that is all we need it on, this will allow the 1-core
turbo ratio.

BUG=chrome-os-partner:28234
BRANCH=samus,auron
TEST=build and boot on samus

Change-Id: Ib5ad746767ee0a56bc7e59de679a9342f053c0e5
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/234401
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Duncan Laurie 2014-12-10 08:16:43 -08:00 committed by chrome-internal-fetch
commit d408c1b462

View file

@ -486,7 +486,10 @@ static void set_max_ratio(void)
perf_ctl.hi = 0;
/* Check for configurable TDP option */
if (cpu_config_tdp_levels()) {
if (get_turbo_state() == TURBO_ENABLED) {
msr = rdmsr(MSR_TURBO_RATIO_LIMIT);
perf_ctl.lo = (msr.lo & 0xff) << 8;
} else if (cpu_config_tdp_levels()) {
/* Set to nominal TDP ratio */
msr = rdmsr(MSR_CONFIG_TDP_NOMINAL);
perf_ctl.lo = (msr.lo & 0xff) << 8;
@ -588,9 +591,6 @@ static void cpu_core_init(device_t cpu)
/* Set energy policy */
set_energy_perf_bias(ENERGY_POLICY_NORMAL);
/* Set Max Ratio */
set_max_ratio();
/* Enable Turbo */
enable_turbo();
}
@ -693,6 +693,9 @@ void broadwell_init_cpus(device_t dev)
printk(BIOS_ERR, "MP initialization failure.\n");
}
/* Set Max Ratio */
set_max_ratio();
/* Restore the default SMM region. */
restore_default_smm_area(smm_save_area);