From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 7/8] drm/i915/sdvo: Port the infoframe code to the shared infrastructure Date: Mon, 5 Aug 2013 21:08:30 +0300 Message-ID: <20130805180830.GB5004@intel.com> References: <1375464180-7259-1-git-send-email-damien.lespiau@intel.com> <1375464180-7259-8-git-send-email-damien.lespiau@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 45E0EE6DAB for ; Mon, 5 Aug 2013 11:08:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1375464180-7259-8-git-send-email-damien.lespiau@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Damien Lespiau Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Aug 02, 2013 at 06:22:59PM +0100, Damien Lespiau wrote: > Signed-off-by: Damien Lespiau > Signed-off-by: Paulo Zanoni > Signed-off-by: Thierry Reding Looks all right. Reviewed-by: Ville Syrj=E4l=E4 > --- > drivers/gpu/drm/i915/intel_sdvo.c | 38 ++++++++++++++++++++-------------= ----- > 1 file changed, 20 insertions(+), 18 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/int= el_sdvo.c > index 47423f3..02f220b 100644 > --- a/drivers/gpu/drm/i915/intel_sdvo.c > +++ b/drivers/gpu/drm/i915/intel_sdvo.c > @@ -963,30 +963,32 @@ static bool intel_sdvo_write_infoframe(struct intel= _sdvo *intel_sdvo, > static bool intel_sdvo_set_avi_infoframe(struct intel_sdvo *intel_sdvo, > const struct drm_display_mode *adjusted_mode) > { > - struct dip_infoframe avi_if =3D { > - .type =3D DIP_TYPE_AVI, > - .ver =3D DIP_VERSION_AVI, > - .len =3D DIP_LEN_AVI, > - }; > - uint8_t sdvo_data[4 + sizeof(avi_if.body.avi)]; > - struct intel_crtc *intel_crtc =3D to_intel_crtc(intel_sdvo->base.base.c= rtc); > + uint8_t sdvo_data[HDMI_INFOFRAME_SIZE(AVI)]; > + struct drm_crtc *crtc =3D intel_sdvo->base.base.crtc; > + struct intel_crtc *intel_crtc =3D to_intel_crtc(crtc); > + union hdmi_infoframe frame; > + int ret; > + ssize_t len; > + > + ret =3D drm_hdmi_avi_infoframe_from_display_mode(&frame.avi, > + adjusted_mode); > + if (ret < 0) { > + DRM_ERROR("couldn't fill AVI infoframe\n"); > + return false; > + } > = > if (intel_sdvo->rgb_quant_range_selectable) { > if (intel_crtc->config.limited_color_range) > - avi_if.body.avi.ITC_EC_Q_SC |=3D DIP_AVI_RGB_QUANT_RANGE_LIMITED; > + frame.avi.quantization_range =3D > + HDMI_QUANTIZATION_RANGE_LIMITED; > else > - avi_if.body.avi.ITC_EC_Q_SC |=3D DIP_AVI_RGB_QUANT_RANGE_FULL; > + frame.avi.quantization_range =3D > + HDMI_QUANTIZATION_RANGE_FULL; > } > = > - avi_if.body.avi.VIC =3D drm_match_cea_mode(adjusted_mode); > - > - intel_dip_infoframe_csum(&avi_if); > - > - /* sdvo spec says that the ecc is handled by the hw, and it looks like > - * we must not send the ecc field, either. */ > - memcpy(sdvo_data, &avi_if, 3); > - sdvo_data[3] =3D avi_if.checksum; > - memcpy(&sdvo_data[4], &avi_if.body, sizeof(avi_if.body.avi)); > + len =3D hdmi_infoframe_pack(&frame, sdvo_data, sizeof(sdvo_data)); > + if (len < 0) > + return false; > = > return intel_sdvo_write_infoframe(intel_sdvo, SDVO_HBUF_INDEX_AVI_IF, > SDVO_HBUF_TX_VSYNC, > -- = > 1.8.3.1 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Ville Syrj=E4l=E4 Intel OTC