From 04ee7723d77f8d0f497dbf87e6dae9c174d75754 Mon Sep 17 00:00:00 2001 From: Sandeep Panda Date: Mon, 23 Jan 2017 16:48:23 +0530 Subject: msm: mdss: ensure proper state transition during ULPS exit During stress environment, sometimes DSI ULPS exit sequence does not work properly. Add memory barriers while programing DSI lane register to ensure proper state transition of DSI lane during ULPS exit. Change-Id: Ib50958cf342bf23ab44f5a9d3bdf60adad824145 Signed-off-by: Sandeep Panda --- drivers/video/fbdev/msm/msm_mdss_io_8974.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'drivers/video/fbdev') diff --git a/drivers/video/fbdev/msm/msm_mdss_io_8974.c b/drivers/video/fbdev/msm/msm_mdss_io_8974.c index e6151b4c75a1..8236a17c9bbe 100644 --- a/drivers/video/fbdev/msm/msm_mdss_io_8974.c +++ b/drivers/video/fbdev/msm/msm_mdss_io_8974.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -1863,8 +1863,10 @@ static int mdss_dsi_ulps_config_default(struct mdss_dsi_ctrl_pdata *ctrl, * to be in stop state. */ MIPI_OUTP(ctrl->ctrl_base + 0x0AC, active_lanes << 16); + wmb(); /* ensure lanes are put to stop state */ MIPI_OUTP(ctrl->ctrl_base + 0x0AC, 0x0); + wmb(); /* ensure lanes are in proper state */ lane_status = MIPI_INP(ctrl->ctrl_base + 0xA8); } -- cgit v1.2.3