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

Commit cc2176c1 authored by Ping Li's avatar Ping Li
Browse files

msm:mdss: Fix the issue with AD resume



AD is not configured correctly on dual DSI devices during
suspend/resume. The AD configuration data from user space are
only copied to the master AD configuration structure, and the AD
configuration structure attached to the right mixer (slave AD structure)
is never filled. So in the resume function, we cannot use the AD
configuration data from the slave AD configuration. Use the one
from the master structure instead.

Change-Id: I04cf3c467c2614420e01f9177f564eec7ce7bb23
Signed-off-by: default avatarPing Li <quicpingli@codeaurora.org>
parent 6f1c4b95
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1758,7 +1758,7 @@ exit:
 */
int mdss_mdp_pp_resume(struct mdss_mdp_ctl *ctl, u32 dspp_num)
{
	u32 flags = 0, disp_num, bl;
	u32 flags = 0, disp_num, bl, ret = 0;
	struct pp_sts_type pp_sts;
	struct mdss_ad_info *ad;
	struct mdss_data_type *mdata = ctl->mdata;
@@ -1773,7 +1773,9 @@ int mdss_mdp_pp_resume(struct mdss_mdp_ctl *ctl, u32 dspp_num)
	disp_num = ctl->mfd->index;

	if (dspp_num < mdata->nad_cfgs) {
		ad = &mdata->ad_cfgs[dspp_num];
		ret = mdss_mdp_get_ad(ctl->mfd, &ad);
		if (ret)
			return ret;

		if (PP_AD_STATE_CFG & ad->state)
			pp_ad_cfg_write(&mdata->ad_off[dspp_num], ad);