msm_fb: display: perform backlight updates on overlay play
Perform pending backlight requests on overlay play to handle cases in which framebuffer updates are not happening to update backlight. Change-Id: I97a39c8fc9405f308ed684041b171bccc917154d Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
This commit is contained in:
committed by
Linux Build Service Account
parent
7756577620
commit
da2f3cc000
@@ -2556,6 +2556,7 @@ static int msmfb_overlay_play(struct fb_info *info, unsigned long *argp)
|
||||
int ret;
|
||||
struct msmfb_overlay_data req;
|
||||
struct msm_fb_data_type *mfd = (struct msm_fb_data_type *)info->par;
|
||||
struct msm_fb_panel_data *pdata;
|
||||
|
||||
if (mfd->overlay_play_enable == 0) /* nothing to do */
|
||||
return 0;
|
||||
@@ -2579,6 +2580,19 @@ static int msmfb_overlay_play(struct fb_info *info, unsigned long *argp)
|
||||
|
||||
ret = mdp4_overlay_play(info, &req);
|
||||
|
||||
if (unset_bl_level && !bl_updated) {
|
||||
pdata = (struct msm_fb_panel_data *)mfd->pdev->
|
||||
dev.platform_data;
|
||||
if ((pdata) && (pdata->set_backlight)) {
|
||||
down(&mfd->sem);
|
||||
mfd->bl_level = unset_bl_level;
|
||||
pdata->set_backlight(mfd);
|
||||
bl_level_old = unset_bl_level;
|
||||
up(&mfd->sem);
|
||||
}
|
||||
bl_updated = 1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user