All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: stanimir.varbanov@linaro.org, agross@kernel.org,
	bjorn.andersson@linaro.org, mchehab@kernel.org,
	linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org
Cc: bryan.odonoghue@linaro.org, dikshita@codeaurora.org,
	jonathan@marek.ca, vgarodia@codeaurora.org
Subject: [PATCH v3 17/25] media: venus: core,pm: Vote for min clk freq during venus boot
Date: Fri,  2 Apr 2021 11:06:40 +0100	[thread overview]
Message-ID: <20210402100648.1815854-18-bryan.odonoghue@linaro.org> (raw)
In-Reply-To: <20210402100648.1815854-1-bryan.odonoghue@linaro.org>

From: Dikshita Agarwal <dikshita@codeaurora.org>

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>
Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
---
 drivers/media/platform/qcom/venus/pm_helpers.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c b/drivers/media/platform/qcom/venus/pm_helpers.c
index a23e490b6139..a91dc24de2a4 100644
--- a/drivers/media/platform/qcom/venus/pm_helpers.c
+++ b/drivers/media/platform/qcom/venus/pm_helpers.c
@@ -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;
-- 
2.30.1


  parent reply	other threads:[~2021-04-02 10:05 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-02 10:06 [PATCH v3 00/25] media: venus: Enable 6xx support Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 01/25] media: venus: Update v6 buffer descriptors Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 02/25] media: venus: core,pm: Add handling for resets Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 03/25] media: venus: core: add sm8250 DT compatible and resource data Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 04/25] media: venus: core: Add io base variables for each block Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 05/25] media: venus: hfi,pm,firmware: Convert to block relative addressing Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 06/25] media: venus: hfi: Define block offsets for V6 hardware Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 07/25] media: venus: hfi: Define additional 6xx registers Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 08/25] media: venus: core: Add differentiator IS_V6(core) Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 09/25] media: venus: core: Add an io base for TZ wrapper regs Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 10/25] media: venus: core: Add an io base for AON regs Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 11/25] media: venus: core: Hook to V6 base registers when appropriate Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 12/25] media: venus: hfi: Add a 6xx boot logic Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 13/25] media: venus: hfi: Add 6xx interrupt support Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 14/25] media: venus: hfi: Read WRAPPER_TZ_CPU_STATUS_V6 on 6xx Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 15/25] media: venus: hfi, vdec: v6 Add IS_V6() to existing IS_V4() if locations Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 16/25] media: venus: pm: Hook 6xx pm ops into 4xx pm ops Bryan O'Donoghue
2021-04-02 10:06 ` Bryan O'Donoghue [this message]
2021-04-02 10:06 ` [PATCH v3 18/25] media: venus: hfi: Add 6xx AXI halt logic Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 19/25] media: venus: pm: Toggle 6xx wrapper power in vcodec_control Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 20/25] media: venus: firmware: Do not toggle WRAPPER_A9SS_SW_RESET on 6xx Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 21/25] media: venus: helpers: Add internal buffer list for v6 Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 22/25] media: venus: helpers, hfi, vdec: Set actual plane constraints to FW Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 23/25] media: venus: hfi: Increase plat_buf_v6 o/p buffer count Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 24/25] media: venus: helper: Decide work mode Bryan O'Donoghue
2021-04-02 10:06 ` [PATCH v3 25/25] media: venus: vdec: Fix decoder cmd STOP issue Bryan O'Donoghue
2021-05-26 19:03 ` [PATCH v3 00/25] media: venus: Enable 6xx support patchwork-bot+linux-arm-msm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210402100648.1815854-18-bryan.odonoghue@linaro.org \
    --to=bryan.odonoghue@linaro.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=dikshita@codeaurora.org \
    --cc=jonathan@marek.ca \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=stanimir.varbanov@linaro.org \
    --cc=vgarodia@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.