[Intel-gfx] [PATCH] drm/i915: Ignore panel type from OpRegion on SKL

Daniel Vetter daniel at ffwll.ch
Wed Jul 13 12:04:43 UTC 2016


On Tue, Jul 12, 2016 at 03:00:37PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Dell XPS 13 9350 apparently doesn't like it when we use the panel type
> from OpRegion. The OpRegion panel type (0) tells us to use use low
> vswing for eDP, whereas the VBT panel type (2) tells us to use normal
> vswing. The problem is that low vswing results in some display flickers.
> Since no one seems to know how this stuff is supposed to be handled,
> let's just ignore the OpRegion panel type on SKL for now.
> 
> Reported-by: James Bottomley <James.Bottomley at HansenPartnership.com>
> Cc: James Bottomley <James.Bottomley at HansenPartnership.com>
> Cc: drm-intel-fixes at lists.freedesktop.org
> References: https://lists.freedesktop.org/archives/intel-gfx/2016-June/098826.html
> Fixes: a05628195a0d ("drm/i915: Get panel_type from OpRegion panel details")
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Oh well, but not really a better option unfortunately.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

Could also be that this is more general on newer machines ... Did you
check latest OpRegion spec to make sure this isn't deprecated?
-Daniel

> ---
>  drivers/gpu/drm/i915/intel_opregion.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
> index c27d5eb063d0..259760f12d16 100644
> --- a/drivers/gpu/drm/i915/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/intel_opregion.c
> @@ -1072,5 +1072,16 @@ intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>  		return -ENODEV;
>  	}
>  
> +	/*
> +	 * FIXME On Dell XPS 13 9350 the OpRegion panel type (0) gives us
> +	 * low vswing for eDP, whereas the VBT panel type (2) gives us normal
> +	 * vswing instead. Low vswing results in some display flickers, so
> +	 * let's simply ignore the OpRegion panel type on SKL for now.
> +	 */
> +	if (IS_SKYLAKE(dev_priv)) {
> +		DRM_DEBUG_KMS("Ignoring OpRegion panel type (%d)\n", ret);
> +		return -ENODEV;
> +	}
> +
>  	return ret - 1;
>  }
> -- 
> 2.7.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list