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 at 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