aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_hdmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_hdmi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index ec873338e84d..3abc2000fce9 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1461,10 +1461,13 @@ static void chv_hdmi_post_disable(struct intel_encoder *encoder)
1461static void chv_hdmi_pre_enable(struct intel_encoder *encoder) 1461static void chv_hdmi_pre_enable(struct intel_encoder *encoder)
1462{ 1462{
1463 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); 1463 struct intel_digital_port *dport = enc_to_dig_port(&encoder->base);
1464 struct intel_hdmi *intel_hdmi = &dport->hdmi;
1464 struct drm_device *dev = encoder->base.dev; 1465 struct drm_device *dev = encoder->base.dev;
1465 struct drm_i915_private *dev_priv = dev->dev_private; 1466 struct drm_i915_private *dev_priv = dev->dev_private;
1466 struct intel_crtc *intel_crtc = 1467 struct intel_crtc *intel_crtc =
1467 to_intel_crtc(encoder->base.crtc); 1468 to_intel_crtc(encoder->base.crtc);
1469 struct drm_display_mode *adjusted_mode =
1470 &intel_crtc->config.adjusted_mode;
1468 enum dpio_channel ch = vlv_dport_to_channel(dport); 1471 enum dpio_channel ch = vlv_dport_to_channel(dport);
1469 int pipe = intel_crtc->pipe; 1472 int pipe = intel_crtc->pipe;
1470 int data, i; 1473 int data, i;
@@ -1589,6 +1592,10 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder)
1589 1592
1590 mutex_unlock(&dev_priv->dpio_lock); 1593 mutex_unlock(&dev_priv->dpio_lock);
1591 1594
1595 intel_hdmi->set_infoframes(&encoder->base,
1596 intel_crtc->config.has_hdmi_sink,
1597 adjusted_mode);
1598
1592 intel_enable_hdmi(encoder); 1599 intel_enable_hdmi(encoder);
1593 1600
1594 vlv_wait_port_ready(dev_priv, dport); 1601 vlv_wait_port_ready(dev_priv, dport);