Bug 13144 - resume from suspend fails using video card i915
Summary: resume from suspend fails using video card i915
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(Other) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-other
URL:
Keywords:
Depends on:
Blocks: 12398
  Show dependency tree
 
Reported: 2009-04-21 17:03 UTC by C Sights
Modified: 2010-11-09 16:43 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.29
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
config file used to compile v2.6.29 (39.50 KB, application/octet-stream)
2009-04-21 17:03 UTC, C Sights
Details
xorg log of an unable to wake-up system (13.54 KB, text/plain)
2009-07-03 10:06 UTC, vinvin
Details

Description C Sights 2009-04-21 17:03:25 UTC
Created attachment 21069 [details]
config file used to compile v2.6.29

Hello,
   After updating to 2.6.29 I was no longer able to resume from a suspend to disk in KDE 4.2.2.  The kernel is read from disk, but then when entering graphical mode all I get is a mouse cursor on a black screen.  Moving the cursor works, but nothing else I tried had an effect. (I remember trying touch-pad clicking, CTRL-ALT-F1, CTRL-ALT-BACKSPACE).
   I did a git bisect and found the first bad commit to be:
---------------------------
ac048e1734699dd98f4bdf4daf2b9592d4a4d38e is first bad commit
commit .
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Feb 3 19:05:12 2009 +1000

    i915: fix unneeded locking in i915 LVDS get modes code.

    This code is always called under the lock from the higher layers,
    so need to go locking it here.

    Signed-off-by: Dave Airlie <airlied@redhat.com>

:040000 040000 e3deb382edd0019bcd9cb4cc3e06ecd95e0ca502 9edc0fa234f4e8a2c3ffa6c3435f392fc1a488ed M      drivers
---------------------------
   I reverted this commit by hand for kernel v2.6.29. The computer once again successfully resumes.
   The "current" (as of yesterday evening) kernel also shows these symptoms.  Version 2.6.30-rc2-00446-ga939b96 fails to resume unless the above commit is reverted.
   Possibly the "lock from higher levels" referred to in the commit was removed?

Let me know if/what more info is needed,
   C.

$ lspci                                                          
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)                                                 
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)                                               
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
02:03.0 Network controller: Intel Corporation PRO/Wireless 2915ABG [Calexico2] Network Connection (rev 05)
Comment 1 Jesse Barnes 2009-04-27 16:57:33 UTC
Does this also fail with 2.6.30-rc2?
Comment 2 C Sights 2009-04-28 00:05:43 UTC
Found out the following:

There is no suspend/resume probem in 2.6.30-rc3 AND 2.6.29 if
Enable modesetting on intel by default = n
(# CONFIG_DRM_I915_KMS is not set)

The resume problem above was reported with 2.6.29
Enable modesetting on intel by default = y
(CONFIG_DRM_I915_KMS=y)

2.6.30-rc3 fails to suspend with
Enable modesetting on intel by default = y
(CONFIG_DRM_I915_KMS=y)
(I.e. fails earlier in the suspend/resume cycle than original report.)

I no longer know whether to consider this a regression.  The kernel menuconfig help says "Running old userspaces with this [modesetting] enabled will cause pain."  Having suspend/resume fail is certainly pain!  :)
   
On the other hand, perhaps having a change in behavior after a commit which says paraphrase "removing this shouldn't matter" should still be investigated.  There may have been a logic error.

Thanks!
    C.
Comment 3 vinvin 2009-05-11 11:02:01 UTC
Since nothing has happened here for some time now, may I ask what can be done to track the problem down? I can say that it is still not working in 2.6.29.3.
Comment 4 vinvin 2009-05-20 14:15:40 UTC
I still have a black screen after having had a random line at the top of the screen for a short time, when coming out from sleep in 2.6.30-rc6-git5.
Comment 5 vinvin 2009-07-01 12:29:14 UTC
Despite recent patch which was supposed to fix sleep, this bug is still in the same state with 2.6.31-rc1-git7. This is beginning to be really boring, since KMS is enabled by default in the kernel I use (archlinux - eeepc kernel), and I can't put the eeepc in sleep mode, nor use the VGA output.
Comment 6 Jesse Barnes 2009-07-01 21:41:34 UTC
Can you attach your X log and dmesg from when this happens?  Can you still ssh into the system after resume?
Comment 7 vinvin 2009-07-03 10:06:44 UTC
Created attachment 22185 [details]
xorg log of an unable to wake-up system

The full xorg log is attached, from the boot to the crash.
Comment 8 vinvin 2009-07-03 10:09:27 UTC
Xorg log doesn't seems useful... Here are i915 messages in the dmesg:

dmesg:

[drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for disabled pipe 0
i915 0000:00:02.0: PCI INT A disabled
ehci_hcd 0000:00:1d.7: PME# disabled
ACPI: Preparing to enter system sleep state S3
Back to C!
Disabling lock debugging due to kernel taint
[...]
i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
i915 0000:00:02.0: setting latency timer to 64
[...]

I don't know if that is useful either. What else can I collect?
Comment 9 vinvin 2010-06-17 14:33:51 UTC
This is still not working. I thought it would be fixed by the fix of https://bugs.freedesktop.org/show_bug.cgi?id=26266 but it seems that it's not the same bug. 
I'm still not able to use my laptop's sleep mode, now that kms is mandatory with intel driver... It seems to be fixed by the i915.powersave=0 option, but not for my chipset: http://bugs.archlinux.org/task/18298 .
What can I do?
Comment 10 vinvin 2010-11-09 11:08:31 UTC
Finally, I found what was the problem, and it was not related to the kernel but to the OS, more precisely to the suspend script being in an old version and doing something that new kernels don't like. You can close the bug, it's working fine, as reported by many, as well as the VGA output and 3D acceleration with KMS. Sorry.
Comment 11 Jesse Barnes 2010-11-09 16:43:51 UTC
Thanks for the update.

Note You need to log in before you can comment on or make changes to this bug.