Hello Everyone,
I have a Threadripper 3960X (Zen2) CPU with Asus Prime TRX40-Pro motherboard.
Although AMD says Zen2 processors support CPPC, it is not possible to activate this feature on TRX40 and Castle Peak CPUs.
I have checked several forums as well none so far activated this feature.
So, I did my research and my observations are below.
As we know Linux kernel uses standard implementation of ACPI.
CPPC can be declared either declared by either ACPI _OSC or CPUID intruction.
However, AMD CPUs declares CPPC via CPUID intruction.
However, cpuid 0x80000008 (ebx) CPPC bit is always 0 (disabled) whether you enable or disable CPPC in BIOS.
Asus AMI Bios does not have _OSC declaration for CPPC support in DSDT and SSDT tables.
There exists _CPC declarations in a SSDT table but since CPPC support is not declared, it is omitted by Linux kernel.
Hence, amd_pstate module declares "the _CPC object is not present in SBIOS or ACPI disabled"
Although acpi_cpufreq module works completely fine for these CPUs, there is a question in all TRX40 owner's mind who uses Linux:
Do TRX40 platform and Zen2 Threadripper CPUs really support the standard implementation of ACPI CPPC or is it just a "special feature" for Windows?
Solved! Go to Solution.
UPDATE
A patch to Linux CPPC code is submitted by Perry Yuan from AMD in order to workaround this CPPC feature declaration problem and amd-pstate driver now works as expected.
For those who wants to apply the patch beforehand and benefit this feature can check the link below.
https://bugzilla.kernel.org/show_bug.cgi?id=218171
Problem is finally solved.
Same problem on Asus rampage ii zenith extreme (3970x)
UPDATE
A patch to Linux CPPC code is submitted by Perry Yuan from AMD in order to workaround this CPPC feature declaration problem and amd-pstate driver now works as expected.
For those who wants to apply the patch beforehand and benefit this feature can check the link below.
https://bugzilla.kernel.org/show_bug.cgi?id=218171
Problem is finally solved.
thanks for the feedback.