[Bug 42941] New: Resume from suspend to memory leaves display blank on Lenovo Ideapad U455

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Fri Mar 16 11:39:50 PDT 2012


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

           Summary: Resume from suspend to memory leaves display blank on
                    Lenovo Ideapad U455
           Product: Power Management
           Version: 2.5
    Kernel Version: 3.3.0-rc7+
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Hibernation/Suspend
        AssignedTo: power-management_other at kernel-bugs.osdl.org
        ReportedBy: e-mail at date.by
                CC: drivers_video-dri at kernel-bugs.osdl.org
        Regression: No


Created an attachment (id=72610)
 --> (https://bugzilla.kernel.org/attachment.cgi?id=72610)
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.

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.


More information about the dri-devel mailing list