diff options
Diffstat (limited to 'src/cpu/intel/model_206ax/acpi.c')
-rw-r--r-- | src/cpu/intel/model_206ax/acpi.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/cpu/intel/model_206ax/acpi.c b/src/cpu/intel/model_206ax/acpi.c index 5d3f3a02bb..7b495558d4 100644 --- a/src/cpu/intel/model_206ax/acpi.c +++ b/src/cpu/intel/model_206ax/acpi.c @@ -229,7 +229,16 @@ static int generate_P_state_entries(int core, int cores_per_package) /* Get bus ratio limits and calculate clock speeds */ msr = rdmsr(MSR_PLATFORM_INFO); ratio_min = (msr.hi >> (40-32)) & 0xff; /* Max Efficiency Ratio */ - ratio_max = (msr.lo >> 8) & 0xff; /* Max Non-Turbo Ratio */ + + /* Determine if this CPU has configurable TDP */ + if (cpu_config_tdp_levels()) { + /* Set max ratio to nominal TDP ratio */ + msr = rdmsr(MSR_CONFIG_TDP_NOMINAL); + ratio_max = msr.lo & 0xff; + } else { + /* Max Non-Turbo Ratio */ + ratio_max = (msr.lo >> 8) & 0xff; + } clock_max = ratio_max * SANDYBRIDGE_BCLK; /* Calculate CPU TDP in mW */ |