On 6/28/2024 10:41, Diederik de Haas wrote:
On Monday, 5 February 2024 15:47:08 CEST Nate wrote:
AMD has introduced a feature called Power Management Framework.
See here for more info: https://www.phoronix.com/news/AMD-PMF-Linux-Driver

It seems that this module is not included in the Debian Linux Kernel.

With the upload of 6.9.7 this module now is available in the kernel.

Great.


AFAIK one of my systems should benefit from this too:
MB: Asus ROG STRIX B550-F GAMING, BIOS 3607 03/18/2024
CPU(/APU?): AMD Ryzen 5 5500GT
amd-microcode: version 3.20240116.2+nmu1 (has AMD-TEE firmware, #1062678)
firmware-amd-graphics: 20240220-1~exp0 (sorry ;-P)
power-profiles-daemon: 0.21-2

So I think I'm all set...

I don't think so. I've never heard of this actually used in a desktop board. It's for mobile designs AFAIK.


A bit of context:
The power-profiles-daemon software gained recently support for amd-pstate
driver, and also gained support to handle simultaneously cpu driver
(amd-pstate) and platform driver (amd-pmf).
(https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/merge_request
s/127). It seems that the power-profiles-daemon in unstable do not include
the commit that allows to handle both drivers at the same time.
So I've installed the power-profile-daemons for jammy from this Ubuntu PPA
(https://launchpad.net/~superm1/+archive/ubuntu/ppd/+packages).

The version in that PPA is 0.21-1, so the Debian Testing/Unstable version
should be fine now?

Yes.


And when I list the existing power-profiles I get the following:

user@machine:> sudo powerprofilesctl
   performance:
     CpuDriver: amd_pstate
     Degraded:   no

* balanced:
     CpuDriver: amd_pstate
     PlatformDriver:    placeholder

   power-saver:
     CpuDriver: amd_pstate
     PlatformDriver:    placeholder

This (PlatformDriver: placeholder) indicates that the AMD_PMF module is not
included in the kernel.

So I booted into the 6.9.7 kernel and ran that command ... only to be greeted
with the exact same output ...

So I verified whether AMD_PMF was indeed included ... and it was.
Then I ran ``lsmod | grep amd`` and I saw various modules listed, but I did
NOT see an ``amd_pmf`` driver loaded. Or and ``amdtee`` ...

So I did ``modprobe amd_pmf`` and checked ``lsmod`` again and there it was:
```sh
# lsmod | grep amd
amd_pmf                61440  0
amdtee                 28672  0
amd_sfh                49152  1 amd_pmf
tee                    45056  2 amd_pmf,amdtee
amdgpu              12845056  0
amd_atl                40960  1
edac_mce_amd           28672  0
kvm_amd               184320  0
kvm                  1343488  1 kvm_amd
amdxcp                 12288  1 amdgpu
drm_exec               12288  1 amdgpu
gpu_sched              65536  1 amdgpu
drm_buddy              20480  1 amdgpu
drm_suballoc_helper    12288  1 amdgpu
drm_display_helper    262144  1 amdgpu
drm_ttm_helper         12288  1 amdgpu
ttm                   102400  2 amdgpu,drm_ttm_helper
drm_kms_helper        249856  2 drm_display_helper,amdgpu
platform_profile       12288  2 amd_pmf,asus_wmi
i2c_algo_bit           12288  1 amdgpu
ccp                   155648  2 kvm_amd,amdtee
video                  73728  2 asus_wmi,amdgpu
button                 24576  1 amd_pmf
drm                   737280  11
gpu_sched,drm_kms_helper,drm_exec,drm_suballoc_helper,drm_display_helper,drm_buddy,amdgpu,drm_ttm_helper,ttm,amdxcp
hid                   172032  3 usbhid,hid_generic,amd_sfh
gpio_amdpt             16384  0
gpio_generic           20480  1 gpio_amdpt
```

Ran ``powerprofilesctl`` again ... and saw no change (thus still 'placeholder')

There may be technical limitations that I am not aware of.

I would have expected that amd_pmf and related modules would be loaded
automatically. And ofc that it would actually work.

The only real thing that I can think off that could interfere (from my side) is
that I'm still using an 'old fashioned' BIOS, thus not UEFI.

What other causes could there be that makes it not work properly?

Cheers,
   Diederik

If there is no matching PMF ACPI device the driver won't automatically load.

The way that it works is that the OEM will set bits in their BIOS for that ACPI device indicating which "AMD_PMF" features they support. That's things like Static Slider, Auto mode, CNQF, Smart PC, slider notifications.

I think someone with a laptop that supports PMF would be best to confirm this. Framework 13 AMD and Framework 16 both support it.

Reply via email to