cancel
Showing results for 
Search instead for 
Did you mean: 

PC Processors

cstew764
Adept I

AMD P-State support on mobile Zen2 processors

Since the release of the new amd-pstate driver in Linux I have been trying to get it to work on my AMD variant of the Lenovo T14 Gen1 laptop, the Linux kernel documentation says that it should work on some Zen2 and Zen3 processors.[1] However when I've tried to enable it I get kernel messages at start up saying the driver could not be loaded.

"amd_pstate_ut: amd_pstate_ut_acpi_cpc_valid the _CPC object is not present in SBIOS!"

"amd_pstate_ut: amd_pstate_ut_acpi_cpc_valid fail!"

It seems that some components of the UEFI that are required for P-States are not included in the vendor provided firmware. The components in question as far as I can find are Collaborative Processor Performance Control (CPPC) and the AMD CPPC Performance Control (CPC).

I found a thread on the Lenovo community forum with a Lenovo employee saying that they do have the firmware apparently working with this included, however AMD has told the firmware team at Lenovo not to publicly release it.

"I've just been testing a trial BIOS with the CPC definition added - and I have amd_pstate up and working. I haven't done any stress testing but so far...looks good. I'm not allowed to share the trial BIOS outside Lenovo - sorry :(" [2]

"The bad news part is the FW team have told me that AMD are recommending to not enable it on this generation of platform." [2]

"That's a bit harsh....it was not enabled as per AMD recommendations for that generation of CPU." [3]

"For the pstate - recommendation from AMD was to not back port the PI changes to that generation of platform, hence the FW team weren't willing to enable it I'm afraid. Sorry - the SOL is correct for that generation I'm afraid." [4]

Some commenters on that thread were justifiably upset that a seemingly supported feature wasn't being enabled because of unknown reasons from AMD.

Is there a technical reason why CPPC and CPC shouldn't be enabled on these laptops? Are Zen2 processors really supported by the amd-pstate driver?

[1] - https://docs.kernel.org/admin-guide/pm/amd-pstate.html

[2] - https://forums.lenovo.com/t5/Other-Linux-Discussions/amd-pstate-driver-support-for-AMD-laptops/m-p/5...

[3] - https://forums.lenovo.com/t5/Other-Linux-Discussions/amd-pstate-driver-support-for-AMD-laptops/m-p/5... 

[4] - https://forums.lenovo.com/t5/Other-Linux-Discussions/amd-pstate-driver-support-for-AMD-laptops/m-p/5...

8 Replies

This Linux Phoronix website is one of the best for AMD and Linux type questions and Forums.

Found this Phoronix Article about the same thing you are asking. It is a guide on how to enable P-State in Linux, Maybe it might help you answer your question: https://www.phoronix.com/news/AMD-P-State-How-To

First up, the easiest way to check to verify your CPU frequency scaling driver is by reading /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver to see if you are on acpi-cpufreq or amd-pstate. As a reminder, AMD P-State is only supported with AMD Zen 2 processors and newer. AMD P-State depends upon ACPI Collaborative Processor Performance Contols (CPPC) and that is only with Zen 2 and newer -- Zen 1 / Zen 1+ will not be seeing any support. You also need to ensure CPPC is enabled in your BIOS in case it happened to be disabled. Many motherboard vendors do have a "ACPI CPPC" option in the BIOS that can be set to enabled or auto on Zen 2 and newer processors.

0 Likes

Thanks, as far as I understand it there is no ACPI CPPC option in the BIOS (I have looked) because Lenovo does not include that with their firmware and as per the thread I linked. Some people in that Lenovo thread were even trying to use third-party tools to try and enable hidden options but it seems some components are simply not included in the firmware.

My laptop has a Ryzen 4750U which has Zen2 cores so it should be supported. And the reason I am asking on the AMD forums specifically is that it seems to be something that AMD has communicated to Lenovo.

 

0 Likes

If Lenovo has omitted that option in BIOS than it would be, in my opinion, impossible to enable it with a 3rd party program unless someone is able to modify the Lenovo BIOS to include that option.

If AMD believes it shouldn't be enabled or be permanently disabled it might have to do with being a Laptop APU processor or due to some technology in Lenovo's Laptops that might cause issue if P-State is enabled.

I would believe that AMD would have a good reason for preventing that option from being enabled for your processor. Maybe AMD is just trying to be on the safe side in the respect that P-State might cause some issues in your laptop.

Just hypothesizing.

NOTE: Maybe Lenovo will come out with a new BIOS version where the option is supported with AMD cooperation.

0 Likes

The tool was called the "UniversalAMDFormBrowser" and it is able to offer an interface to access and modify some values that the AMD provided UEFI firmware exposes, called a Human Interface Infrastructure (HII) database, where the vendor installed UEFI interface doesn't. Regardless it seems there are more components that are needed anyway.

And yeah I understand that there may be some real reasons for this, but I have not been able to find anything official on this problem except for this forum topic with posts from a Lenovo employee. But just from reading the Linux kernel documentation I'd expect it to work for Zen2 or newer CPUs.

I hope that they could release a new firmware update to support this too.

I doubt if AMD Support can answer your question since it might involve some sort of agreement between AMD and Lenovo but there is no harm in asking anyways.

Here is the link to open a AMD SUPPORT REQUEST and ask them why your Laptop APU Processor can't have P-State enabled in a Lenovo Laptop: https://www.amd.com/en/support/contact-email-form

Note: if you get a reply from AMD Support can you upload it to this thread?  Curious to see what they say.

cstew764
Adept I

So I contacted AMD technical support and they asked me to test it out on the release of Ubuntu that is certified to run the laptop and since that predictably failed they requested I contact Lenovo support. I will give that a go, but otherwise I might try with AMD again and see if I can escalate it higher to more of the engineering side instead of just the customer support.

Just want to say thank you for your work. I'm very frustrated with the information provided by Lenovo too. It seems to me that they spread bull**bleep**s to cover the fact that they don't want to allocate time to implement CPPC in zen2 bios.

Oh it's fine, I'm partially being selfish because I want the better battery life and lower temps. But I also just really want to know the reason behind it! I don't understand why companies can't communicate these things very well in documentation instead of keeping it between themselves. I guess we are still in the world of closed source firmware, at least until openSIL from AMD is released.

0 Likes