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

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Jul 13 13:09:38 UTC 2016


On Wed, Jul 13, 2016 at 02:04:43PM +0200, Daniel Vetter wrote:
> 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?

I found one version of the spec specifically for SKL:
"IGD OpRegion/Software SCI/ _DSM for Skylake Processors" and it still
has all the panel type stuff in it.

In fact it's the panel type in the VBT that is actually marked as
deprecated. Last time I tried to ask around as to why it's deprecated
and what we should use instead, I couldn't get a decent answer.

> -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

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list