On Wed, Jun 13, 2018 at 08:07:08PM +0300, Imre Deak wrote: > The only requirement by BSpec for setting the HDMI infoframes is on DDI > platforms to do that before enabling the HDMI transcoder function, see > VIDEO_DIP_CTL bit 16. Accordingly check for the transcoder function > disabled state instead of the port's disabled state on DDI platforms. > This is needed by the next patch as it will set the infoframe during > crtc disabling where the port is still enabled. > > Suggested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Seems sensible. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_hdmi.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index b7a95fd0663b..29d586f5cedb 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -59,6 +59,15 @@ assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi) > "HDMI port enabled, expecting disabled\n"); > } > > +static void > +assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv, > + enum transcoder cpu_transcoder) > +{ > + WARN(I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)) & > + TRANS_DDI_FUNC_ENABLE, > + "HDMI transcoder function enabled, expecting disabled\n"); > +} > + > struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder) > { > struct intel_digital_port *intel_dig_port = > @@ -838,11 +847,11 @@ static void hsw_set_infoframes(struct drm_encoder *encoder, > const struct drm_connector_state *conn_state) > { > struct drm_i915_private *dev_priv = to_i915(encoder->dev); > - struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); > i915_reg_t reg = HSW_TVIDEO_DIP_CTL(crtc_state->cpu_transcoder); > u32 val = I915_READ(reg); > > - assert_hdmi_port_disabled(intel_hdmi); > + assert_hdmi_transcoder_func_disabled(dev_priv, > + crtc_state->cpu_transcoder); > > val &= ~(VIDEO_DIP_ENABLE_VSC_HSW | VIDEO_DIP_ENABLE_AVI_HSW | > VIDEO_DIP_ENABLE_GCP_HSW | VIDEO_DIP_ENABLE_VS_HSW | > -- > 2.13.2 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx