Bug 54661 - Backlight doesn't turn on after suspend on Acer 1830T with Ironlake chip running 3.8.1
Summary: Backlight doesn't turn on after suspend on Acer 1830T with Ironlake chip runn...
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: intel-gfx-bugs@lists.freedesktop.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-02 11:55 UTC by Coacher
Modified: 2013-03-26 12:30 UTC (History)
4 users (show)

See Also:
Kernel Version: 3.8.*
Tree: Mainline
Regression: Yes


Attachments
lspci -vvv (22.67 KB, text/plain)
2013-03-02 11:55 UTC, Coacher
Details
dmesg before suspend (76.88 KB, text/plain)
2013-03-08 17:23 UTC, Coacher
Details
reg dump before suspend (13.41 KB, text/plain)
2013-03-08 17:23 UTC, Coacher
Details
dmesg after suspend/resume, no backlight (106.75 KB, text/plain)
2013-03-08 17:24 UTC, Coacher
Details
reg dump after suspend/resume, no backlight (13.35 KB, text/plain)
2013-03-08 17:25 UTC, Coacher
Details
dmesg after suspend/resume, with backlight (106.75 KB, text/plain)
2013-03-08 17:25 UTC, Coacher
Details
reg dump after suspend/resume, with backlight (13.35 KB, text/plain)
2013-03-08 17:26 UTC, Coacher
Details
lspci -vvv (28.06 KB, text/plain)
2013-03-26 11:17 UTC, Bernd Prünster
Details

Description Coacher 2013-03-02 11:55:11 UTC
Created attachment 94281 [details]
lspci -vvv

After upgrading my kernel to 3.8.1 I've noticed that backlight doesn't automatically turn on when I wake my notebook from suspend. The only way to get backlight back is to press brightness control buttons. The following stack trace is in my dmesg every time I do suspend/resume:

[22762.594676] ------------[ cut here ]------------
[22762.594700] WARNING: at drivers/gpu/drm/i915/i915_gem.c:1021 __wait_seqno+0x4fd/0x530 [i915]()
[22762.594701] Hardware name: Aspire 1830T
[22762.594728] Modules linked in: ipv6 nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables bnep bluetooth dm_mod uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_core videodev ums_realtek hid_logitech_dj i915 intel_agp iTCO_wdt acer_wmi iTCO_vendor_support ath9k ath9k_common ath9k_hw ath atl1c mac80211 cfg80211 sparse_keymap drm_kms_helper intel_gtt video wmi
[22762.594731] Pid: 13103, comm: kworker/u:0 Tainted: G        W    3.8.1-ACER-1830T #1
[22762.594732] Call Trace:
[22762.594743]  [<ffffffff8103907b>] ? warn_slowpath_common+0x7b/0xc0
[22762.594753]  [<ffffffffa01dc5dd>] ? __wait_seqno+0x4fd/0x530 [i915]
[22762.594766]  [<ffffffffa0211501>] ? __i915_update_gfx_val+0x31/0xf0 [i915]
[22762.594778]  [<ffffffffa02141a4>] ? i915_update_gfx_val+0x24/0x40 [i915]
[22762.594788]  [<ffffffffa01dcd5f>] ? i915_add_request+0x2bf/0x2e0 [i915]
[22762.594800]  [<ffffffffa0214a2f>] ? intel_enable_gt_powersave+0x49f/0x870 [i915]
[22762.594813]  [<ffffffffa01fc2aa>] ? intel_modeset_init_hw+0x3a/0x50 [i915]
[22762.594820]  [<ffffffffa01c91c9>] ? __i915_drm_thaw+0xd9/0xf0 [i915]
[22762.594828]  [<ffffffffa01c96f4>] ? i915_resume+0x74/0xd0 [i915]
[22762.594834]  [<ffffffff812d18a0>] ? pci_pm_thaw+0x80/0x80
[22762.594842]  [<ffffffff8137d3b6>] ? dpm_run_callback.isra.5+0x36/0x80
[22762.594845]  [<ffffffff8137d6d6>] ? device_resume+0xa6/0x140
[22762.594849]  [<ffffffff8137d784>] ? async_resume+0x14/0x40
[22762.594853]  [<ffffffff810630f7>] ? async_run_entry_fn+0xa7/0x1c0
[22762.594858]  [<ffffffff81055d07>] ? process_one_work+0x117/0x530
[22762.594861]  [<ffffffff81053119>] ? need_to_create_worker+0x9/0x20
[22762.594865]  [<ffffffff81055a8f>] ? manage_workers+0x1df/0x2a0
[22762.594867]  [<ffffffff81063050>] ? async_schedule+0x10/0x10
[22762.594871]  [<ffffffff81056562>] ? worker_thread+0x182/0x490
[22762.594874]  [<ffffffff810645bf>] ? __wake_up_common+0x4f/0x80
[22762.594878]  [<ffffffff810563e0>] ? rescuer_thread+0x280/0x280
[22762.594881]  [<ffffffff8105b9e3>] ? kthread+0xb3/0xc0
[22762.594884]  [<ffffffff81060000>] ? hrtimers_resume+0x10/0x50
[22762.594887]  [<ffffffff8105b930>] ? kthread_freezable_should_stop+0x60/0x60
[22762.594891]  [<ffffffff81564b2c>] ? ret_from_fork+0x7c/0xb0
[22762.594922]  [<ffffffff8105b930>] ? kthread_freezable_should_stop+0x60/0x60
[22762.594924] ---[ end trace 5bb601912bd1588a ]---
[22762.594927] [drm:ironlake_enable_rc6] *ERROR* failed to enable ironlake power power savings

