Skip to content

Commit

Permalink
media: venus: core,pm: Vote for min clk freq during venus boot
Browse files Browse the repository at this point in the history
Vote for min clk frequency for core clks during prepare and enable clocks
at boot sequence. Without this the controller clock runs at very low value
(9.6MHz) which is not sufficient to boot venus.

Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
  • Loading branch information
Dikshita Agarwal authored and Mauro Carvalho Chehab committed Apr 6, 2021
1 parent f24afa9 commit c22b1a2
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions drivers/media/platform/qcom/venus/pm_helpers.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,24 @@ static int core_clks_get(struct venus_core *core)
static int core_clks_enable(struct venus_core *core)
{
const struct venus_resources *res = core->res;
const struct freq_tbl *freq_tbl = core->res->freq_tbl;
unsigned int freq_tbl_size = core->res->freq_tbl_size;
unsigned long freq;
unsigned int i;
int ret;

if (!freq_tbl)
return -EINVAL;

freq = freq_tbl[freq_tbl_size - 1].freq;

for (i = 0; i < res->clks_num; i++) {
if (IS_V6(core)) {
ret = clk_set_rate(core->clks[i], freq);
if (ret)
goto err;
}

ret = clk_prepare_enable(core->clks[i]);
if (ret)
goto err;
Expand Down

0 comments on commit c22b1a2

Please sign in to comment.