浏览代码

disp: msm: sde: fix bandwidth voting in resume usecase

This change resets the bandwidth vote after lastclose is called
and all the custom properties are reset. This is required so that
on next power commit when user space driver does not apply any
bandwidth vote, driver applies correct vote. Additionally this
change ensures that aggregate bandwidth vote never exceeds the
max threshold.

Change-Id: I95ca761b381709850b630ecd6647b45968a5041e
Signed-off-by: Abhijit Kulkarni <[email protected]>
Abhijit Kulkarni 5 年之前
父节点
当前提交
5bf05a7302
共有 2 个文件被更改,包括 5 次插入0 次删除
  1. 2 0
      msm/sde/sde_core_perf.c
  2. 3 0
      msm/sde/sde_crtc.c

+ 2 - 0
msm/sde/sde_core_perf.c

@@ -666,6 +666,8 @@ static void _sde_core_perf_crtc_update_bus(struct sde_kms *kms,
 	}
 
 	bus_ab_quota = max(bw_sum_of_intfs, kms->perf.perf_tune.min_bus_vote);
+	bus_ab_quota = min(bus_ab_quota,
+			kms->catalog->perf.max_bw_high*1000ULL);
 	bus_ib_quota = perf.max_per_pipe_ib[bus_id];
 
 	if (kms->perf.perf_tune.mode == SDE_PERF_MODE_FIXED) {

+ 3 - 0
msm/sde/sde_crtc.c

@@ -5573,6 +5573,9 @@ int sde_crtc_helper_reset_custom_properties(struct drm_crtc *crtc,
 		}
 	}
 
+	/* disable clk and bw control until clk & bw properties are set */
+	cstate->bw_control = false;
+	cstate->bw_split_vote = false;
 	return 0;
 }