summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorJayant Shekhar <jshekhar@codeaurora.org>2015-07-16 17:58:41 +0530
committerJeevan Shriram <jshriram@codeaurora.org>2016-04-26 14:38:06 -0700
commitb9c131d7414382af3aa2a3bb36926fec378ffd09 (patch)
treecc0a6526c5e9aa6217e1188ad33e11dd5ab7159e /drivers/video/fbdev
parentb27c6968c653dc1ac825388a0b5e4251573f7ddc (diff)
msm: mdss: update backlight during unblank if required
Some panel don't require backlight to be updated during unblank and only require update upon first commit. Add support to update the backlight based on panel specific property. Change-Id: I43f33505be5151640ad7dc2ee1a14df8a55a6dfe Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org> Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi_panel.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c6
-rw-r--r--drivers/video/fbdev/msm/mdss_panel.h1
3 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_panel.c b/drivers/video/fbdev/msm/mdss_dsi_panel.c
index 366cbf33467e..95808754d8c6 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_panel.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_panel.c
@@ -2393,6 +2393,9 @@ static int mdss_panel_parse_dt(struct device_node *np,
rc = of_property_read_u32(np, "qcom,mdss-dsi-init-delay-us", &tmp);
pinfo->mipi.init_delay = (!rc ? tmp : 0);
+ rc = of_property_read_u32(np, "qcom,mdss-dsi-post-init-delay", &tmp);
+ pinfo->mipi.post_init_delay = (!rc ? tmp : 0);
+
mdss_dsi_parse_roi_alignment(np, pinfo);
mdss_dsi_parse_trigger(np, &(pinfo->mipi.mdp_trigger),
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index d277db0da189..c48ba7c68e99 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -1765,10 +1765,10 @@ static int mdss_fb_blank_unblank(struct msm_fb_data_type *mfd)
* the backlight would remain 0 (0 is set in blank).
* Hence resetting back to calibration mode value
*/
- if (!IS_CALIB_MODE_BL(mfd))
- mdss_fb_set_backlight(mfd, mfd->unset_bl_level);
- else
+ if (IS_CALIB_MODE_BL(mfd))
mdss_fb_set_backlight(mfd, mfd->calib_mode_bl);
+ else if (!mfd->panel_info->mipi.post_init_delay)
+ mdss_fb_set_backlight(mfd, mfd->unset_bl_level);
/*
* it blocks the backlight update between unblank and
diff --git a/drivers/video/fbdev/msm/mdss_panel.h b/drivers/video/fbdev/msm/mdss_panel.h
index 568e8f3b4151..24c785b11f8c 100644
--- a/drivers/video/fbdev/msm/mdss_panel.h
+++ b/drivers/video/fbdev/msm/mdss_panel.h
@@ -408,6 +408,7 @@ struct mipi_panel_info {
char lp11_init;
u32 init_delay;
+ u32 post_init_delay;
};
struct edp_panel_info {