From 2b17b940389c72b24b2956d8b27e24c7a597856a Mon Sep 17 00:00:00 2001 From: Siddhartha Agrawal Date: Fri, 20 Mar 2015 16:24:04 -0700 Subject: [PATCH] msm: dsi: Silence DSI phy lane 0 error during ulps exit While exiting ULPS, there are instances where the phy incorrectly reports an error causing the logs to be flooded with the error prints. Disable printing such error message during such cases only. Crs-fixed: 800136 Change-Id: I8fd321f57f5c00910e2b0637d31da0dc7f9d88b2 Signed-off-by: Siddhartha Agrawal Signed-off-by: Vishnuvardhan Prodduturi --- drivers/video/fbdev/msm/mdss_dsi.h | 2 +- drivers/video/fbdev/msm/mdss_dsi_host.c | 7 ++++--- drivers/video/fbdev/msm/msm_mdss_io_8974.c | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/video/fbdev/msm/mdss_dsi.h b/drivers/video/fbdev/msm/mdss_dsi.h index 3491e2030e24..bf654ce797dc 100644 --- a/drivers/video/fbdev/msm/mdss_dsi.h +++ b/drivers/video/fbdev/msm/mdss_dsi.h @@ -616,7 +616,7 @@ int mdss_dsi_bta_status_check(struct mdss_dsi_ctrl_pdata *ctrl); int mdss_dsi_reg_status_check(struct mdss_dsi_ctrl_pdata *ctrl); bool __mdss_dsi_clk_enabled(struct mdss_dsi_ctrl_pdata *ctrl, u8 clk_type); void mdss_dsi_ctrl_setup(struct mdss_dsi_ctrl_pdata *ctrl); -void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl); +void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl, bool print_en); void mdss_dsi_lp_cd_rx(struct mdss_dsi_ctrl_pdata *ctrl); void mdss_dsi_get_hw_revision(struct mdss_dsi_ctrl_pdata *ctrl); u32 mdss_dsi_panel_cmd_read(struct mdss_dsi_ctrl_pdata *ctrl, char cmd0, diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index c7b92ef936a0..84e5f023073a 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -2675,7 +2675,7 @@ void mdss_dsi_timeout_status(struct mdss_dsi_ctrl_pdata *ctrl) } } -void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl) +void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl, bool print_en) { u32 status; unsigned char *base; @@ -2686,7 +2686,8 @@ void mdss_dsi_dln0_phy_err(struct mdss_dsi_ctrl_pdata *ctrl) if (status & 0x011111) { MIPI_OUTP(base + 0x00b4, status); - pr_err("%s: status=%x\n", __func__, status); + if (print_en) + pr_err("%s: status=%x\n", __func__, status); ctrl->err_cont.phy_err_cnt++; } } @@ -2781,7 +2782,7 @@ void mdss_dsi_error(struct mdss_dsi_ctrl_pdata *ctrl) mdss_dsi_ack_err_status(ctrl); /* mask0, 0x01f */ mdss_dsi_timeout_status(ctrl); /* mask0, 0x0e0 */ mdss_dsi_status(ctrl); /* mask0, 0xc0100 */ - mdss_dsi_dln0_phy_err(ctrl); /* mask0, 0x3e00000 */ + mdss_dsi_dln0_phy_err(ctrl, true); /* mask0, 0x3e00000 */ /* clear dsi error interrupt */ intr = MIPI_INP(ctrl->ctrl_base + 0x0110); diff --git a/drivers/video/fbdev/msm/msm_mdss_io_8974.c b/drivers/video/fbdev/msm/msm_mdss_io_8974.c index 7b3a2c7b4ed8..bcbe3d531918 100644 --- a/drivers/video/fbdev/msm/msm_mdss_io_8974.c +++ b/drivers/video/fbdev/msm/msm_mdss_io_8974.c @@ -1148,9 +1148,9 @@ static int mdss_dsi_ulps_config(struct mdss_dsi_ctrl_pdata *ctrl, /* * Clear out any phy errors prior to exiting ULPS * This fixes certain instances where phy does not exit - * ULPS cleanly. + * ULPS cleanly. Also, do not print error during such cases. */ - mdss_dsi_dln0_phy_err(ctrl); + mdss_dsi_dln0_phy_err(ctrl, false); /* * ULPS Exit Request