cpupower: Enable boost state support for AMD P-State module
authorHuang Rui <ray.huang@amd.com>
Tue, 22 Feb 2022 15:34:23 +0000 (23:34 +0800)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 23 Feb 2022 01:37:01 +0000 (18:37 -0700)
commitbf9801baa81802dac7e2a5318944ca2f4bfa74ef
tree37f718f0f2a41d9cbc6b0d5aac488c0b0aa2fd0a
parent33e43f3636dffe84753847eee79ea0e3527105e6
cpupower: Enable boost state support for AMD P-State module

The legacy ACPI hardware P-States function has 3 P-States on ACPI table,
the CPU frequency only can be switched between the 3 P-States. While the
processor supports the boost state, it will have another boost state
that the frequency can be higher than P0 state, and the state can be
decoded by the function of decode_pstates() and read by
amd_pci_get_num_boost_states().

However, the new AMD P-State function is different than legacy ACPI
hardware P-State on AMD processors. That has a finer grain frequency
range between the highest and lowest frequency. And boost frequency is
actually the frequency which is mapped on highest performance ratio. The
similar previous P0 frequency is mapped on nominal performance ratio.
If the highest performance on the processor is higher than nominal
performance, then we think the current processor supports the boost
state. And it uses amd_pstate_boost_init() to initialize boost for AMD
P-State function.

Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/power/cpupower/utils/helpers/amd.c
tools/power/cpupower/utils/helpers/helpers.h
tools/power/cpupower/utils/helpers/misc.c