Bug 24956

Summary: 2.6.31-rc3: LVDS gets re-enabled after resume
Product: xorg Reporter: pittipatti
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: NEEDINFO, regression
Version: 7.4 (2008.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
lspci -vnvn
none
uname -a
none
dmesg
none
xrandr query after resume
none
dmidecode none

Description pittipatti 2009-11-06 02:42:12 UTC
Created attachment 31008 [details]
lspci -vnvn

On my Samsung Q45 with Intel GM965 graphics I encounter the following problem when using KMS:

After a suspend/resume cycle the internal LVDS always gets enabled, whether it was on before or not.

State before suspend/resume: LVDS: off / VGA: 1600x1200
State after resuming from suspend: LVDS: 1280x800 / VGA: 1600x1200

"xrandr --query" reports that the LVDS is off and it is not possible to turn it off by issuing "xrandr --output LVDS --off"

To finally turn the LVDS off it needs to be "enabled" first by using "xrandr ... --auto".
Afterwards it is possible to really turn it off.

Expected behavior:
- LVDS stays off after resume when it was off before

Sidenote:
If the displays are configured the other way round (VGA off/LVDS on) a suspend/resume cycle does not enable the VGA output.
Comment 1 pittipatti 2009-11-06 02:42:43 UTC
Created attachment 31009 [details]
uname -a
Comment 2 pittipatti 2009-11-06 02:43:07 UTC
Created attachment 31010 [details]
dmesg
Comment 3 pittipatti 2009-11-06 02:43:27 UTC
Created attachment 31011 [details]
xrandr query after resume
Comment 4 Carl Worth 2009-11-06 12:45:04 UTC
Hi pittipatti,

Do you happen to know if this bug was introduced in a recent kernel revision?

If so, we may be able to bisect the kernel to find the bad commit.

Thanks,

-Carl
Comment 5 pittipatti 2009-11-07 02:39:44 UTC
I just tried different versions and found that this bug was introduced
with version 2.6.31-rc3.
With rc2 the LVDS stays of after resuming.
Comment 6 Carl Worth 2009-11-13 12:14:54 UTC
(In reply to comment #5)
> I just tried different versions and found that this bug was introduced
> with version 2.6.31-rc3.
> With rc2 the LVDS stays of after resuming.

Thanks for the additional information.

This sounds like a bug that's in Jesse's area, (or if no he might know who
can handle it best), so I'll assign it to him.

-Carl
Comment 7 Jesse Barnes 2009-11-20 14:10:57 UTC
Ah yeah, we may force LVDS back on now that we listen for lid events (which are sometimes generated at resume).  I'll have to come up with a better way of restoring the suspend config by ignoring spurious enables at resume.
Comment 8 Jesse Barnes 2010-02-05 14:42:03 UTC
Does this still occur with 2.6.33-rc kernels?  We may need to add a quirk for your lid if it's generating spurious events.  Please attached the output of dmidecode to this bug.
Comment 9 pittipatti 2010-02-06 05:07:56 UTC
I just tested with 2.6.33-rc6 and it just works fine, so the bug can be closed.

for the sake of completeness I'll however attach the dmidecode info.
Comment 10 pittipatti 2010-02-06 05:10:43 UTC
Created attachment 33127 [details]
dmidecode
Comment 11 Jesse Barnes 2010-02-06 10:28:16 UTC
Thanks for the update.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.