From ad16d856d5d5014b71d4444892a070d7136a7872 Mon Sep 17 00:00:00 2001 From: Padmanabhan Komanduru Date: Wed, 19 Nov 2014 15:38:01 +0530 Subject: [PATCH] mdss: dsi: ensure proper clearing of DSI RDBK registers During high performance scenarios, sometimes the DSI RDBK registers are not getting cleared. This can cause improper read return values since the RDBK data count will not get reset in such cases. Add memory barriers during reset of RDBK registers to ensure that the registers are cleared. Change-Id: I870744b58c3e4064ca9f04f92e831d69139336db Signed-off-by: Padmanabhan Komanduru --- drivers/video/fbdev/msm/mdss_dsi_host.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index a810708f7b95..847cbe3dd1a0 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -1395,7 +1395,9 @@ do_send: if (ctrl_rev >= MDSS_DSI_HW_REV_101) { /* clear the RDBK_DATA registers */ MIPI_OUTP(ctrl->ctrl_base + 0x01d4, 0x1); + wmb(); /* make sure the RDBK registers are cleared */ MIPI_OUTP(ctrl->ctrl_base + 0x01d4, 0x0); + wmb(); /* make sure the RDBK registers are cleared */ } mdss_dsi_wait4video_eng_busy(ctrl); /* video mode only */