diff options
| author | Jayant Shekhar <jshekhar@codeaurora.org> | 2015-07-16 17:58:41 +0530 |
|---|---|---|
| committer | Jeevan Shriram <jshriram@codeaurora.org> | 2016-04-26 14:38:06 -0700 |
| commit | b9c131d7414382af3aa2a3bb36926fec378ffd09 (patch) | |
| tree | cc0a6526c5e9aa6217e1188ad33e11dd5ab7159e /drivers/video/fbdev | |
| parent | b27c6968c653dc1ac825388a0b5e4251573f7ddc (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.c | 3 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 6 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_panel.h | 1 |
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 { |
