Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28b9c35b authored by Ping Li's avatar Ping Li Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarPing Li <pingli@codeaurora.org>
parent 22af09b7
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1093,7 +1093,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)) ||
@@ -1116,7 +1115,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))
@@ -1136,10 +1135,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);
	}
}

@@ -1168,12 +1164,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);