[Intel-gfx] [PATCH] drm/i915: disable sdvo hotplug on i945g/gm

Daniel Vetter daniel at ffwll.ch
Sat May 5 14:45:29 CEST 2012


On Fri, May 04, 2012 at 11:29:56AM +0200, Daniel Vetter wrote:
> Chris Wilson dug out a hw erratum saying that there's noise on the
> interrupt line on i945G chips. We also have a bug report from a i945GM
> chip with an sdvo hotplug interrupt storm (and no apparent cause).
> 
> Play it safe and disable sdvo hotplug on all i945 variants.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=38442
> Reported-and-tested-by: Dominik Köppl <dominik at devwork.org>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>

I've just realized that this is a regression that has been introduced in
3.1, when we've enabled sdvo hotplug support with

commit cc68c81aed7d892deaf12d720d5455208e94cd0a                                                                                      
Author: Simon Farnsworth <simon.farnsworth at onelan.co.uk>                                                                             
Date:   Wed Sep 21 17:13:30 2011 +0100                                                                                               
                                                                                                                                     
    drm/i915: Enable SDVO hotplug interrupts for HDMI and DVI

Cc: stable at kernel.org

-Daniel

> ---
>  drivers/gpu/drm/i915/intel_sdvo.c |    6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index c330efd..bf6be6c 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -1232,8 +1232,14 @@ static bool intel_sdvo_get_capabilities(struct intel_sdvo *intel_sdvo, struct in
>  
>  static int intel_sdvo_supports_hotplug(struct intel_sdvo *intel_sdvo)
>  {
> +	struct drm_device *dev = intel_sdvo->base.base.dev;
>  	u8 response[2];
>  
> +	/* HW Erratum: SDVO Hotplug is broken on all i945G chips, there's noise
> +	 * on the line. */
> +	if (IS_I945G(dev) || IS_I945GM(dev))
> +		return false;
> +
>  	return intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_HOT_PLUG_SUPPORT,
>  				    &response, 2) && response[0];
>  }
> -- 
> 1.7.10
> 

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list