diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_hdmi.c | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 0731ba660aa..b206a0db771 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -791,6 +791,19 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,  	if (HAS_PCH_SPLIT(dev) && !HAS_DDI(dev))  		pipe_config->has_pch_encoder = true; +	/* +	 * HDMI is either 12 or 8, so if the display lets 10bpc sneak +	 * through, clamp it down. Note that g4x/vlv don't support 12bpc hdmi +	 * outputs. +	 */ +	if (pipe_config->pipe_bpp > 8*3 && HAS_PCH_SPLIT(dev)) { +		DRM_DEBUG_KMS("forcing bpc to 12 for HDMI\n"); +		pipe_config->pipe_bpp = 12*3; +	} else { +		DRM_DEBUG_KMS("forcing bpc to 8 for HDMI\n"); +		pipe_config->pipe_bpp = 8*3; +	} +  	return true;  }  |