--- /dev/null
+From 01f5a6261cea395f72877aeb7c2fe2d42e1b1e00 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Tue, 16 Dec 2014 18:38:37 +0200
+Subject: Revert "drm/i915: Preserve VGACNTR bits from the BIOS"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+
+commit 01f5a6261cea395f72877aeb7c2fe2d42e1b1e00 upstream.
+
+The VGA_2X_MODE bit apparently affects the display even when the VGA
+plane is disabled. The bit will set by the BIOS when the panel width
+is at least 1280 pixels. So by preserving the bit from the BIOS we
+end up with corrupted display on machines with such high res panels.
+I only have 1024x768 panels on my gen2 machines so never ran into
+this problem.
+
+The original reason for preserving the VGACNTR register was to make
+my 830 survive S3 with acpi_sleep=s3_bios option. However after
+further 830 fixes that option is no longer needed to make S3 work
+and preserving VGACNTR doesn't seem to be necessary without it,
+so we can just revert the entire patch.
+
+This reverts
+commit 69769f9a422bfc62e17399da3590c5e31ac37f24
+Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Date: Fri Aug 15 01:22:08 2014 +0300
+
+ drm/i915: Preserve VGACNTR bits from the BIOS
+
+Cc: Bruno Prémont <bonbons@linux-vserver.org>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87171
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_drv.h | 2 --
+ drivers/gpu/drm/i915/intel_display.c | 8 +-------
+ 2 files changed, 1 insertion(+), 9 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -1666,8 +1666,6 @@ struct drm_i915_private {
+ */
+ struct workqueue_struct *dp_wq;
+
+- uint32_t bios_vgacntr;
+-
+ /* Old dri1 support infrastructure, beware the dragons ya fools entering
+ * here! */
+ struct i915_dri1_state dri1;
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -12933,11 +12933,7 @@ static void i915_disable_vga(struct drm_
+ vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
+ udelay(300);
+
+- /*
+- * 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, VGA_DISP_DISABLE);
+ POSTING_READ(vga_reg);
+ }
+
+@@ -13026,8 +13022,6 @@ void intel_modeset_init(struct drm_devic
+
+ intel_shared_dpll_init(dev);
+
+- /* save the BIOS value before clobbering it */
+- dev_priv->bios_vgacntr = I915_READ(i915_vgacntrl_reg(dev));
+ /* Just disable it once at startup */
+ i915_disable_vga(dev);
+ intel_setup_outputs(dev);