diff options
| author | Raviteja Tamatam <travitej@codeaurora.org> | 2016-05-25 15:48:54 +0530 |
|---|---|---|
| committer | Harsh Sahu <hsahu@codeaurora.org> | 2016-11-11 12:19:01 -0800 |
| commit | 25a3708f14eb16245d2ee2e54b69ac9624e700ce (patch) | |
| tree | dfc4f7562a5b106dfaf6e5a43bbf2a20705d82c0 /drivers/video | |
| parent | 66221ce8c2a8ef0134ad4daa0a0f3f581b0ed5ad (diff) | |
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>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_fb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c index 08e06c75522a..ba9c0b8e3f50 100644 --- a/drivers/video/fbdev/msm/mdss_fb.c +++ b/drivers/video/fbdev/msm/mdss_fb.c @@ -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); /* |
