Re: [PATCH 2/2] platform/x86/amd: hfi: Stand down when amd-pstate CAS is active

From: Mario Limonciello

Date: Sun Nov 15 2026 - 09:16:38 EST




On 11/14/26 09:03, Vishal Badole wrote:
From: Krishnamoorthi M <krishnamoorthi.m@xxxxxxx>

When amd-pstate CAS is active, it takes ownership of per-CPU capacity
values that the scheduler uses to distinguish performance and efficiency
cores. amd-hfi manages the same scheduler state through its ranking
mechanism. Running both simultaneously would cause them to overwrite
each other's settings, leading to unpredictable task placement on hybrid
platforms.

Avoid loading amd-hfi if CAS is enabled.

Signed-off-by: Krishnamoorthi M <krishnamoorthi.m@xxxxxxx>

When a patch is authored by another person and you send it on their behalf you need to add your own S-o-b as well.

Think of it like a chain of custody.

---
drivers/platform/x86/amd/hfi/hfi.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/platform/x86/amd/hfi/hfi.c b/drivers/platform/x86/amd/hfi/hfi.c
index 86a7f4332c35..b6878614e2bc 100644
--- a/drivers/platform/x86/amd/hfi/hfi.c
+++ b/drivers/platform/x86/amd/hfi/hfi.c
@@ -29,6 +29,8 @@
#include <asm/cpu_device_id.h>
+#include <linux/amd-pstate.h>
+
#include <acpi/pcc.h>
#include <acpi/cppc_acpi.h>
@@ -536,6 +538,12 @@ static int __init amd_hfi_init(void)
!cpu_feature_enabled(X86_FEATURE_AMD_WORKLOAD_CLASS))
return -ENODEV;
+ /* amd-pstate CAS owns heterogeneous core scheduling when enabled. */
+ if (amd_pstate_cas_active()) {
+ pr_debug("amd-pstate CAS is active, not loading amd-hfi\n");
+ return -ENODEV;
+ }
+
ret = platform_driver_register(&amd_hfi_driver);
if (ret)
pr_err("failed to register HFI driver\n");