mirror of https://gitee.com/openkylin/linux.git
drm/i915: Account for sink max TMDS clock when checking the port clock
It's perfectly legal for the sink to support 12bpc only for some lower resolution modes, while the higher resolution modes can only be used with 8bpc. So let's take the sink's max TMDS clock into account before we go and decide that a particular mode can be used with 12bpc. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1475070703-6435-11-git-send-email-ville.syrjala@linux.intel.com
This commit is contained in:
parent
6a2a5c5dea
commit
8cadab0a2a
|
@ -1220,10 +1220,17 @@ static int hdmi_port_clock_limit(struct intel_hdmi *hdmi,
|
|||
int max_tmds_clock = intel_hdmi_source_max_tmds_clock(to_i915(dev));
|
||||
|
||||
if (respect_downstream_limits) {
|
||||
struct intel_connector *connector = hdmi->attached_connector;
|
||||
const struct drm_display_info *info = &connector->base.display_info;
|
||||
|
||||
if (hdmi->dp_dual_mode.max_tmds_clock)
|
||||
max_tmds_clock = min(max_tmds_clock,
|
||||
hdmi->dp_dual_mode.max_tmds_clock);
|
||||
if (!hdmi->has_hdmi_sink)
|
||||
|
||||
if (info->max_tmds_clock)
|
||||
max_tmds_clock = min(max_tmds_clock,
|
||||
info->max_tmds_clock);
|
||||
else if (!hdmi->has_hdmi_sink)
|
||||
max_tmds_clock = min(max_tmds_clock, 165000);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue