Kernel bugs related to the powersaving features of mobility radeon x1400
Submitted by Keivan
Assigned to Default DRI bug account
Description
I have a Mobility Radeon X1400 (RV500 Family) on my dell inspiron 6400 (or it's called inspiron 1501 or 1505 elsewhere). I use Open-source drivers and they work for me and I have no problem with anything except the powermanagement at kernel level.
When I want to activate powersaving feature I use these commands:
- when I use this command:
echo dynpm > /sys/class/drm/card0/device/power_method
nothing happens. I mean GPU frequency remain high. I even do not use a GUI. I'm in the shell.
2. when I use these commands
echo profile > /sys/class/drm/card0/device/power_method
echo low > /sys/class/drm/card0/device/power_profile
I receive these error:
kernel:[ 192.253008] NMI: PCI system error (SERR) for reason b1 on CPU 0.
kernel:[ 192.253016] Dazed and confused, but trying to continue
I have noticed that the kernel do not changes the GPU and Vram frequencies correctly in the profile mode.
This is what I get when I set it to mid:
# echo mid > /sys/class/drm/card0/device/power_profile
# cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 432000 kHz
current engine clock: 209250 kHz
default memory clock: 396000 kHz
current memory clock: 135000 kHz
PCIE lanes: 1
This is what I get when I set it to low:
# echo low > /sys/class/drm/card0/device/power_profile
# cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 432000 kHz
current engine clock: 324000 kHz
default memory clock: 396000 kHz
current memory clock: 135000 kHz
PCIE lanes: 1
This is what I get when I set it to high:
# echo high > /sys/class/drm/card0/device/power_profile
# cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 432000 kHz
current engine clock: 432000 kHz
default memory clock: 396000 kHz
current memory clock: 396000 kHz
PCIE lanes: 0
If you look at the above values, it is obvious that the current clock of mid and low profiles should be replaced with each other.
I've tested this in different distribution of GNU/Linux with different kernel versions: Including Ubuntu, LMDE, Archlinux and Chakra. with these kernel versions: 2.6.38, 2.6.39, 3.0.0 RC5, 3.0.0-1-amd64 in LMDE, and lately with 3.4.55 LTS in ubuntu 12.04.2.