On 11/6/2024 14:33, Rafael J. Wysocki wrote:
On Tue, Nov 5, 2024 at 9:17 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
On Mon, Nov 4, 2024 at 11:29 PM Mario Limonciello <superm1@xxxxxxxxxx> wrote:
From: Mario Limonciello <mario.limonciello@xxxxxxx>
arch_init_invariance_cppc() is called at the end of
acpi_cppc_processor_probe() in order to configure frequency invariance
based upon the values from _CPC.
This however doesn't work on AMD CPPC shared memory designs that have
AMD preferred cores enabled because _CPC needs to be analyzed from all
cores to judge if preferred cores are enabled.
This issue manifests to users as a warning since commit 21fb59ab4b97
("ACPI: CPPC: Adjust debug messages in amd_set_max_freq_ratio() to warn"):
```
Could not retrieve highest performance (-19)
```
However the warning isn't the cause of this, it was actually
commit 279f838a61f9 ("x86/amd: Detect preferred cores in
amd_get_boost_ratio_numerator()") which exposed the issue.
To fix this problem, change arch_init_invariance_cppc() into a new weak
symbol that is called at the end of acpi_processor_driver_init().
Each architecture that supports it can declare the symbol to override
the weak one.
"Define it for x86, in arch/x86/kernel/acpi/cppc.c, and for all of the
architectures using the generic arch_topology.c code."
I've added this to the patch changelog and queued it up as a 6.12 fix.
Thanks!
Thanks!