aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Abriou <vincent.abriou@st.com>2015-06-04 07:59:02 -0400
committerBenjamin Gaignard <benjamin.gaignard@linaro.org>2015-06-08 09:28:28 -0400
commitc58d6d1b6652b0a8db4aef7e93fb21ee869b5387 (patch)
treed9b6092283181a07054e043eb978b8c1d89f89c9
parent8661532a6cf841fdab20d7e1868e6fd99a226d32 (diff)
drm/sti: vtg fix CEA-861E video format timing error
HDMI analyzer tests showed that Vsync and Hsync signal were not compliant with the HDMI protocol. HDMI_DELAY should be taken into account in the VTG Vsync programming to reflect the 6 pixels shift introduced in the VTG Hsync programming. Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
-rw-r--r--drivers/gpu/drm/sti/sti_vtg.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/sti/sti_vtg.c b/drivers/gpu/drm/sti/sti_vtg.c
index df855baffe74..aa8097137701 100644
--- a/drivers/gpu/drm/sti/sti_vtg.c
+++ b/drivers/gpu/drm/sti/sti_vtg.c
@@ -173,8 +173,11 @@ static void vtg_set_mode(struct sti_vtg *vtg,
173 tmp |= 1; 173 tmp |= 1;
174 writel(tmp, vtg->regs + VTG_TOP_V_VD_1); 174 writel(tmp, vtg->regs + VTG_TOP_V_VD_1);
175 writel(tmp, vtg->regs + VTG_BOT_V_VD_1); 175 writel(tmp, vtg->regs + VTG_BOT_V_VD_1);
176 writel(0, vtg->regs + VTG_TOP_V_HD_1); 176
177 writel(0, vtg->regs + VTG_BOT_V_HD_1); 177 tmp = HDMI_DELAY << 16;
178 tmp |= HDMI_DELAY;
179 writel(tmp, vtg->regs + VTG_TOP_V_HD_1);
180 writel(tmp, vtg->regs + VTG_BOT_V_HD_1);
178 181
179 /* prepare VTG set 2 for for HD DCS */ 182 /* prepare VTG set 2 for for HD DCS */
180 tmp = (mode->hsync_end - mode->hsync_start) << 16; 183 tmp = (mode->hsync_end - mode->hsync_start) << 16;