Bug 27785

Summary: [rv100] suspend failure with kernel driver "radeon" (ATI Technologies Inc Radeon Mobility M6 LY)
Product: xorg Reporter: depassp
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: christopher.m.penalver
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description depassp 2010-04-21 20:31:14 UTC
Using Ubuntu 10.04 with kernel 2.6.32

In KMS mode the system fails to suspend both to ram and to disk. 

The problem persists in single-user mode.

I followed the instructions from
https://wiki.ubuntu.com/DebuggingKernelSuspend

After performing
sudo sh -c "sync; echo 1 > /sys/power/pm_trace; pm-suspend"

The output from dmesg points to
[ 0.333831] hash matches /build/buildd/linux-2.6.32/drivers/base/power/main.c:433
[ 0.333853] block loop5: hash matches
[ 0.333921] pci 0000:01:00.0: hash matches

sudo lspci -vvnn | grep -A 17 01:00.0
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon Mobility M6 LY [1002:4c59]
 Subsystem: IBM Device [1014:052f]
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR+ FastB2B+ DisINTx-
 Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 66 (2000ns min), Cache Line Size: 32 bytes
 Interrupt: pin A routed to IRQ 11
 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
 Region 1: I/O ports at 3000 [size=256]
 Region 2: Memory at c0100000 (32-bit, non-prefetchable) [size=64K]
 [virtual] Expansion ROM at c0120000 [disabled] [size=128K]
 Capabilities: [58] AGP version 2.0
  Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
  Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x1
 Capabilities: [50] Power Management version 2
  Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
  Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 Kernel driver in use: radeon
 Kernel modules: radeonfb, radeon
Comment 1 Alex Deucher 2010-04-21 21:25:14 UTC
Does s/r work if you disable kms?  (boot with radeon.modeset=0)  Does s/r work if you enable KMS but disable AGP gart?  (boot with radeon.agpmode=-1)
Comment 2 depassp 2010-04-22 13:07:54 UTC
Yes, both s/r work if I disable KMS, but I lose the joy of KMS :(

No, s/r do not work if I disable AGP gart.

I have also tested with the mainline Ubuntu kernel 
linux-image-2.6.34-999-generic_2.6.34-999.201004211003_i386.deb
from http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2010-04-21-lucid/

I have also tested using the xorg-edgers PPA, specifically, the package 
xserver-xorg-video-radeon
Version: 1:6.13.99+git20100416.a69e749d-0ubuntu0sarvatt

Please let me know if there's anything else I can do to help.
Comment 3 Rafał Miłecki 2010-04-23 00:24:02 UTC
Does anyone know if pm-suspend performs any tricks on suspending?

What about "pm-suspend --quirk-none"?
Comment 4 depassp 2010-04-23 13:47:54 UTC
(In reply to comment #3)
> Does anyone know if pm-suspend performs any tricks on suspending?
> 
> What about "pm-suspend --quirk-none"?

Yes.  By default it will store its quirks in /var/cache/pm-utils/last_known_working.quirkdb (source: man pm-utils)

Also, from /usr/share/doc/pm-utils/README.debugging:

* If a parameter (or lack thereof) passed to pm-suspend and friends is causing
  problems, or you need to debug the suspend/resume process to work out what 
  quirks are causing problems, you can use the ADD_PARAMETERS and 
  DROP_PARAMETERS environment variables.  To do this, create a file in 
  /etc/pm/config.d, and add the following lines to it:
  ADD_PARAMETERS="--parameter-to-add --another-parameter"
  DROP_PARAMETERS="--parameter-to-drop --another-parameter-to-drop"

  If you want to drop all parameters (for testing purposes, or to work around 
  bugs in HAL), you can use DROP_PARAMETERS="all"
Comment 5 Christopher M. Penalver 2016-02-25 02:41:08 UTC
deepassp@gmail.com, Ubuntu 10.04 Desktop reached EOL on May 9, 2013. For more on this, please see https://wiki.ubuntu.com/Releases .

If this is reproducible in a supported release, it will help immensely if you filed a new report with Ubuntu by ensuring you have the package xdiagnose installed, and that you click the Yes button for attaching additional debugging information running the following from a terminal:
ubuntu-bug xorg

Also, please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.