ATI Resume from Suspend leads into black screen (VGA_Switcheroo)

Bug #1010683 reported by Simon K on 2012-06-08
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
xserver-xorg-driver-ati
Confirmed
Medium
xserver-xorg-video-ati (Ubuntu)
Low
Unassigned

Bug Description

I have a HP Touchsmart 2 (tm2).
This Notebook has 2 Graphiccars: Intel (DIS) and ATI (IGD):
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Manhattan [Mobility Radeon HD 5400 Series]

If i use the Intel-Graphiccard, everything works well, i can suspend and resume as often as i'd like.
Edit: As soon as I switched (switch to ATI and back to Intel, the below problem happens on Intel-GPU too).
If i use the ATI-Graphiccard i can suspend (wich takes a longer time than with the Intel one) however I can't resume. I get a blank/black screen and can't change brightness. Plus I can't switch to any tty.

I've tried this instructions to find an error: https://wiki.ubuntu.com/DebuggingKernelSuspend
but it dosn't seem to bring relevant informations (however, I'll add the dmesg.txt to this bugreport)

PS: to switch between graphiccards, I use "vga_switcheroo" and i have "vanilla"-ubuntu, no third party software.

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
ProcVersionSignature: Ubuntu 3.4.0-5.11-generic 3.4.0
Uname: Linux 3.4.0-5-generic x86_64
.tmp.unity.support.test.0:

ApportVersion: 2.1.1-0ubuntu2
Architecture: amd64
CasperVersion: 1.317
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
CompositorRunning: compiz
Date: Fri Jun 8 20:54:43 2012
DistUpgraded: Fresh install
DistroCodename: quantal
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu
GraphicsCard:
 Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
   Subsystem: Hewlett-Packard Company Device [103c:1486]
 Advanced Micro Devices [AMD] nee ATI Manhattan [Mobility Radeon HD 5400 Series] [1002:68e0] (prog-if 00 [VGA controller])
   Subsystem: Hewlett-Packard Company TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) [103c:1486]
LiveMediaBuild: Ubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120606.2)
MachineType: Hewlett-Packard HP TouchSmart tm2 Notebook PC
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: initrd=/casper/initrd.lz file=/cdrom/preseed/username.seed boot=casper quiet splash -- persistent BOOT_IMAGE=/casper/vmlinuz
SourcePackage: xserver-xorg-video-ati
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/30/2010
dmi.bios.vendor: Insyde
dmi.bios.version: F.12
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 1486
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 83.1A
dmi.chassis.asset.tag: CNU0250216
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnInsyde:bvrF.12:bd07/30/2010:svnHewlett-Packard:pnHPTouchSmarttm2NotebookPC:pvr0489200000252A20001220000:rvnHewlett-Packard:rn1486:rvr83.1A:cvnHewlett-Packard:ct10:cvrChassisVersion:
dmi.product.name: HP TouchSmart tm2 Notebook PC
dmi.product.version: 0489200000252A20001220000
dmi.sys.vendor: Hewlett-Packard
version.compiz: compiz 1:0.9.7.8-0ubuntu3
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu4
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu4
version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu11
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.19.0-1ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20120322+ab7291d-1

Created attachment 52691
Xorg log from boot

My dual radeon HP DV6 laptop fails to re-enable the display when resuming from S3. The computer otherwise seems to work normally and I can type blind to reboot the machine. The cards present are

$ lspci -vnn |grep VGA
01:05.0 VGA compatible controller [0300]: ATI Technologies Inc M880G [Mobility Radeon HD 4200] [1002:9712] (prog-if 00 [VGA controller])
02:00.0 VGA compatible controller [0300]: ATI Technologies Inc Redwood [Radeon HD 5600 Series] [1002:68c1] (rev ff) (prog-if ff)

VGAswitcheroo works as intended and I can switch cards, but I get the display turned off upon resume no matter which card is active before suspend. I'm attaching a syslog from boot, a syslog from after resuming, the X log and the output of acpidump.

The bug is present with all kernels at least from 2.6.38 to 3.1. I've been told by another user with the same laptop that fglrx does re-enable the display when resuming (although I haven't tried it myself).

