Message ID | 20190718145053.25808-4-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: YCbCr output fixes and prep work for YCbCr 4:4:4 output | expand |
On Thu, 2019-07-18 at 17:50 +0300, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > We're configuring the AVI infoframe quantization range bits as if > we're always transmitting RGB pixels. Let's fix this so that we > correctly indicate limited range YCC quantization range when > transmitting YCbCr instead. > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/display/intel_hdmi.c | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c > b/drivers/gpu/drm/i915/display/intel_hdmi.c > index 9bf28de10401..b8100cf21dd0 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -724,11 +724,16 @@ intel_hdmi_compute_avi_infoframe(struct > intel_encoder *encoder, > > drm_hdmi_avi_infoframe_colorspace(frame, conn_state); > > - drm_hdmi_avi_infoframe_quant_range(frame, connector, > - adjusted_mode, > - crtc_state- > >limited_color_range ? > - HDMI_QUANTIZATION_RANGE_LIMI > TED : > - HDMI_QUANTIZATION_RANGE_FULL > ); > + if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB) { > + drm_hdmi_avi_infoframe_quant_range(frame, connector, > + adjusted_mode, > + crtc_state- > >limited_color_range ? > + HDMI_QUANTIZATION_RA > NGE_LIMITED : > + HDMI_QUANTIZATION_RA > NGE_FULL); > + } else { > + frame->quantization_range = > HDMI_QUANTIZATION_RANGE_DEFAULT; > + frame->ycc_quantization_range = > HDMI_YCC_QUANTIZATION_RANGE_LIMITED; > + } > > drm_hdmi_avi_infoframe_content_type(frame, conn_state); > The changes look good to me. Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index 9bf28de10401..b8100cf21dd0 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -724,11 +724,16 @@ intel_hdmi_compute_avi_infoframe(struct intel_encoder *encoder, drm_hdmi_avi_infoframe_colorspace(frame, conn_state); - drm_hdmi_avi_infoframe_quant_range(frame, connector, - adjusted_mode, - crtc_state->limited_color_range ? - HDMI_QUANTIZATION_RANGE_LIMITED : - HDMI_QUANTIZATION_RANGE_FULL); + if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB) { + drm_hdmi_avi_infoframe_quant_range(frame, connector, + adjusted_mode, + crtc_state->limited_color_range ? + HDMI_QUANTIZATION_RANGE_LIMITED : + HDMI_QUANTIZATION_RANGE_FULL); + } else { + frame->quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT; + frame->ycc_quantization_range = HDMI_YCC_QUANTIZATION_RANGE_LIMITED; + } drm_hdmi_avi_infoframe_content_type(frame, conn_state);