ソースを参照

disp: msm: sde: allow uidle setup when requested

The UIDLE s/w maintains few state variables based
on which ctl & debug counter hw setup is skipped
few times. Skipping this during idle-pc restore
leads to UIDLE not setup correctly. Fix the state
checks to allow programming the HW.

Change-Id: Ie4be207ebaa4bd1eaebc63b3548837ef611efde7
Signed-off-by: Veera Sundaram Sankaran <[email protected]>
Veera Sundaram Sankaran 6 年 前
コミット
cc03c74617
1 ファイル変更1 行追加10 行削除
  1. 1 10
      msm/sde/sde_core_perf.c

+ 1 - 10
msm/sde/sde_core_perf.c

@@ -441,14 +441,6 @@ static int _sde_core_perf_enable_uidle(struct sde_kms *kms,
 		goto exit;
 	}
 
-	/* if no status change, just return */
-	if ((enable && kms->perf.uidle_enabled) ||
-		(!enable && !kms->perf.uidle_enabled)) {
-		SDE_DEBUG("no status change enable:%d uidle:%d\n",
-			enable, kms->perf.uidle_enabled);
-		goto exit;
-	}
-
 	SDE_EVT32(enable);
 	_sde_core_uidle_setup_wd(kms, enable);
 	_sde_core_uidle_setup_cfg(kms, enable);
@@ -495,8 +487,7 @@ static void _sde_core_perf_uidle_setup_cntr(struct sde_kms *sde_kms,
 	uidle = sde_kms->hw_uidle;
 
 	SDE_EVT32(enable);
-	if (uidle->ops.uidle_setup_cntr && (enable !=
-			sde_kms->catalog->uidle_cfg.perf_cntr_en)) {
+	if (uidle->ops.uidle_setup_cntr) {
 		uidle->ops.uidle_setup_cntr(uidle, enable);
 		sde_kms->catalog->uidle_cfg.perf_cntr_en = enable;
 	}