diff options
author | Felix Held <felix-coreboot@felixheld.de> | 2023-03-22 23:46:34 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-03-24 13:55:58 +0000 |
commit | 5630506fc9810735a1ffca7e7b1cd533c5d689d5 (patch) | |
tree | 91ec0bac55f92f64356448eaf111e84ebe5f79fc /src/soc/amd/phoenix | |
parent | 0b192d3238728bb71192bc518982ea2e02cc1e2c (diff) |
soc/amd: pass pstate_msr union to get_pstate_core_[freq,power]
Since we already have and use the pstate_msr union in get_pstate_info,
also pass it directly to the get_pstate_core_freq and
get_pstate_core_power function calls avoids having to sort-of convert
the msr_t type parameter in the implementations of those two functions.
In amdblocks/cpu.h a forward declaration of the pstate_msr union is used
since soc/msr.h doesn't exist in the two pre-Zen SoCs that also include
amdblocks/cpu.h.
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I112030a15211587ccdc949807d1a1d552fe662b4
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73926
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/amd/phoenix')
-rw-r--r-- | src/soc/amd/phoenix/acpi.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/soc/amd/phoenix/acpi.c b/src/soc/amd/phoenix/acpi.c index ac21851cfa..1be00f9828 100644 --- a/src/soc/amd/phoenix/acpi.c +++ b/src/soc/amd/phoenix/acpi.c @@ -98,13 +98,10 @@ void acpi_fill_fadt(acpi_fadt_t *fadt) fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */ } -uint32_t get_pstate_core_freq(msr_t pstate_def) +uint32_t get_pstate_core_freq(union pstate_msr pstate_reg) { uint32_t core_freq, core_freq_mul, core_freq_div; bool valid_freq_divisor; - union pstate_msr pstate_reg; - - pstate_reg.raw = pstate_def.raw; /* Core frequency multiplier */ core_freq_mul = pstate_reg.cpu_fid_0_7; @@ -138,12 +135,9 @@ uint32_t get_pstate_core_freq(msr_t pstate_def) return core_freq; } -uint32_t get_pstate_core_power(msr_t pstate_def) +uint32_t get_pstate_core_power(union pstate_msr pstate_reg) { uint32_t voltage_in_uvolts, core_vid, current_value_amps, current_divisor, power_in_mw; - union pstate_msr pstate_reg; - - pstate_reg.raw = pstate_def.raw; /* Core voltage ID */ core_vid = pstate_reg.cpu_vid_0_7 | pstate_reg.cpu_vid_8 << 8; |