On Wed, Dec 12, 2018 at 04:32:02PM -0800, Dhinakaran Pandiyan wrote: > On Tue, 2018-11-20 at 18:13 +0200, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > Fill out the AVI infoframe quantization range bits using > > drm_hdmi_avi_infoframe_quant_range() for SDVO HDMI encoder as well. > > > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/i915/intel_sdvo.c | 19 ++++++++++--------- > > 1 file changed, 10 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c > > b/drivers/gpu/drm/i915/intel_sdvo.c > > index 1277d31adb54..9c16e273fb8d 100644 > > --- a/drivers/gpu/drm/i915/intel_sdvo.c > > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > > @@ -984,6 +984,8 @@ static bool intel_sdvo_set_avi_infoframe(struct > > intel_sdvo *intel_sdvo, > > const struct intel_crtc_state > > *pipe_config, > > const struct > > drm_connector_state *conn_state) > > { > > + const struct drm_display_mode *adjusted_mode = > > + &pipe_config->base.adjusted_mode; > > uint8_t sdvo_data[HDMI_INFOFRAME_SIZE(AVI)]; > > union hdmi_infoframe frame; > > int ret; > > @@ -991,20 +993,19 @@ static bool intel_sdvo_set_avi_infoframe(struct > > intel_sdvo *intel_sdvo, > > > > ret = drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, > > conn_state- > > >connector, > > - &pipe_config- > > >base.adjusted_mode); > > + adjusted_mode); > > if (ret < 0) { > > DRM_ERROR("couldn't fill AVI infoframe\n"); > > return false; > > } > > > > - if (intel_sdvo->rgb_quant_range_selectable) { > > - if (pipe_config->limited_color_range) > > - frame.avi.quantization_range = > > - HDMI_QUANTIZATION_RANGE_LIMITED; > > - else > > - frame.avi.quantization_range = > > - HDMI_QUANTIZATION_RANGE_FULL; > > - } > > + drm_hdmi_avi_infoframe_quant_range(&frame.avi, > > + conn_state->connector, > > + adjusted_mode, > > + pipe_config- > > >limited_color_range ? > > + rgb_quant_range_selectableTE > > D : > > + HDMI_QUANTIZATION_RANGE_FULL > > , > > + intel_sdvo- > > >rgb_quant_range_selectable); > > Seems like avi.quantization_range can now get set to _LIMITED or _FULL > even when ->rgb_quant_range_selectable == false, i.e., it is not > _DEFAULT anymore. Is that change in behavior intended? ->quant_range_selectable will be passed to drm_hdmi_avi_infoframe_quant_range() which will do the right thing with it. That said, there is a slight behavioural change in that it will set the Q bit even with QS==1 iff the quantization range matches the default quantization range for the mode. I noted this in the radeon patch but forgot to mention it here. > > > > > > len = hdmi_infoframe_pack(&frame, sdvo_data, > > sizeof(sdvo_data)); > > if (len < 0) -- Ville Syrjälä Intel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel