msm: mdss: Handle backlight level 0 at bootup
Current implementation does not allow backlight value of zero to be applied at update backlight function called at commit. unset_bl_level variable uses 0 value for comparision to exit at update backlight function and hence cannot be used to set zero level. This variable is now changed to use uint32 max value other than zero value for comparision to take early exit. Change-Id: If257fefed14455624edf6daaee933712df545117 Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
This commit is contained in:
parent
66221ce8c2
commit
25a3708f14
1 changed files with 5 additions and 3 deletions
|
@ -1136,6 +1136,7 @@ static int mdss_fb_probe(struct platform_device *pdev)
|
|||
mfd->ad_bl_level = 0;
|
||||
mfd->fb_imgType = MDP_RGBA_8888;
|
||||
mfd->calib_mode_bl = 0;
|
||||
mfd->unset_bl_level = U32_MAX;
|
||||
|
||||
mfd->pdev = pdev;
|
||||
|
||||
|
@ -1551,7 +1552,7 @@ void mdss_fb_set_backlight(struct msm_fb_data_type *mfd, u32 bkl_lvl)
|
|||
} else if (mdss_fb_is_power_on(mfd) && mfd->panel_info->panel_dead) {
|
||||
mfd->unset_bl_level = mfd->bl_level;
|
||||
} else {
|
||||
mfd->unset_bl_level = 0;
|
||||
mfd->unset_bl_level = U32_MAX;
|
||||
}
|
||||
|
||||
pdata = dev_get_platdata(&mfd->pdev->dev);
|
||||
|
@ -1595,7 +1596,7 @@ void mdss_fb_update_backlight(struct msm_fb_data_type *mfd)
|
|||
u32 temp;
|
||||
bool bl_notify = false;
|
||||
|
||||
if (!mfd->unset_bl_level)
|
||||
if (mfd->unset_bl_level == U32_MAX)
|
||||
return;
|
||||
mutex_lock(&mfd->bl_lock);
|
||||
if (!mfd->allow_bl_update) {
|
||||
|
@ -1806,7 +1807,8 @@ static int mdss_fb_blank_unblank(struct msm_fb_data_type *mfd)
|
|||
*/
|
||||
if (IS_CALIB_MODE_BL(mfd))
|
||||
mdss_fb_set_backlight(mfd, mfd->calib_mode_bl);
|
||||
else if (!mfd->panel_info->mipi.post_init_delay)
|
||||
else if ((!mfd->panel_info->mipi.post_init_delay) &&
|
||||
(mfd->unset_bl_level != U32_MAX))
|
||||
mdss_fb_set_backlight(mfd, mfd->unset_bl_level);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue