From: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Cc: Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Manivannan Sadhasivam <mani@kernel.org>,
"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Ulf Hansson <ulfh@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neeraj Soni <neeraj.soni@oss.qualcomm.com>,
Harshal Dev <harshal.dev@oss.qualcomm.com>,
Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v11 1/6] soc: qcom: ice: Add OPP-based clock scaling support for ICE
Date: Fri, 21 Aug 2026 16:17:05 +0530 [thread overview]
Message-ID: <aogsqRRgc0is5wBj@hu-arakshit-hyd.qualcomm.com> (raw)
In-Reply-To: <cc8678f2-49ab-4754-8102-d567b94e52e9@oss.qualcomm.com>
On Mon, Jun 29, 2026 at 01:08:08PM +0200, Konrad Dybcio wrote:
> On 6/22/26 9:34 AM, Abhinaba Rakshit wrote:
> > On Thu, Jun 18, 2026 at 03:01:54PM +0200, Konrad Dybcio wrote:
> >> On 6/8/26 11:47 PM, Abhinaba Rakshit wrote:
> >>> Register optional operation-points-v2 table for ICE device
> >>> during device probe. Attach the OPP-table with only the ICE
> >>> core clock. Since, dtbinding is on a transition phase to include
> >>> iface clock and clock-names, attaching the opp-table to core clock
> >>> remains optional such that it does not cause probe failures.
> >>>
> >>> Introduce clock scaling API qcom_ice_scale_clk which scale ICE
> >>> core clock based on the target frequency provided and if a valid
> >>> OPP-table is registered. Use round_ceil passed to decide on the
> >>> rounding of the clock freq against OPP-table. Clock scaling is
> >>> disabled when a valid OPP-table is not registered.
> >>>
> >>> This ensures when an ICE-device specific OPP table is available,
> >>> use the PM OPP framework to manage frequency scaling and maintain
> >>> proper power-domain constraints.
> >>>
> >>> Also, ensure to drop the votes in suspend to prevent power/thermal
> >>> retention. Subsequently restore the frequency in resume from
> >>> core_clk_freq which stores the last ICE core clock operating frequency.
> >>>
> >>> Reviewed-by: Harshal Dev <harshal.dev@oss.qualcomm.com>
> >>> Signed-off-by: Abhinaba Rakshit <abhinaba.rakshit@oss.qualcomm.com>
> >>> ---
> >>
> >> [...]
> >>
> >>> @@ -335,6 +342,11 @@ int qcom_ice_suspend(struct qcom_ice *ice)
> >>> {
> >>> clk_disable_unprepare(ice->iface_clk);
> >>> clk_disable_unprepare(ice->core_clk);
> >>> +
> >>> + /* Drop the clock votes while suspend */
> >>> + if (ice->has_opp)
> >>> + dev_pm_opp_set_rate(ice->dev, 0);
> >>
> >> The PM core will quiesce the vote as the device suspends, this is
> >> unnecessary. Similarly, the rate restore logic will become unnecessary.
> >> Especially since dev_pm_opp_set_rate(0) does not actually do any rate
> >> setting.
> >
> > This section was earlier discussed in the patchset v4:
> > https://lore.kernel.org/all/7b219a50-6971-4a0c-a465-418f8abd5556@oss.qualcomm.com/
> > The intention here was to drop the RPMh votes once the device goes to suspend same
> > as the storage drivers such as mmc drivers does:
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/mmc/host/sdhci-msm.c#n2946
> > This was done to leave the hanging votes *on* for unused clocks.
> >
> > However, I get your point, due to mean to say that once device goes to suspend
> > and GDSC power-domain will be turned OFF, it will automatically quiesce the
> > performance votes?
>
> When the device's runtime state goes to 'suspended', all votes are
> dropped (which then propagates up the power domain tree, effectively
> lowering the vote which passes through the GDSC to the parent CX domain)
>
> i.e. "yes"
>
Ack, will drop this in next patchseries.
Abhinaba Rakshit
next prev parent reply other threads:[~2026-08-21 10:47 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-08 21:47 [PATCH v11 0/6] Enable ICE clock scaling Abhinaba Rakshit
2026-06-08 21:47 ` [PATCH v11 1/6] soc: qcom: ice: Add OPP-based clock scaling support for ICE Abhinaba Rakshit
2026-06-10 10:40 ` Manivannan Sadhasivam
2026-06-11 10:13 ` Abhinaba Rakshit
2026-06-18 13:01 ` Konrad Dybcio
2026-06-22 7:34 ` Abhinaba Rakshit
2026-06-29 11:08 ` Konrad Dybcio
2026-08-21 10:47 ` Abhinaba Rakshit [this message]
2026-06-08 21:47 ` [PATCH v11 2/6] ufs: host: Add ICE clock scaling during UFS clock changes Abhinaba Rakshit
2026-06-08 21:57 ` Martin K. Petersen
2026-06-08 21:47 ` [PATCH v11 3/6] mmc: sdhci-msm: Set ICE clk to TURBO at sdhci ICE init Abhinaba Rakshit
2026-06-18 12:59 ` Konrad Dybcio
2026-06-22 7:54 ` Abhinaba Rakshit
2026-06-08 21:47 ` [PATCH v11 4/6] arm64: dts: qcom: kodiak: Add OPP-table for ICE UFS and ICE eMMC nodes Abhinaba Rakshit
2026-06-11 12:12 ` Kuldeep Singh
2026-06-15 8:03 ` Abhinaba Rakshit
2026-06-15 10:42 ` Kuldeep Singh
2026-06-18 13:03 ` Konrad Dybcio
2026-06-08 21:47 ` [PATCH v11 5/6] arm64: dts: qcom: monaco: " Abhinaba Rakshit
2026-06-11 12:20 ` Kuldeep Singh
2026-06-18 13:04 ` Konrad Dybcio
2026-06-22 7:38 ` Abhinaba Rakshit
2026-06-26 14:28 ` Konrad Dybcio
2026-06-29 10:24 ` Kuldeep Singh
2026-06-29 11:51 ` Konrad Dybcio
2026-08-21 10:36 ` Abhinaba Rakshit
2026-06-08 21:47 ` [PATCH v11 6/6] arm64: dts: qcom: lemans: Add OPP-table for ICE UFS device node Abhinaba Rakshit
2026-06-11 12:23 ` Kuldeep Singh
2026-06-18 13:05 ` Konrad Dybcio
2026-08-21 10:46 ` Abhinaba Rakshit
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=aogsqRRgc0is5wBj@hu-arakshit-hyd.qualcomm.com \
--to=abhinaba.rakshit@oss.qualcomm.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=adrian.hunter@intel.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=harshal.dev@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuldeep.singh@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mani@kernel.org \
--cc=martin.petersen@oracle.com \
--cc=neeraj.soni@oss.qualcomm.com \
--cc=robh@kernel.org \
--cc=ulfh@kernel.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.