Created attachment 72610 [details] dmesg output Hardware: Lenovo Ideapad U455 laptop with AMD Athlon Neo processor and two video cards: Radeon HD 3200 and Radeon HD 4500. Description: when system resumes from suspend to memory (`echo mem > /sys/power/state`) system resumes fine as i can log into it via ssh and display turns on, but the display stays black showing nothing. However it's possible to make display show a picture by switching video cards with vga_switcheroo. Steps to reproduce attached dmesg log (see my comments below): [1]# mount -t debugfs none /sys/kernel/debug [2]# cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr:0000:01:05.0 1:DIS: :Pwr:0000:02:00.0 [3]# echo mem > /sys/power/state [4]# cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr:0000:01:05.0 1:DIS: :Pwr:0000:02:00.0 [5]# echo DIS > /sys/kernel/debug/vgaswitcheroo/switch [6]# echo IGD > /sys/kernel/debug/vgaswitcheroo/switch [7]# cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr:0000:01:05.0 1:DIS: :Off:0000:02:00.0 [8]# echo mem > /sys/power/state [9]# cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr:0000:01:05.0 1:DIS: :Off:0000:02:00.0 [10]# echo DIS > /sys/kernel/debug/vgaswitcheroo/switch [11]# echo IGD > /sys/kernel/debug/vgaswitcheroo/switch Comments: [2] This shows the state of the video cards before suspend. [3] Suspend worked fine, but display was blank after resume. [4] This shows the state of the video cards after resume. [5] That command made display to show the picture. [7] This shows the state of the video cards before second suspend, when only IGD card was active. [8] Suspend worked fine, but resume took a lot of time: PM: resume devices took 82.256 seconds ------------[ cut here ]------------ WARNING: at kernel/power/suspend_test.c:53 suspend_test_finish+0x86/0x90() Hardware name: 20046 Component: resume devices, time: 82256 Modules linked in: btusb bluetooth snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss ipv6 ext2 mbcache cpufreq_ondemand powernow_k8 freq_table mperf lp parport_pc parport fuse radeon brcmsmac ttm mac80211 drm_kms_helper joydev snd_hda_codec_hdmi ohci_hcd snd_hda_codec_conexant brcmutil ssb snd_hda_intel drm mmc_core snd_hda_codec sp5100_tco cfg80211 sg ideapad_laptop agpgart psmouse atl1c thermal snd_hwdep processor video crc8 thermal_sys pcmcia snd_pcm snd_timer cordic rtc_cmos pcmcia_core shpchp sparse_keymap evdev ehci_hcd i2c_piix4 snd k8temp i2c_algo_bit bcma rfkill i2c_core serio_raw soundcore snd_page_alloc battery ac hwmon button loop btrfs [last unloaded: pcmcia_rsrc] Pid: 1834, comm: bash Not tainted 3.3.0-rc7+ #36 Call Trace: [<ffffffff8103fe3f>] warn_slowpath_common+0x7f/0xc0 [<ffffffff8103ff36>] warn_slowpath_fmt+0x46/0x50 [<ffffffff8107fc96>] suspend_test_finish+0x86/0x90 [<ffffffff8107f9a1>] suspend_devices_and_enter+0x101/0x1e0 [<ffffffff8107fb51>] enter_state+0xd1/0x110 [<ffffffff8107e4c7>] state_store+0xb7/0x130 [<ffffffff812623cf>] kobj_attr_store+0xf/0x30 [<ffffffff811b0d22>] sysfs_write_file+0xf2/0x180 [<ffffffff81149793>] vfs_write+0xb3/0x180 [<ffffffff81149aba>] sys_write+0x4a/0x90 [<ffffffff8153f829>] system_call_fastpath+0x16/0x1b ---[ end trace 6802c35567ce73fa ]--- PM: Finishing wakeup. [9] This shows the state of the video cards after second resume. [10] That command turned display off and that's what appeared in dmesg output: radeon: switched on radeon 0000:02:00.0: enabling device (0000 -> 0003) radeon 0000:02:00.0: Wait for MC idle timedout ! radeon 0000:02:00.0: Wait for MC idle timedout ! [drm] PCIE GART of 512M enabled (table at 0x0000000000040000). radeon 0000:02:00.0: WB enabled [drm] fence driver on ring 0 use gpu addr 0x20000c00 and cpu addr 0xffff8800a4523c00 [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x8500)=0xFFFFFFFF) [drm:rv770_resume] *ERROR* r600 startup failed on resume fbcon: Remapping primary device, fb1, to tty 1-63 radeon: switched off [11] That command made display to show the picture. Notes: * I have read Documentation/power/basic-pm-debugging.txt and made all described tests and all of them were successful. * I have tried different quirks with `pm-suspend --quirk-*`, but none of them helped.
Created attachment 72611 [details] output of lspci -vvv
1:05.0 VGA compatible controller: ATI Technologies Inc RS780M/RS780MN [Radeon HD 3200 Graphics] (prog-if 00 [VGA controller]) The AMD Radeon driver is responsible for resuming graphics on this platform.
Does this still happen??