msm: cvp: Fix dynamic clock voting

Prevent dcvs voting below the current aggregated clock.

Change-Id: Ie3ea259521a7b241cdef40a049563f054b089687
Signed-off-by: Ronald Karyodisa <ronaldk@codeaurora.org>
Dieser Commit ist enthalten in:
Ronald Karyodisa
2021-08-19 14:13:08 -07:00
Ursprung 5df7e14528
Commit 27132cb626
2 geänderte Dateien mit 10 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -333,6 +333,14 @@ static int cvp_readjust_clock(struct msm_cvp_core *core,
lo_freq = tbl[j-1].clock_rate;
}
if (core->orig_core_sum > core->curr_freq) {
dprintk(CVP_PWR,
"%s - %d - Cancel readjust, core %u, freq %u\n",
__func__, i, core->orig_core_sum, core->curr_freq);
core->curr_freq = tmp;
return rc;
}
dprintk(CVP_PWR,
"%s:%d - %d - Readjust to %u\n",
__func__, __LINE__, i, core->curr_freq);
@@ -957,6 +965,7 @@ static int adjust_bw_freqs(void)
tmp = core->curr_freq;
core->curr_freq = core_sum;
core->orig_core_sum = core_sum;
rc = msm_cvp_set_clocks(core);
if (rc) {
dprintk(CVP_ERR,

Datei anzeigen

@@ -358,6 +358,7 @@ struct msm_cvp_core {
u32 ssr_count;
bool trigger_ssr;
unsigned long curr_freq;
unsigned long orig_core_sum;
struct cvp_cycle_info dyn_clk;
atomic64_t kernel_trans_id;
struct cvp_debug_log log;