Răsfoiți Sursa

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 ani în urmă
părinte
comite
5bf05a7302
2 a modificat fișierele cu 5 adăugiri și 0 ștergeri
  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;
 }