Bug 54771

Summary: Laptop screen stays off after resuming from suspend
Product: ACPI Reporter: Milan Bouchet-Valat (nalimilan)
Component: Power-VideoAssignee: Lan Tianyu (tianyu.lan)
Status: CLOSED DUPLICATE    
Severity: high CC: tianyu.lan, tiwai
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.8.1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: /Var/log/messages after resume
Output of lspci -vnn
Output of acpidump

Description Milan Bouchet-Valat 2013-03-04 16:58:58 UTC
Created attachment 94401 [details]
/Var/log/messages after resume

This is a regression introduced between 3.8.0 and 3.8.1, since 3.8.0 works fine here.

On my HP Pavilion dm4-1170sf, after I suspending the laptop (by closing the lid), the screen stays blank when opening it. The machine itself seems to resume fine, as you can see in the attached log.

Note I've always needed to specify the "acpi_backlight=vendor" option on boot, else the backlight would stay off, but this happened immediately on boot, not only after suspending.

Please just ask if you need me to test e.g. a given revision.


I'm using Fedora 18.
Comment 1 Milan Bouchet-Valat 2013-03-04 16:59:43 UTC
Created attachment 94411 [details]
Output of lspci -vnn
Comment 2 Milan Bouchet-Valat 2013-03-04 17:00:35 UTC
Created attachment 94431 [details]
Output of acpidump
Comment 3 Milan Bouchet-Valat 2013-03-04 17:07:53 UTC
Looking at the Changelog, this commit sounds like the most probable offender:

commit 719429a54d9c8fd32d457c7d564d1272d9003282
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Feb 6 11:24:41 2013 +0100

    drm/i915: write backlight harder
    
    commit cf0a6584aa6d382f802f2c3cacac23ccbccde0cd upstream.
    
    770c12312ad617172b1a65b911d3e6564fc5aca8 is the first bad commit
    commit 770c12312ad617172b1a65b911d3e6564fc5aca8
    Author: Takashi Iwai <tiwai@suse.de>
    Date:   Sat Aug 11 08:56:42 2012 +0200
    
        drm/i915: Fix blank panel at reopening lid
    
    changed the register write sequence for restoring the backlight, which
    helped prevent non-working backlights on some machines. Turns out that
    the original sequence was the right thing to do for a different set of
    machines. Worse, setting the backlight level _after_ enabling it seems
    to reset it somehow. So we need to make that one conditional upon the
    backlight having been reset to zero, and add the old one back.
    
    Cargo-culting at it's best, but it seems to work.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47941
    Cc: Takashi Iwai <tiwai@suse.de>
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Acked-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Comment 4 Takashi Iwai 2013-03-05 09:14:54 UTC
Yep, this is the likely cause.  The patch went in before testing well on the machines that the previous patch had fixed.  This patch certainly fixes a regression by the previous fix, but it actually seems reverting the fixed effect in the end...

Please check whether reverting the commit above fixes the issue on HP laptop again.
Comment 5 Milan Bouchet-Valat 2013-03-05 09:31:52 UTC
Yes, I've just checked and reverting the commit fixes the bug. Looks like you're in a complex situation where you break one machine to fix the other, and vice-versa... ;-)

To be clear: backlight works fine after suspending on my machine since (at least) Fedora 15, which IIRC used kernel  2.6.38. So it does not need the fixes introduced in 3.6.0. (But it needs "acpi_backlight=vendor".)

*** This bug has been marked as a duplicate of bug 47941 ***
Comment 6 Lan Tianyu 2013-03-06 02:50:48 UTC
Hi Milan:
      Please attach the output of dmidecode. I can do a quirk in the kernel and then it doesn't need "acpi_backlight=vendor".
Comment 7 Lan Tianyu 2013-03-22 03:41:54 UTC
ping ...