[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b19ff26f-7dc7-4022-aec7-49922ab521cf@quicinc.com>
Date: Thu, 4 Sep 2025 11:33:43 +0800
From: Renjiang Han <quic_renjiang@...cinc.com>
To: Bryan O'Donoghue <bryan.odonoghue@...aro.org>, <quic_qiweil@...cinc.com>,
<quic_wangaow@...cinc.com>, Vikash Garodia <quic_vgarodia@...cinc.com>,
Dikshita Agarwal <quic_dikshita@...cinc.com>,
Mauro Carvalho Chehab
<mchehab@...nel.org>
CC: <linux-media@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
Dmitry Baryshkov
<dmitry.baryshkov@....qualcomm.com>
Subject: Re: [PATCH v2] media: venus: pm_helpers: add fallback for the
opp-table
On 7/28/2025 11:20 PM, Bryan O'Donoghue wrote:
> On 24/07/2025 08:53, Renjiang Han wrote:
>> Since the device trees for both HFI_VERSION_1XX and HFI_VERSION_3XX
>> do not include an opp-table and have not configured opp-pmdomain, they
>> still need to use the frequencies defined in the driver's freq_tbl.
>>
>> Both core_power_v1 and core_power_v4 functions require core_clks_enable
>> function during POWER_ON. Therefore, in the core_clks_enable function,
>> if calling dev_pm_opp_find_freq_ceil to obtain the frequency fails,
>> it needs to fall back to the freq_tbl to retrieve the frequency.
>>
>> Fixes: b179234b5e59 ("media: venus: pm_helpers: use opp-table for the
>> frequency")
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
>> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
>> Signed-off-by: Renjiang Han <quic_renjiang@...cinc.com>
>> ---
>> Since device trees for both HFI_VERSION_1XX and HFI_VERSION_3XX do not
>> contain an opp-table and have not configured opp-pmdomain, they still
>> need to use the frequencies defined in the driver's freq_tbl.
>>
>> Therefore, if calling dev_pm_opp_find_freq_ceil to obtain the frequency
>> fails in the core_clks_enable, it needs to fall back to the freq_tbl to
>> retrieve the frequency.
>>
>> Validated this series on QCS615 and msm8916.
>> ---
>> Changes in v2:
>> - 1. Update the returned error value as per the feedback.
>> - Link to v1:
>> https://lore.kernel.org/r/20250723-fallback_of_opp_table-v1-1-20a6277fdded@quicinc.com
>> ---
>> drivers/media/platform/qcom/venus/pm_helpers.c | 11 ++++++++++-
>> 1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/qcom/venus/pm_helpers.c
>> b/drivers/media/platform/qcom/venus/pm_helpers.c
>> index
>> 8dd5a9b0d060cddfeafd4da477ade0c7aeb6c390..77c12273dbb9505244e260fc8fa635e4fe045236
>> 100644
>> --- a/drivers/media/platform/qcom/venus/pm_helpers.c
>> +++ b/drivers/media/platform/qcom/venus/pm_helpers.c
>> @@ -40,6 +40,8 @@ static int core_clks_get(struct venus_core *core)
>> static int core_clks_enable(struct venus_core *core)
>> {
>> + const struct freq_tbl *freq_tbl = core->res->freq_tbl;
>> + unsigned int freq_tbl_size = core->res->freq_tbl_size;
>> const struct venus_resources *res = core->res;
>> struct device *dev = core->dev;
>> unsigned long freq = 0;
>> @@ -48,7 +50,14 @@ static int core_clks_enable(struct venus_core *core)
>> int ret;
>> opp = dev_pm_opp_find_freq_ceil(dev, &freq);
>> - dev_pm_opp_put(opp);
>> + if (IS_ERR(opp)) {
>> + if (!freq_tbl)
>> + return -ENODEV;
>> + freq = freq_tbl[freq_tbl_size - 1].freq;
>> + } else {
>> + dev_pm_opp_put(opp);
>> + }
>> +
>> for (i = 0; i < res->clks_num; i++) {
>> if (IS_V6(core)) {
>>
>> ---
>> base-commit: d086c886ceb9f59dea6c3a9dae7eb89e780a20c9
>> change-id: 20250721-fallback_of_opp_table-4ea39376f617
>>
>> Best regards,
>
> Note to self add a
>
> Closes: CA+G9fYu5=3n84VY+vTbCAcfFKOq7Us5vgBZgpypY4MveM=eVwg@...l.gmail.com
Thanks for helping review this patch. But I'm sorry, may I ask how to
understand this comment?
This patch has not been picked yet.Is there anything else I need to do?
>
>
> ---
> bod
--
Best Regards,
Renjiang
Powered by blists - more mailing lists