Power management problems & kernel hangs with Cap Verde
Submitted by Klaus Kusche
Assigned to Default DRI bug account
Description
I recently switched from the radeon kernel driver to the amdgpu kernel driver.
As a consequence, battery lifetime of my laptop was more than halved
(before I could give two 90 minutes lectures in a row running on battery,
now the battery is empty after around 70 minutes),
i.e. with amdgpu, the graphic card consumes a multiple of the power it needed
with radeon.
GPU is AMDGPU(0): Chipset: "VERDE" (ChipID = 0x6825)
Laptop is Dell Precision M6700
OS is linux 4.9, userland is running latest official releases (Gentoo)
Typical load is two screens (internal + VGA-Beamer, both 1024x768 mirrored)
with very light load (no 3D & no video at all, just static pdf slides).
Power settings in battery mode with the old radeon driver were
- no dpm
(always was very unstable and consumed by far more power than "classic" pm)
- "classic" pm with power_method = profile and power_profile = low
Analysis of the problems with amdgpu showed:
1.) There is no "classic" power management: If dpm is turned off with amdgpu,
there is no power management at all, and the card permanently runs
with high power. Why was "classic" power management dropped completely?
Basically, I neither want nor need any dynamic adjustment:
When on battery, the gpu should permanently run on minimal power,
independent of its load.
2.) The default dpm mode is "balanced" and "auto".
"balanced" does not change to "battery" automatically when AC is removed,
and it is impossible to set the mode to "battery" manually:
Any attempt to set it via sysfs either kills the process doing so
or hangs it in a kill-9-immune state (which prevents system shutdown).
I then code-changed the default initialization in si_dpm.c from "balanced"
to "battery". This hangs the whole kernel hard during early boot:
No display, no reaction to Alt-Sysrq, ... only hard power off helps.
3.) It is possible to set the dpm level from "auto" to "low",
but that does not seem to result in any measurable effect or power savings?