Преглед изворни кода

Merge "disp: msm: sde: fix qos perf for 90Hz panel"

qctecmdr пре 5 година
родитељ
комит
c75b0eb0a0
2 измењених фајлова са 8 додато и 10 уклоњено
  1. 4 5
      msm/sde/sde_encoder_phys_wb.c
  2. 4 5
      msm/sde/sde_plane.c

+ 4 - 5
msm/sde/sde_encoder_phys_wb.c

@@ -168,12 +168,11 @@ static void sde_encoder_phys_wb_set_qos(struct sde_encoder_phys *phys_enc)
 
 	hw_wb = wb_enc->hw_wb;
 	qos_count = perf->qos_refresh_count;
-	while (qos_count && perf->qos_refresh_rate) {
-		if (frame_rate >= perf->qos_refresh_rate[qos_count - 1]) {
-			fps_index = qos_count - 1;
+	while ((fps_index < qos_count) && perf->qos_refresh_rate) {
+		if ((frame_rate <= perf->qos_refresh_rate[fps_index]) ||
+				(fps_index == qos_count - 1))
 			break;
-		}
-		qos_count--;
+		fps_index++;
 	}
 
 	qos_cfg.danger_safe_en = true;

+ 4 - 5
msm/sde/sde_plane.c

@@ -290,12 +290,11 @@ static void _sde_plane_set_qos_lut(struct drm_plane *plane,
 	frame_rate = crtc->mode.vrefresh;
 	perf = &psde->catalog->perf;
 	qos_count = perf->qos_refresh_count;
-	while (qos_count && perf->qos_refresh_rate) {
-		if (frame_rate >= perf->qos_refresh_rate[qos_count - 1]) {
-			fps_index = qos_count - 1;
+	while ((fps_index < qos_count) && perf->qos_refresh_rate) {
+		if ((frame_rate <= perf->qos_refresh_rate[fps_index]) ||
+				(fps_index == qos_count - 1))
 			break;
-		}
-		qos_count--;
+		fps_index++;
 	}
 
 	if (!psde->is_rt_pipe) {