[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