Message ID | 1416597182-15684-1-git-send-email-clinton.a.taylor@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Nov 21, 2014 at 11:13:02AM -0800, clinton.a.taylor@intel.com wrote: > From: Clint Taylor <clinton.a.taylor@intel.com> > > CHV infoframes were not being enabled. > > Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com> > --- > drivers/gpu/drm/i915/intel_hdmi.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index ec87333..3abc200 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) > static void chv_hdmi_pre_enable(struct intel_encoder *encoder) > { > struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); > + struct intel_hdmi *intel_hdmi = &dport->hdmi; > struct drm_device *dev = encoder->base.dev; > struct drm_i915_private *dev_priv = dev->dev_private; > struct intel_crtc *intel_crtc = > to_intel_crtc(encoder->base.crtc); > + struct drm_display_mode *adjusted_mode = > + &intel_crtc->config.adjusted_mode; > enum dpio_channel ch = vlv_dport_to_channel(dport); > int pipe = intel_crtc->pipe; > int data, i; > @@ -1589,6 +1592,10 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder) > > mutex_unlock(&dev_priv->dpio_lock); > > + intel_hdmi->set_infoframes(&encoder->base, > + intel_crtc->config.has_hdmi_sink, > + adjusted_mode); > + Yep, used to live in the mode_set hook I think, and chv support wasn't there yet when it all got rearranged. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > intel_enable_hdmi(encoder); > > vlv_wait_port_ready(dev_priv, dport); > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV 367/367 367/367
ILK -2 375/375 373/375
SNB 450/450 450/450
IVB -2 503/503 501/503
BYT 289/289 289/289
HSW -3 567/567 564/567
BDW 417/417 417/417
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
ILK igt_gem_reset_stats_close-pending-fork-render TIMEOUT(2, M37M26)PASS(1, M26) TIMEOUT(1, M37)
ILK igt_kms_flip_vblank-vs-hang TIMEOUT(2, M37M26)PASS(1, M26) TIMEOUT(1, M37)
IVB igt_gem_bad_reloc_negative-reloc NSPT(3, M34M21M4)PASS(1, M21) NSPT(1, M34)
IVB igt_gem_bad_reloc_negative-reloc-lut NSPT(3, M21M34M4)PASS(4, M21M34M4) NSPT(1, M34)
HSW igt_gem_bad_reloc_negative-reloc-lut NSPT(12, M40M20)PASS(1, M20) NSPT(1, M40)
HSW igt_kms_rotation_crc_primary-rotation PASS(13, M20M40) DMESG_WARN(1, M40)
HSW igt_pm_rc6_residency_rc6-accuracy PASS(13, M20M40) FAIL(1, M40)
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index ec87333..3abc200 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) static void chv_hdmi_pre_enable(struct intel_encoder *encoder) { struct intel_digital_port *dport = enc_to_dig_port(&encoder->base); + struct intel_hdmi *intel_hdmi = &dport->hdmi; struct drm_device *dev = encoder->base.dev; struct drm_i915_private *dev_priv = dev->dev_private; struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc); + struct drm_display_mode *adjusted_mode = + &intel_crtc->config.adjusted_mode; enum dpio_channel ch = vlv_dport_to_channel(dport); int pipe = intel_crtc->pipe; int data, i; @@ -1589,6 +1592,10 @@ static void chv_hdmi_pre_enable(struct intel_encoder *encoder) mutex_unlock(&dev_priv->dpio_lock); + intel_hdmi->set_infoframes(&encoder->base, + intel_crtc->config.has_hdmi_sink, + adjusted_mode); + intel_enable_hdmi(encoder); vlv_wait_port_ready(dev_priv, dport);