diff options
author | Shaunak Saha <shaunak.saha@intel.com> | 2017-08-16 09:54:00 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2017-08-17 23:41:59 +0000 |
commit | 5f84310bb1801026b24c57925c8147e33a47a595 (patch) | |
tree | 9110ed78389c4e1a1a305d7329dcab19b8cbf204 /src/soc/intel/common/acpi | |
parent | 321111774ce013b35641fe6d0e03e693974b4a28 (diff) |
soc/intel/common/block: Add functions to common CPU library code
This patch adds few helper functions in CPU common libraray code
which are mainly needed for ACPI module. The functions those are
moved to cpu common code is removed from common acpi files.
TEST= System boots properly and no regression observed.
Change-Id: Id34eb7e03069656238ca0cbdf6ce33f116e0e413
Signed-off-by: Shaunak Saha <shaunak.saha@intel.com>
Reviewed-on: https://review.coreboot.org/21051
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/common/acpi')
-rw-r--r-- | src/soc/intel/common/acpi/acpi.c | 61 |
1 files changed, 1 insertions, 60 deletions
diff --git a/src/soc/intel/common/acpi/acpi.c b/src/soc/intel/common/acpi/acpi.c index 458b95fd54..0934dbd2ae 100644 --- a/src/soc/intel/common/acpi/acpi.c +++ b/src/soc/intel/common/acpi/acpi.c @@ -18,6 +18,7 @@ #include <arch/cpu.h> #include <cpu/intel/turbo.h> #include <cpu/x86/msr.h> +#include <intelblocks/cpulib.h> #include <soc/intel/common/acpi.h> #include <soc/pm.h> @@ -34,66 +35,6 @@ #define PSS_LATENCY_BUSMASTER 10 -__attribute__((weak)) int cpu_get_coord_type(void) -{ - return HW_ALL; -} - -__attribute__((weak)) int cpu_config_tdp_levels(void) -{ - return 0; -} - -__attribute__((weak)) uint32_t cpu_get_min_ratio(void) -{ - msr_t msr; - /* Get bus ratio limits and calculate clock speeds */ - msr = rdmsr(MSR_PLATFORM_INFO); - return ((msr.hi >> 8) & 0xff); /* Max Efficiency Ratio */ -} - -__attribute__((weak)) uint32_t cpu_get_max_ratio(void) -{ - msr_t msr; - uint32_t ratio_max; - if (cpu_config_tdp_levels()) { - /* Set max ratio to nominal TDP ratio */ - msr = rdmsr(MSR_CONFIG_TDP_NOMINAL); - ratio_max = msr.lo & 0xff; - } else { - msr = rdmsr(MSR_PLATFORM_INFO); - /* Max Non-Turbo Ratio */ - ratio_max = (msr.lo >> 8) & 0xff; - } - return ratio_max; -} - -__attribute__((weak)) uint32_t cpu_get_bus_clock(void) -{ - /* CPU bus clock is set by default here to 100MHz. - * This function returns the bus clock in KHz. - */ - return 100 * KHz; -} - -__attribute__((weak)) uint32_t cpu_get_power_max(void) -{ - msr_t msr; - int power_unit; - - msr = rdmsr(MSR_RAPL_POWER_UNIT); - power_unit = 2 << ((msr.lo & 0xf) - 1); - msr = rdmsr(MSR_PKG_POWER_INFO); - return ((msr.lo & 0x7fff) / power_unit) * 1000; -} - -__attribute__((weak)) uint32_t cpu_get_max_turbo_ratio(void) -{ - msr_t msr; - msr = rdmsr(MSR_TURBO_RATIO_LIMIT); - return msr.lo & 0xff; -} - __attribute__((weak)) acpi_cstate_t *soc_get_cstate_map(int *entries) { *entries = 0; |