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.zh...@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

Reply via email to