This bug was originally filed as

https://bugzilla.kernel.org/show_bug.cgi?id=37762

but since it seems unclear when the kernel bugzilla will be back up, I'm re-filing the bug here.

Created attachment 52692
syslog from after resuming

Created attachment 52694
syslog from boot

Created attachment 52695
acpidump output

The syslog line

kernel: [ 193.260117] radeon 0000:02:00.0: Refused to change power state, currently in D3

seems to indicate what the problem is.

Testing with kernel 3.2-rc2 still shows the same problem.

I also verified that fglrx does re-enable the display on resume.

This bug is still present in kernel 3.4-rc3.

Simon K (octav14n) wrote :
bugbot (bugbot) on 2012-06-14
tags: added: black-screen
Simon K (octav14n) wrote :

Since i can't switch to tty either (which isn't controlled by XOrg), i added "Linux" to the Bug-Targets.

description: updated
Changed in xserver-xorg-driver-ati:
importance: Unknown → Medium
status: Unknown → Confirmed
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed

This is still an issue with kernel 3.5-rc4.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-video-ati (Ubuntu):
status: New → Confirmed

Resume still doesn't work with kernel 3.8-rc2. However, I now get a hard lockup on resume. Log attached.

Created attachment 72514
Suspend/resume log, kernel 3.8-rc2

(In reply to comment #8)
> Resume still doesn't work with kernel 3.8-rc2. However, I now get a hard
> lockup on resume. Log attached.

Can you bisect to see what caused the hard lock?

I'll try bisecting when I have some spare time, but it's probably going to be a few weeks.

Correction: it's *not* a hard lockup - the laptop still responds to ping. It may just be that the keyboard is not working after resume (or even that I mistyped something when trying to reboot it by typing blind).

Bug is still present in kernel 3.8. After resuming, I get

Feb 21 14:32:18 mars kernel: [ 148.029820] [drm:atom_op_jump] *ERROR* atombios stuck in loop for more than 5secs aborting
Feb 21 14:32:18 mars kernel: [ 148.029836] [drm:atom_execute_table_locked] *ERROR* atombios stuck executing CC40 (len 62, WS 0, PS 0) @ 0xCC5C

in syslog, repeating over and over.

The bug is still there with 3.10-rc7.

Created attachment 82375
Log from 3.10-rc7 suspend/resume cycle

Does the kernel patch in attachment 82347 help?

I applied the patch to kernel 3.10.3 and it made no discernible difference. But that patch is just supposed to fix backlight problems, right? I don't think my display gets re-enabled at all. I don't see anything when shining on it with a bright flashlight after resuming.

Created attachment 83053
Suspend/resume log with kernel 3.10.3 (patched)

I just tried 3.11-rc3, with the important difference that I kept both cards active when suspending.

When resuming, the backlight now came on for a second but the screen then turned dark again. Looking at the logs, the failure now seems less catastrophic than before.

Could it be that if I disable one card before suspending (using vgaswitcheroo), the resume code unsuccessfully tries to power up the previously disabled card?

Also, I don't seem to get any dpm options in /sys for the discrete card (the 5650), but that's a separate bug I guess.

Created attachment 83689
3.11-rc3 suspend/resume, both cards powered up before suspend

Download full text (17.6 KiB)

Comment on attachment 83689
3.11-rc3 suspend/resume, both cards powered up before suspend

>Aug 6 00:14:53 mars kernel: [ 143.123335] PM: Syncing filesystems ... done.
>Aug 6 00:15:18 mars kernel: [ 143.265460] Freezing user space processes ... (elapsed 0.001 seconds) done.
>Aug 6 00:15:18 mars kernel: [ 143.267108] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
>Aug 6 00:15:18 mars kernel: [ 143.268729] Suspending console(s) (use no_console_suspend to debug)
>Aug 6 00:15:18 mars kernel: [ 143.269239] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: disassociated
>Aug 6 00:15:18 mars kernel: [ 143.269245] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
>Aug 6 00:15:18 mars kernel: [ 143.269247] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
>Aug 6 00:15:18 mars kernel: [ 143.297269] sd 0:0:0:0: [sda] Synchronizing SCSI cache
>Aug 6 00:15:18 mars kernel: [ 143.297339] cfg80211: Calling CRDA to update world regulatory domain
>Aug 6 00:15:18 mars kernel: [ 143.297341] sd 0:0:0:0: [sda] Stopping disk
>Aug 6 00:15:18 mars kernel: [ 143.387143] i8042 aux 00:07: System wakeup disabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 143.387217] i8042 kbd 00:06: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.703766] PM: suspend of devices complete after 1434.453 msecs
>Aug 6 00:15:18 mars kernel: [ 144.704050] PM: late suspend of devices complete after 0.279 msecs
>Aug 6 00:15:18 mars kernel: [ 144.705302] pcieport 0000:00:06.0: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.735807] ehci-pci 0000:00:16.2: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.751774] ehci-pci 0000:00:13.2: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.767674] ohci-pci 0000:00:13.0: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.767707] ehci-pci 0000:00:12.2: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.783677] ohci-pci 0000:00:12.0: System wakeup enabled by ACPI
>Aug 6 00:15:18 mars kernel: [ 144.783802] PM: noirq suspend of devices complete after 79.730 msecs
>Aug 6 00:15:18 mars kernel: [ 144.783866] ACPI: Preparing to enter system sleep state S3
>Aug 6 00:15:18 mars kernel: [ 144.793732] PM: Saving platform NVS memory
>Aug 6 00:15:18 mars kernel: [ 144.798121] Disabling non-boot CPUs ...
>Aug 6 00:15:18 mars kernel: [ 144.798530] Broke affinity for irq 19
>Aug 6 00:15:18 mars kernel: [ 144.799604] smpboot: CPU 1 is now offline
>Aug 6 00:15:18 mars kernel: [ 144.903635] smpboot: CPU 2 is now offline
>Aug 6 00:15:18 mars kernel: [ 144.904260] Broke affinity for irq 17
>Aug 6 00:15:18 mars kernel: [ 145.007704] smpboot: CPU 3 is now offline
>Aug 6 00:15:18 mars kernel: [ 145.008505] ACPI: Low-level resume complete
>Aug 6 00:15:18 mars kernel: [ 145.008555] PM: Restoring platform NVS memory
>Aug 6 00:15:18 mars kernel: [ 145.010313] PCI-DMA: Resuming GART IOMMU
>Aug 6 00:15:18 mars kernel: [ 145.010314] PCI-DMA: Restoring GART aperture settings
>Aug 6 00:15:18 mars kernel: [ 145.010614] Enabling non-boot CPUs ...
>A...

