Re: [PATCH] drm/i915: Ignore panel type from OpRegion on SKL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx wrote:
> > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > 
> > 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@xxxxxxxxxxxxxxxxxxxxx>
> > Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> > Cc: drm-intel-fixes@xxxxxxxxxxxxxxxxxxxxx
> > 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@xxxxxxxxxxxxxxx>
> 
> Oh well, but not really a better option unfortunately.
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> 
> 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@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux