Message ID | 1369212495-29566-1-git-send-email-xiong.y.zhang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, May 22, 2013 at 10:48 AM, Xiong Zhang <xiong.y.zhang@intel.com> wrote: > HDMI Compliance Testing fail on i915 driver, the error log show: > M1-M0=0b00(NO Data) of AVI InfoFrame Packet should correspond to the > aspect ratio of the viewed image.Skip because AVI R3-R0 is no 1000 > (Same as picture aspect ratio) > > the default value of active format aspect ratio is 0 which is invalid > accroding to CEA-861-D spec in page 79, So change the default value to > 0x08. > > Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> I think it'd be good if we move our infoframe code over to the new helpers finally and then apply your fix on top of that. Paulo started the conversion a while back, but there are some todos left: https://patchwork.kernel.org/patch/2171801/ Can you perhaps take a look into this and maybe check with Paulo which of the TODO items are still left open? Thanks, Daniel > --- > drivers/gpu/drm/i915/intel_drv.h | 1 + > drivers/gpu/drm/i915/intel_hdmi.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 75a7f22..91b345e 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -370,6 +370,7 @@ struct cxsr_latency { > #define DIP_TYPE_AVI 0x82 > #define DIP_VERSION_AVI 0x2 > #define DIP_LEN_AVI 13 > +#define DIP_AVI_FORMAT_ASPECT_RATIO_SAME 0x8 > #define DIP_AVI_PR_1 0 > #define DIP_AVI_PR_2 1 > #define DIP_AVI_RGB_QUANT_RANGE_DEFAULT (0 << 2) > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 18f8ce0..599c013 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -340,6 +340,11 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, > .len = DIP_LEN_AVI, > }; > > + /*since the default picture aspect ratio is no data > + *set the default active format aspect ratio is the > + *same as picture aspect ratio*/ > + avi_if.body.avi.C_M_R = DIP_AVI_FORMAT_ASPECT_RATIO_SAME; > + > if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) > avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2; > > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
On Wed, May 22, 2013 at 04:48:15PM +0800, Xiong Zhang wrote: > HDMI Compliance Testing fail on i915 driver, the error log show: > M1-M0=0b00(NO Data) of AVI InfoFrame Packet should correspond to the > aspect ratio of the viewed image.Skip because AVI R3-R0 is no 1000 > (Same as picture aspect ratio) > > the default value of active format aspect ratio is 0 which is invalid > accroding to CEA-861-D spec in page 79, So change the default value to > 0x08. If you look at Annex H, 0000 should actually be allowed. But since it should be interpreted the same as 1000, I guess we might as well make this change. Also, please change intel_sdvo.c too. > > Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> > --- > drivers/gpu/drm/i915/intel_drv.h | 1 + > drivers/gpu/drm/i915/intel_hdmi.c | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 75a7f22..91b345e 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -370,6 +370,7 @@ struct cxsr_latency { > #define DIP_TYPE_AVI 0x82 > #define DIP_VERSION_AVI 0x2 > #define DIP_LEN_AVI 13 > +#define DIP_AVI_FORMAT_ASPECT_RATIO_SAME 0x8 > #define DIP_AVI_PR_1 0 > #define DIP_AVI_PR_2 1 > #define DIP_AVI_RGB_QUANT_RANGE_DEFAULT (0 << 2) > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 18f8ce0..599c013 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -340,6 +340,11 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, > .len = DIP_LEN_AVI, > }; > > + /*since the default picture aspect ratio is no data > + *set the default active format aspect ratio is the > + *same as picture aspect ratio*/ > + avi_if.body.avi.C_M_R = DIP_AVI_FORMAT_ASPECT_RATIO_SAME; > + > if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) > avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2; > > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Wed, May 22, 2013 at 04:48:15PM +0800, Xiong Zhang wrote: > HDMI Compliance Testing fail on i915 driver, the error log show: > M1-M0=0b00(NO Data) of AVI InfoFrame Packet should correspond to the > aspect ratio of the viewed image.Skip because AVI R3-R0 is no 1000 > (Same as picture aspect ratio) > > the default value of active format aspect ratio is 0 which is invalid > accroding to CEA-861-D spec in page 79, So change the default value to > 0x08. > > Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> For the record, with the port of our infoframe code to the common one, we now set active aspect ratio to 8 (which is what this patch was doing).
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 75a7f22..91b345e 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -370,6 +370,7 @@ struct cxsr_latency { #define DIP_TYPE_AVI 0x82 #define DIP_VERSION_AVI 0x2 #define DIP_LEN_AVI 13 +#define DIP_AVI_FORMAT_ASPECT_RATIO_SAME 0x8 #define DIP_AVI_PR_1 0 #define DIP_AVI_PR_2 1 #define DIP_AVI_RGB_QUANT_RANGE_DEFAULT (0 << 2) diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index 18f8ce0..599c013 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -340,6 +340,11 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder, .len = DIP_LEN_AVI, }; + /*since the default picture aspect ratio is no data + *set the default active format aspect ratio is the + *same as picture aspect ratio*/ + avi_if.body.avi.C_M_R = DIP_AVI_FORMAT_ASPECT_RATIO_SAME; + if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) avi_if.body.avi.YQ_CN_PR |= DIP_AVI_PR_2;
HDMI Compliance Testing fail on i915 driver, the error log show: M1-M0=0b00(NO Data) of AVI InfoFrame Packet should correspond to the aspect ratio of the viewed image.Skip because AVI R3-R0 is no 1000 (Same as picture aspect ratio) the default value of active format aspect ratio is 0 which is invalid accroding to CEA-861-D spec in page 79, So change the default value to 0x08. Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com> --- drivers/gpu/drm/i915/intel_drv.h | 1 + drivers/gpu/drm/i915/intel_hdmi.c | 5 +++++ 2 files changed, 6 insertions(+)