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:
@@ -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,
|
||||
|
@@ -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;
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren