Bug 24956 - 2.6.31-rc3: LVDS gets re-enabled after resume
Summary: 2.6.31-rc3: LVDS gets re-enabled after resume
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.4 (2008.09)
Hardware: Other All
: medium normal
Assignee: Jesse Barnes
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: NEEDINFO, regression
Depends on:
Blocks:
 
Reported: 2009-11-06 02:42 UTC by pittipatti
Modified: 2010-02-06 10:28 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
lspci -vnvn (22.16 KB, text/plain)
2009-11-06 02:42 UTC, pittipatti
no flags Details
uname -a (92 bytes, text/plain)
2009-11-06 02:42 UTC, pittipatti
no flags Details
dmesg (122.67 KB, text/plain)
2009-11-06 02:43 UTC, pittipatti
no flags Details
xrandr query after resume (776 bytes, text/plain)
2009-11-06 02:43 UTC, pittipatti
no flags Details
dmidecode (8.88 KB, text/plain)
2010-02-06 05:10 UTC, pittipatti
no flags Details

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.