DRI

[drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed

Bug #1319589 reported by Valentin Crone
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
DRI
Unknown
Medium
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Hello,
On Ubuntu 14.04 LTS, when the computer starts (before the splash screen appears), I see this error in the console:

[drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed

I don't know what does exactly this bug, but I supposed that it's not normal.

OS: Linux
Type: amd64
Distribution: Ubuntu 14.04 LTS
GPU: ATI Mobility Radeon HD 4570
→ 02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v]

Kernel: 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I use the free driver for Linux, ATI doesn't support this GPU with proprietary drivers today... but without this little bug, the free drivers are very good :)

Message appears at [ 17.026313]
(See dmesg file)

Thank you.
---
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: valentin 4277 F.... pulseaudio
 /dev/snd/controlC0: valentin 4277 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 14.04
HibernationDevice: RESUME=UUID=2fe681c2-5497-453b-bc19-4401ca76baaf
InstallationDate: Installed on 2014-05-06 (8 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326)
MachineType: Acer Aspire 5542
Package: linux (not installed)
ProcFB: 0 radeondrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-24-generic root=UUID=20964cff-7885-4482-8618-d60d52c7d229 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.13.0-24.47-generic 3.13.9
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-24-generic N/A
 linux-backports-modules-3.13.0-24-generic N/A
 linux-firmware 1.127.2
Tags: trusty
Uname: Linux 3.13.0-24-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 01/18/2010
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: V1.09
dmi.board.name: JV50TR
dmi.board.vendor: Acer
dmi.board.version: Rev
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: None
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.09:bd01/18/2010:svnAcer:pnAspire5542:pvr0100:rvnAcer:rnJV50TR:rvrRev:cvnAcer:ct10:cvrNone:
dmi.product.name: Aspire 5542
dmi.product.version: 0100
dmi.sys.vendor: Acer

Revision history for this message
In , Alexander (crew4ok) wrote :

Created attachment 95731
dmesg

Right before the system go to suspend, the following line appears in dmesg:

[drm:rv730_stop_dpm] *ERROR* Could not force DPM to low

After wakeup i see this in dmesg:

[drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed

Also i notice a degradation in performance in some games (e.g. in Teeworlds before the suspend i have 60fps, after suspend - 30-40 fps).

Revision history for this message
In , Alexander (crew4ok) wrote :

BTW, my kernel is a stock Archlinux kernel 3.13.6.

Revision history for this message
In , Alexdeucher (alexdeucher) wrote :

Does this work better with a 3.14 kernel?

Revision history for this message
In , Alexander (crew4ok) wrote :

(In reply to comment #2)
> Does this work better with a 3.14 kernel?

I've just built 3.14 RC6 and it's all the the same with it.

Revision history for this message
Valentin Crone (va-crone) wrote :
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1319589

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: trusty
Revision history for this message
Valentin Crone (va-crone) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Valentin Crone (va-crone) wrote : BootDmesg.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : CRDA.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : IwConfig.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : Lspci.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : Lsusb.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : ProcEnviron.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : ProcModules.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : PulseList.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : RfKill.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : UdevDb.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : UdevLog.txt

apport information

Revision history for this message
Valentin Crone (va-crone) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.15 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15-rc5-utopic/

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Valentin Crone (va-crone) wrote :

Hum,
I have build the kernel 3.15 but it not start like usual, it test manu thing and crash with kobject error *........*

So, i will retry a new build but for the moment:
"kernel-unable-to-test-upstream"

Revision history for this message
Valentin Crone (va-crone) wrote :

I have successful build the kernel 3.14.4 and it boot correctly, I have not seen this message, but I'm not sure.
The kernel 3.15 is currently in build with the same params...

Revision history for this message
Valentin Crone (va-crone) wrote :

The 3.15 doesn't boot, same after rebuild and full reinstallation.
But it seem on 3.14.4 the bug is fixed.

Revision history for this message
In , Arzeth0 (arzeth0) wrote :

Created attachment 100961
dmesg (Radeon HD 4550, 3.15.0)

I have the same problem with Radeon HD 4550 using kernel 3.14.5 or 3.15.0 or vanilla 3.15-rc1.
I have also noticed that `[drm:rv730_stop_dpm] *ERROR* Could not force DPM to low` appears only after some gaming/etc.

Changed in linux (Ubuntu):
assignee: nobody → Ezequiel Gordillo Acevedo (cheque-101)
assignee: Ezequiel Gordillo Acevedo (cheque-101) → nobody
Revision history for this message
In , Thaddaeus Tintenfisch (thad-fisch-deactivatedaccount) wrote :

I'm also affected by this bug and I can confirm the performance hit after resuming the system from suspend.

Radeon HD 4330 + kernel 3.15.2

[ 4772.472528] [drm:rv730_stop_dpm] *ERROR* Could not force DPM to low
[ 4772.954683] [drm] PCIE GART of 1024M enabled (table at 0x000000000025D000).
[ 4773.002123] [drm] ring test on 0 succeeded in 1 usecs
[ 4773.002180] [drm] ring test on 3 succeeded in 1 usecs
[ 4773.187038] [drm] ring test on 5 succeeded in 1 usecs
[ 4773.187042] [drm] UVD initialized successfully.
[ 4773.187067] [drm] ib test on ring 0 succeeded in 0 usecs
[ 4773.187089] [drm] ib test on ring 3 succeeded in 1 usecs
[ 4773.337007] [drm] ib test on ring 5 succeeded
[ 4773.507776] [drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
In , Alexdeucher (alexdeucher) wrote :

Created attachment 108972
possible fix

Does this patch help?

Changed in dri:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
In , Peter Estes (pmestes) wrote :

Same issue occurs with Radeon HD 4550 (RV710) using kernel 3.13 with Ubuntu 14.04. Resuming from Suspend boots to less than optimal graphics state. A reboot will return normal functionality.

dmesg | grep power returns familiar output but with the these error lines:

[ 1420.560438] [drm:rv730_stop_dpm] *ERROR* Could not force DPM to low

[1421.764025] [drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed

Revision history for this message
In , Thaddaeus Tintenfisch (thad-fisch-deactivatedaccount) wrote :

The patch does not seem to fix the problem here, still seeing the error messages in my log.
Can anyone else please test it?

Revision history for this message
Valentin Crone (va-crone) wrote :

Now, on Ubuntu 14.04.1 LTS with Linux 3.18.1:

valentin@ACER-VALENTIN2:~$ dmesg | grep drm
[ 13.285632] [drm] Initialized drm 1.1.0 20060810
[ 14.558393] [drm] radeon kernel modesetting enabled.
[ 14.558511] fb: switching to radeondrmfb from VESA VGA
[ 14.560642] [drm] initializing kernel modesetting (RV710 0x1002:0x9553 0x1025:0x0293).
[ 14.560662] [drm] register mmio base: 0xCFEF0000
[ 14.560664] [drm] register mmio size: 65536
[ 14.560765] [drm] Detected VRAM RAM=512M, BAR=256M
[ 14.560767] [drm] RAM width 64bits DDR
[ 14.560876] [drm] radeon: 512M of VRAM memory ready
[ 14.560878] [drm] radeon: 1024M of GTT memory ready.
[ 14.560894] [drm] Loading RV710 Microcode
[ 15.463701] [drm] radeon: dpm initialized
[ 15.642370] [drm] GART: num cpu pages 262144, num gpu pages 262144
[ 15.644694] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[ 15.647056] [drm] PCIE GART of 1024M enabled (table at 0x000000000025E000).
[ 15.648025] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 15.648026] [drm] Driver supports precise vblank timestamp query.
[ 15.648096] [drm] radeon: irq initialized.
[ 15.693947] [drm] ring test on 0 succeeded in 1 usecs
[ 15.693953] [drm] ring test on 3 succeeded in 2 usecs
[ 15.878415] [drm] ring test on 5 succeeded in 1 usecs
[ 15.878420] [drm] UVD initialized successfully.
[ 15.878564] [drm] ib test on ring 0 succeeded in 0 usecs
[ 15.878596] [drm] ib test on ring 3 succeeded in 0 usecs
[ 16.536650] [drm] ib test on ring 5 succeeded
[ 16.538081] [drm] radeon atom DIG backlight initialized
[ 16.538089] [drm] Radeon Display Connectors
[ 16.538091] [drm] Connector 0:
[ 16.538093] [drm] LVDS-1
[ 16.538096] [drm] DDC: 0x7f68 0x7f68 0x7f6c 0x7f6c 0x7f70 0x7f70 0x7f74 0x7f74
[ 16.538097] [drm] Encoders:
[ 16.538098] [drm] LCD1: INTERNAL_UNIPHY2
[ 16.538100] [drm] Connector 1:
[ 16.538101] [drm] VGA-1
[ 16.538103] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[ 16.538104] [drm] Encoders:
[ 16.538105] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 16.538106] [drm] Connector 2:
[ 16.538107] [drm] HDMI-A-1
[ 16.538109] [drm] HPD1
[ 16.538110] [drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[ 16.538111] [drm] Encoders:
[ 16.538113] [drm] DFP1: INTERNAL_UNIPHY
[ 17.507350] [drm] fb mappable at 0xD045F000
[ 17.507355] [drm] vram apper at 0xD0000000
[ 17.507357] [drm] size 4325376
[ 17.507358] [drm] fb depth is 24
[ 17.507360] [drm] pitch is 5632
[ 17.507544] fbcon: radeondrmfb (fb0) is primary device
[ 17.967586] radeon 0000:02:00.0: fb0: radeondrmfb frame buffer device
[ 17.989768] [drm] Initialized radeon 2.40.0 20080528 for 0000:02:00.0 on minor 0

It seem to be fixed :)

Revision history for this message
In , Adrien-prost-boucle (adrien-prost-boucle) wrote :

Hi,

I also experience this problem with my laptop at resume from sleep.

About log messages, there does not seem to be a message when entering sleep. When resuming from sleep, I can briefly see this message printed on the screen:

kernel: [drm:rv730_stop_dpm [radeon]] *ERROR* Could not force DPM to low

However at boot time, I see this in the log:

kernel: [drm] initializing kernel modesetting (RV710 0x1002:0x9553 0x1179:0xFF00).

I see a switch from rv710 to rv730, is this normal?
Previously, Thaddäus Tintenfisch reported a switch from rv730 to rv770...

If useful, the lspci command says:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] RV710/730 HDMI Audio [Radeon HD 4000 series]

The patch proposed just before seems to be explicitely related to rv770, which does not seem to be my case.

Revision history for this message
In , Adrien-prost-boucle (adrien-prost-boucle) wrote :

I forgot to mention the OS I'm using:

ArchLinux x86-64
Linux 4.0 from testing repo (also happens with the kernel from core repo)
mesa 10.5.4 from stock core repo
xf86-video-ati 1:7.5 from stock core repo

No patch, no personal kernel boot options, basically zero config.

Revision history for this message
In , Freedesktop-jim-j (freedesktop-jim-j) wrote :

Ardien at https://bugzilla.kernel.org/show_bug.cgi?id=71891 they state "...found in the kernel source file drivers/gpu/drm/radeon/rv770.c. Despite the name this function is used for RV710, RV730 (yours) and RV770.". So my uneducated guess is that the patch does apply to you.

Revision history for this message
In , Freedesktop-jim-j (freedesktop-jim-j) wrote :

I can duplicate this problem with CentOS 7.1.

When I run kernel 3.10.0-229.1.2.el7.centos.plus I don't see (or at least notice) the performance issue after resuming from suspend, however I do receive the same errors. Additionally X will randomly hang (maybe 5% of the time) when I resume, I suspect this may be related to my video card (since those are the only errors I ever see when resuming).

When I run kernel 4.0.0-1.el7.elrepo.x86_64 I do have the performance issue after resuming from suspend (and receive the same errors). For me I see the huge graphics performance hit when I connect to a Windows 7 PC with xfreerdp. It's so slow it's unusable. However if I perform the same xfreerdp connection before I ever suspend/resume my PC it's very fast and responsive.

I found a work around which is to use the "radeon.dpm=0" kernel boot option. I did this by following these steps:
vi /etc/default/grub
-Append "radeon.dpm=0" to the end of the "GRUB_CMDLINE_LINUX" option:
grub2-mkconfig -o /boot/grub2/grub.cfg

Booting with "radeon.dpm=0" switched me to the "profile" pm method as shown with this command:
cat /sys/class/drm/card0/device/power_method
profile

With "radeon.dpm=0" I no longer get any error messages and I no longer have any performance issues after resuming from suspend. Time will tell if it fixes my random hang issue. I haven't checked yet if there's any noticeable power draw difference.

Below I've pasted some relevant hardware and log info.

My hardware:
Motherboard = GA-790FXTA-UD5/GA-790FXTA-UD5, BIOS F3j
CPU = AMD Phenom II X4 910e Deneb Quad-Core 2.6GHz Socket AM3 65W Desktop Processor
Video card = Gigabyte Radeon HD 4550 512 MB DDR3 (AMD RV710)

Two pages with useful information related to radeon power management:
https://wiki.archlinux.org/index.php/ATI#Dynamic_power_management
http://www.x.org/wiki/RadeonFeature/#index3h2

grep -i rv7 /var/log/messages
//With kernel 3.10.0-229.1.2.el7.centos.plus
Apr 29 08:18:58 black kernel: [drm:rv730_stop_dpm] *ERROR* Could not force DPM to low
Apr 29 08:18:58 black kernel: [drm:rv770_dpm_set_power_state] *ERROR* rv770_set_sw_state failed
//With kernel 4.0.0-1.el7.elrepo.x86_64, note that the error messages have slightly changed (added "[radeon]")
Apr 29 09:21:49 black kernel: [drm:rv730_stop_dpm [radeon]] *ERROR* Could not force DPM to low
Apr 29 09:22:40 black kernel: [drm:rv770_dpm_set_power_state [radeon]] *ERROR* rv770_set_sw_state failed

glxinfo |grep "OpenGL renderer"
OpenGL renderer string: Gallium 0.4 on AMD RV710

Revision history for this message
In , Freedesktop-jim-j (freedesktop-jim-j) wrote :

I just realized that another performance issue I had is actually caused by this bug. This occurs with kernel 3.10.0-229.1.2.el7.centos.plus (and probably all kernels). After I suspend/resume scrolling in gnome-terminal is very slow. For example if I 'cat /var/log/messages' then scrolling in gnome-terminal is very jerky. Likewise scrolling from within vi or less (/var/log/messages is a good way to test) is also painfully slow. Booting with "radeon.dpm=0" also solves this gnome-terminal scroll problem for me.

Revision history for this message
In , Adrien-prost-boucle (adrien-prost-boucle) wrote :

I tried with option radeon.dpm=0 and yes the message disappears at resume from sleep.

But on my machine I never noticed graphics slowdown (at least with vlank_mode=0 glxgears). I'm not a consumer of fancy graphics or games.

However what I noticed without that option was buggy scrolling in Firefox (and only Firefox). Sometimes all new tabs took like 5 seconds to unfreeze, and once unfreezed each tab remained responsive. Rather strange. I'll use the laptop for a few days to be sure it no longer happens.

Revision history for this message
In , Adrien-prost-boucle (adrien-prost-boucle) wrote :

On my machine this only visible thing this radeon.dpm=0 does is to silent the error message at resume from sleep. I see no graphic perf increase (at least with glxgears) and still scrolling issue for the app that had it (assuming it is actually related to graphics).

Revision history for this message
s4va (ilya-savitski) wrote :

I had the same problem. But after update a kernel this message disappeared and i have no problems with graphics now.

Revision history for this message
In , Diamondaz+fdb (diamondaz+fdb) wrote :

Same issue on Debian 8 stable, kernel 3.16: two *ERROR*s in kernel log and a notable performance degradation in some games after suspend/resume.

I have tried the proposed patch, it does not help (the recompiled driver still has the same behavior).

Revision history for this message
In , Diamondaz+fdb (diamondaz+fdb) wrote :

It seems that the timeout is too small. A dirty fix replacing rdev->usec_timeout with 1000000 in rv770_send_msg_to_smc (drivers/gpu/drm/radeon/rv770_smc.c) works for me (both *ERROR*s in kernel log disappear, performance returns to normal).

Revision history for this message
In , Alexdeucher (alexdeucher) wrote :

Created attachment 120072
possible fix

Does this patch help? You will still get the error messages, but everything else should work.

Revision history for this message
In , Diamondaz+fdb (diamondaz+fdb) wrote :

Yes, the new patch behaves exactly as you describe: I don't see any performance degradation after suspend/resume, although error messages are still present.

Revision history for this message
In , Alexdeucher (alexdeucher) wrote :

Created attachment 120091
quiet errors

This patch will quiet the errors unless you enable driver debugging. Apply on top of the previous patch.

Revision history for this message
In , Diamondaz+fdb (diamondaz+fdb) wrote :

As expected, error messages disappear, performance problems do not reappear.

Revision history for this message
In , Thaddaeus Tintenfisch (thad-fisch-deactivatedaccount) wrote :

Now with kernel 4.4-rc3 the error messages are gone, but the performance issue is still present (glxgears: ~440 FPS before suspend, ~180 FPS after).

Revision history for this message
In , Wow-exe (wow-exe) wrote :

I was able to resolve the FPS drop by running the following two commands:

echo battery > /sys/class/drm/card0/device/power_dpm_state
echo balanced > /sys/class/drm/card0/device/power_dpm_state

Revision history for this message
In , mirh (mirh) wrote :

(In reply to Thaddaeus Tintenfisch from comment #22)
> I was able to resolve the FPS drop by running the following two commands:
>
> echo battery > /sys/class/drm/card0/device/power_dpm_state
> echo balanced > /sys/class/drm/card0/device/power_dpm_state

In this case, I guess this now becomes bug 66963

Peter Estes (pmestes)
Changed in linux (Ubuntu):
status: Expired → New
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
In , Martin-peres-n (martin-peres-n) wrote :

-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/463.

Changed in dri:
status: Confirmed → Unknown
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.