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.