There was no such problem with 3.8.0. My notebook is Acer 1830T with Ironlake chip running Gentoo amd64. I've attached lscpi output and if you need some more info I am ready to provide it.
Comment 1 Coacher 2013-03-02 19:13:29 UTC
I've done `git bisect` against 3.8.0 and the result is:

719429a54d9c8fd32d457c7d564d1272d9003282 is the first bad commit
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>

:040000 040000 5ec4d4ca970fb18ac9979a330017ee1a1fb34223 18e15a8e31b41165605c65eba325052a352ec587 M      drivers
Comment 2 Coacher 2013-03-02 19:14:20 UTC
My git bisect log (JIC, not sure it is very useful):

git bisect start
# good: [19f949f52599ba7c3f67a5897ac6be14bfcb1200] Linux 3.8
git bisect good 19f949f52599ba7c3f67a5897ac6be14bfcb1200
# bad: [4c91a0e718837dddb8c06d5618c13d3b9fe68419] Linux 3.8.1
git bisect bad 4c91a0e718837dddb8c06d5618c13d3b9fe68419
# good: [442b43c867541d0f54a3d8c917d9a00ff941e60a] drm/usb: bind driver to correct device
git bisect good 442b43c867541d0f54a3d8c917d9a00ff941e60a
# bad: [e0cfce95ff8e4789c35c02e7c1e0e88bc48ce54b] fbcon: don't lose the console font across generic->chip driver switch
git bisect bad e0cfce95ff8e4789c35c02e7c1e0e88bc48ce54b
# bad: [7b12be8563b3d5ebf121dd37227de37bf68123b0] staging: vt6656: revert : 64 bit- Correctly address void structure.
git bisect bad 7b12be8563b3d5ebf121dd37227de37bf68123b0
# bad: [80dda7b532285f32b6fdb23ebf29de7c035b2bae] drm/i915: disable shared panel fitter for pipe
git bisect bad 80dda7b532285f32b6fdb23ebf29de7c035b2bae
# good: [3cfe7a3476bf3831bcc079b4bff4b1d8cf195179] drm/i915: Preserve the FDI line reversal override bit on CPT
git bisect good 3cfe7a3476bf3831bcc079b4bff4b1d8cf195179
# good: [93acc1b01987426940bc8403aea19e13e13da421] drm/i915: Fix CAGF for HSW
git bisect good 93acc1b01987426940bc8403aea19e13e13da421
# bad: [719429a54d9c8fd32d457c7d564d1272d9003282] drm/i915: write backlight harder
git bisect bad 719429a54d9c8fd32d457c7d564d1272d9003282
# good: [1963d1f0a223d134186ea6c2b5540e981408d458] drm/i915: Fix RC6VIDS encode/decode
git bisect good 1963d1f0a223d134186ea6c2b5540e981408d458
Comment 3 Coacher 2013-03-02 19:26:50 UTC
BTW, the commit found above is the first bad commit for backlight issue and the stack trace pasted above is still there. Will try to bisect the commit which causes trace.
Comment 4 Coacher 2013-03-03 04:09:21 UTC
(In reply to comment #3)
> BTW, the commit found above is the first bad commit for backlight issue and
> the
> stack trace pasted above is still there. Will try to bisect the commit which
> causes trace.

That stack trace is related to other bug introduced in 3.8.0, see
https://bugzilla.kernel.org/show_bug.cgi?id=54691
Comment 5 Jani Nikula 2013-03-04 09:02:09 UTC
(In reply to comment #4)
> That stack trace is related to other bug introduced in 3.8.0, see
> https://bugzilla.kernel.org/show_bug.cgi?id=54691

That is indeed a separate bug, thanks for filing another bug for it.
Comment 6 Coacher 2013-03-07 22:21:28 UTC
Tried today's drm-intel-next kernel and the issue is still there.
Comment 7 Jani Nikula 2013-03-08 08:12:07 UTC
Please attach dmesg with drm.debug=0xe module parameter from boot to suspend to resume and the issue.

Please attach output of intel_reg_dumper tool (from the intel-gpu-tools package) before suspend and after resume.
Comment 8 Coacher 2013-03-08 17:23:03 UTC
(In reply to comment #7)
> Please attach dmesg with drm.debug=0xe module parameter from boot to suspend
> to
> resume and the issue.
> 
> Please attach output of intel_reg_dumper tool (from the intel-gpu-tools
> package) before suspend and after resume.

Here go the results with today's drm-intel-next kernel (drm-intel-testing branch at commit d08a6eb2690b1ac6f0582feb41c2ccbea945285f).

There were three points where data was collected: first is after the normal boot and login into X, second right after suspend/resume cycle when backlight is not working yet and the last one right after the second only I hit "brightness up" key to make backlight work again.
Comment 9 Coacher 2013-03-08 17:23:30 UTC
Created attachment 94871 [details]
dmesg before suspend
Comment 10 Coacher 2013-03-08 17:23:52 UTC
Created attachment 94881 [details]
reg dump before suspend
Comment 11 Coacher 2013-03-08 17:24:31 UTC
Created attachment 94891 [details]
dmesg after suspend/resume, no backlight
Comment 12 Coacher 2013-03-08 17:25:05 UTC
Created attachment 94901 [details]
reg dump after suspend/resume, no backlight
Comment 13 Coacher 2013-03-08 17:25:34 UTC
Created attachment 94911 [details]
dmesg after suspend/resume, with backlight
Comment 14 Coacher 2013-03-08 17:26:08 UTC
Created attachment 94921 [details]
reg dump after suspend/resume, with backlight
Comment 15 Bernd Prünster 2013-03-26 11:17:27 UTC
Created attachment 96191 [details]
lspci -vvv

This bug also affects my ThinkPad E330 using Linux 3.8.4
Comment 16 Daniel Vetter 2013-03-26 12:30:44 UTC
The commit "drm/i915: write backlight harder" is reverted in upstream and a backport of the revert should be trickling down to stable kernels soon.

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