Message ID | 1351177863-24405-1-git-send-email-sarvatt@ubuntu.com |
---|---|
State | New |
Headers | show |
On 10/25/2012 09:11 AM, Robert Hooker wrote: > From: Robert Hooker <robert.hooker@canonical.com> > > BugLink: http://bugs.launchpad.net/bugs/1070978 > > This commit breaks display bringup on a recent Lenovo eDP machine. > > This reverts commit d3f281cf0493885d92ffc8e2c9e7e4e6d838d6a5. > > Signed-off-by: Robert Hooker <robert.hooker@canonical.com> > --- > drivers/gpu/drm/i915/intel_display.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 6374be5..53b3e0c 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -4729,6 +4729,17 @@ static bool intel_choose_pipe_bpp_dither(struct drm_crtc *crtc, > continue; > } > > + if (intel_encoder->type == INTEL_OUTPUT_EDP) { > + /* Use VBT settings if we have an eDP panel */ > + unsigned int edp_bpc = dev_priv->edp.bpp / 3; > + > + if (edp_bpc < display_bpc) { > + DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n", display_bpc, edp_bpc); > + display_bpc = edp_bpc; > + } > + continue; > + } > + > /* Not one of the known troublemakers, check the EDID */ > list_for_each_entry(connector, &dev->mode_config.connector_list, > head) { > Any thoughts on what machines will regress with this patch reverted ? Or was the upstream stable patch one of those that didn't have the right context for the kernel version ? If not, then I think you should consider a SAUCE quirk for this machine. I'd rather not break already functional platforms. rtg
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 6374be5..53b3e0c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -4729,6 +4729,17 @@ static bool intel_choose_pipe_bpp_dither(struct drm_crtc *crtc, continue; } + if (intel_encoder->type == INTEL_OUTPUT_EDP) { + /* Use VBT settings if we have an eDP panel */ + unsigned int edp_bpc = dev_priv->edp.bpp / 3; + + if (edp_bpc < display_bpc) { + DRM_DEBUG_KMS("clamping display bpc (was %d) to eDP (%d)\n", display_bpc, edp_bpc); + display_bpc = edp_bpc; + } + continue; + } + /* Not one of the known troublemakers, check the EDID */ list_for_each_entry(connector, &dev->mode_config.connector_list, head) {