On Mon, 19 Jan 2015, Bruno Prémont <[email protected]> wrote:
> Hi Greg, stable team,
>
> Please find below the back-ported patch (only a little bit of fuzz and
> changed offsets to handle).
> Patch applies cleanly on top of v3.18.3.

Thanks Bruno,

FWIW this is

Acked-by: Jani Nikula <[email protected]>


>
> Thanks,
> Bruno
>
>
>
> From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
> Date: Tue, 16 Dec 2014 18:38:37 +0200
> Subject: [PATCH] Revert "drm/i915: Preserve VGACNTR bits from the BIOS"
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> 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ä <[email protected]>
> Date:   Fri Aug 15 01:22:08 2014 +0300
>
>     drm/i915: Preserve VGACNTR bits from the BIOS
>
> Cc: Bruno Prémont <[email protected]>
> Cc: [email protected]
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87171
> Signed-off-by: Ville Syrjälä <[email protected]>
> Signed-off-by: Jani Nikula <[email protected]>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      | 2 --
>  drivers/gpu/drm/i915/intel_display.c | 8 +-------
>  2 files changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 16a6f6d..fd2d433 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1665,8 +1665,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;
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 9cb5c95..cadc3bc 100644
> --- 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_device *dev)
>       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_device *dev)
>  
>       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);

-- 
Jani Nikula, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to