浏览代码

Merge "disp: msm: update min prefill lines for sde rsc"

qctecmdr 6 年之前
父节点
当前提交
89b080516e
共有 1 个文件被更改,包括 8 次插入7 次删除
  1. 8 7
      msm/sde_rsc.c

+ 8 - 7
msm/sde_rsc.c

@@ -59,7 +59,6 @@
 #define PRIMARY_VBLANK_WORST_CASE_MS 34
 
 #define DEFAULT_PANEL_MIN_V_PREFILL	35
-#define DEFAULT_PANEL_MAX_V_PREFILL	108
 
 static struct sde_rsc_priv *rsc_prv_list[MAX_RSC_COUNT];
 static struct device *rpmh_dev[MAX_RSC_COUNT];
@@ -294,6 +293,7 @@ static u32 sde_rsc_timer_calculate(struct sde_rsc_priv *rsc,
 	u64 pdc_backoff_time_ns;
 	s64 total;
 	int ret = 0;
+	u32 default_prefill_lines;
 
 	if (cmd_config)
 		memcpy(&rsc->cmd_config, cmd_config, sizeof(*cmd_config));
@@ -307,12 +307,13 @@ static u32 sde_rsc_timer_calculate(struct sde_rsc_priv *rsc,
 		rsc->cmd_config.jitter_denom = DEFAULT_PANEL_JITTER_DENOMINATOR;
 	if (!rsc->cmd_config.vtotal)
 		rsc->cmd_config.vtotal = DEFAULT_PANEL_VTOTAL;
-	if (!rsc->cmd_config.prefill_lines)
-		rsc->cmd_config.prefill_lines = DEFAULT_PANEL_PREFILL_LINES;
-	if (rsc->cmd_config.prefill_lines > DEFAULT_PANEL_MAX_V_PREFILL)
-		rsc->cmd_config.prefill_lines = DEFAULT_PANEL_MAX_V_PREFILL;
-	if (rsc->cmd_config.prefill_lines < DEFAULT_PANEL_MIN_V_PREFILL)
-		rsc->cmd_config.prefill_lines = DEFAULT_PANEL_MIN_V_PREFILL;
+
+	default_prefill_lines = (rsc->cmd_config.fps *
+		DEFAULT_PANEL_MIN_V_PREFILL) / DEFAULT_PANEL_FPS;
+	if ((state == SDE_RSC_CMD_STATE) ||
+	    (rsc->cmd_config.prefill_lines < default_prefill_lines))
+		rsc->cmd_config.prefill_lines = default_prefill_lines;
+
 	pr_debug("frame fps:%d jitter_numer:%d jitter_denom:%d vtotal:%d prefill lines:%d\n",
 		rsc->cmd_config.fps, rsc->cmd_config.jitter_numer,
 		rsc->cmd_config.jitter_denom, rsc->cmd_config.vtotal,