<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - 3.18: i855GM KMS regression"
href="https://bugs.freedesktop.org/show_bug.cgi?id=87171#c12">Comment # 12</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - 3.18: i855GM KMS regression"
href="https://bugs.freedesktop.org/show_bug.cgi?id=87171">bug 87171</a>
from <span class="vcard"><a class="email" href="mailto:bonbons67@internet.lu" title="Bruno <bonbons67@internet.lu>"> <span class="fn">Bruno</span></a>
</span></b>
<pre>The VGACNTRL value as saved early on:
0x6104008e
That has both VGA_2X_MODE and VGA_PIPE_B_SELECT bits set (plus a whole bunch of
bits on the less significant bytes).
With patch 69769f9a422bfc62e17399da3590c5e31ac37f24 included VGACNTRL would be
set to 0xe104008e.
If I mask VGA_2X_MODE I get proper output on my 1440x1050 LVDS display.
Thus the following patch on top of 3.18 fixes the issue for me (as an
alternative to reverting commit 69769f9a42):
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 9cb5c95..fc4e16d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12937,7 +12937,7 @@ static void i915_disable_vga(struct drm_device *dev)
* Fujitsu-Siemens Lifebook S6010 (830) has problems resuming
* from S3 without preserving (some of?) the other bits.
*/
- I915_WRITE(vga_reg, dev_priv->bios_vgacntr | VGA_DISP_DISABLE);
+ I915_WRITE(vga_reg, (dev_priv->bios_vgacntr | VGA_DISP_DISABLE) &
+ ~VGA_2X_MODE);
POSTING_READ(vga_reg);
}</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>