diff options
| author | Ping Li <pingli@codeaurora.org> | 2015-02-19 12:19:27 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:38:18 -0700 |
| commit | 0fa49a06e4ea27060024ef0d8dfa916923899b37 (patch) | |
| tree | 09d112d91ba418f2e0d01a0186cf132b3b8a6cc9 | |
| parent | 19ac09fff8b7fff101d82eb8a8cb06e3c3cfdf33 (diff) | |
msm: mdss: Notify AD only when brightness changes
Previously, any backlight change to panel will trigger assertive
display (AD) feature to conduct screen refresh calls. This will
trigger unnecessary screen refresh if AD is enabled together with
CABL feature. This change modifies the backlight notification
mechanism to notify AD only when the Android brightness level
is changed.
Change-Id: I5647269b9651d3a17d896e4047f01b7a244581a4
Signed-off-by: Ping Li <pingli@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c index a9e0152cb206..63e7fab10a72 100644 --- a/drivers/video/fbdev/msm/mdss_fb.c +++ b/drivers/video/fbdev/msm/mdss_fb.c @@ -1062,7 +1062,6 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl) struct mdss_panel_data *pdata; u32 temp = bkl_lvl, ad_bl; int ret = -EINVAL; - bool bl_notify_needed = false; if ((((mdss_fb_is_power_off(mfd) && mfd->dcm_state != DCM_ENTER) || !mfd->bl_updated) && !IS_CALIB_MODE_BL(mfd)) || @@ -1085,7 +1084,7 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl) mfd->mdp.ad_invalidate_input) { mfd->ad_bl_level = ad_bl; (*mfd->mdp.ad_invalidate_input)(mfd); - bl_notify_needed = true; + mdss_fb_bl_update_notify(mfd); } } if (!IS_CALIB_MODE_BL(mfd)) @@ -1105,10 +1104,7 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl) pdata->set_backlight(pdata, temp); mfd->bl_level = bkl_lvl; mfd->bl_level_scaled = temp; - bl_notify_needed = true; } - if (bl_notify_needed) - mdss_fb_bl_update_notify(mfd); } } @@ -1137,12 +1133,12 @@ void mdss_fb_update_backlight(struct msm_fb_data_type *mfd) mfd->mdp.ad_invalidate_input) { mfd->ad_bl_level = ad_bl; (*mfd->mdp.ad_invalidate_input)(mfd); + mdss_fb_bl_update_notify(mfd); } } pdata->set_backlight(pdata, temp); mfd->bl_level_scaled = mfd->unset_bl_level; mfd->bl_updated = 1; - mdss_fb_bl_update_notify(mfd); } } mutex_unlock(&mfd->bl_lock); |
