Patchwork [precise] Revert "drm/i915: ignore eDP bpc settings from vbt"

login
register
mail settings
Submitter Robert Hooker
Date Oct. 25, 2012, 3:11 p.m.
Message ID <1351177863-24405-1-git-send-email-sarvatt@ubuntu.com>
Download mbox | patch
Permalink /patch/194207/
State New
Headers show

Comments

Robert Hooker - Oct. 25, 2012, 3:11 p.m.
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(+)
Tim Gardner - Oct. 25, 2012, 3:37 p.m.
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

Patch

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