Message ID | 1438320927-8324-1-git-send-email-sivakumar.thulasimani@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 31 Jul 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote: > From: "Thulasimani,Sivakumar" <sivakumar.thulasimani@intel.com> > > BPP bits defined in VBT should be used only on panels whose > edid version is 1.3 or older. EDID version 1.4 introduced offsets > where bpp is defined and read into display_info, hence bpp from > VBT will be used only when bpc in display_info is zero. > > v2: use display_info.bpc for deciding when to use vbt_bpp (Jani) > > Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 44f8a32..ae00e86 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1409,7 +1409,10 @@ intel_dp_compute_config(struct intel_encoder *encoder, > * bpc in between. */ > bpp = pipe_config->pipe_bpp; > if (is_edp(intel_dp)) { > - if (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp) { > + > + /* Get bpp from vbt only for panels that dont have bpp in edid */ > + if (intel_connector->base.display_info.bpc == 0 && > + (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp)) { The indentation seems wrong here, otherwise Reviewed-by: Jani Nikula <jani.nikula@intel.com> > DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n", > dev_priv->vbt.edp_bpp); > bpp = dev_priv->vbt.edp_bpp; > -- > 1.7.9.5 >
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 44f8a32..ae00e86 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -1409,7 +1409,10 @@ intel_dp_compute_config(struct intel_encoder *encoder, * bpc in between. */ bpp = pipe_config->pipe_bpp; if (is_edp(intel_dp)) { - if (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp) { + + /* Get bpp from vbt only for panels that dont have bpp in edid */ + if (intel_connector->base.display_info.bpc == 0 && + (dev_priv->vbt.edp_bpp && dev_priv->vbt.edp_bpp < bpp)) { DRM_DEBUG_KMS("clamping bpp for eDP panel to BIOS-provided %i\n", dev_priv->vbt.edp_bpp); bpp = dev_priv->vbt.edp_bpp;