Created attachment 83693
3.11-rc3 suspend/resume, both cards powered up before suspend

Including previously missing REDWOOD_smc.bin changes the log slightly.

I have the same issue with hd 5600 on 3.7.10 kernel on OpenSuse.

Try if using keyboard shortcut for "increase brightness" ( Fn- F5 on my dell laptop) does the trick to light up the display. It works sometimes for me.

Simon K (octav14n) wrote :

This is all fixed for me within (at least) Saucy.

One small manual step I have to do:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1062077/comments/84

Same problem on HD 7420G. After s2ram display doesn`t wake up, but system work fine.

if via ssh try to start X, in dmesg see that:

[ 236.672326] [drm:radeon_dp_link_train_cr] *ERROR* displayport link status failed
[ 236.672327] [drm:radeon_dp_link_train_cr] *ERROR* clock recovery failed

Simon K, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p xserver-xorg-video-ati REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is already available, doing this on a release prior to the development one would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Changed in xserver-xorg-video-ati (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete

The bug is still there with kernel 3.14-rc6 - the display doesn't get enabled on resume. But now the logs (attached) don't contain any obvious failures.

Created attachment 95513
3.14-rc6 suspend/resume log

Taking a tip from https://bugs.freedesktop.org/show_bug.cgi?id=58382, I tried suspending using "pm-suspend --quirk-test --quirk-s3-mode" and this works for me too. Using this, the display *does* get re-enabled on resume.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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