From: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
To: Sasha Finkelstein <k@chaosmail.tech>,
Sven Peter <sven@kernel.org>, Janne Grunau <j@jannau.net>,
Neal Gompa <neal@gompa.dev>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>
Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
zhongqiu.han@oss.qualcomm.com
Subject: Re: [PATCH] cpufreq: apple-soc: Calculate frequency as a 64-bit value
Date: Mon, 6 Jul 2026 12:02:08 +0800 [thread overview]
Message-ID: <70ef1fd5-ec5f-40e2-b5fc-f8e1978bc87d@oss.qualcomm.com> (raw)
In-Reply-To: <20260703-cpufreq-64-v1-1-c406c705319a@chaosmail.tech>
On 7/4/2026 2:52 AM, Sasha Finkelstein wrote:
> The current frequency calculation is done in 32 bit, causing problems
> if run on a future SoC that can boost higher than 4.2GHz.
Hi Sasha,
>
> Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
> ---
> drivers/cpufreq/apple-soc-cpufreq.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/apple-soc-cpufreq.c b/drivers/cpufreq/apple-soc-cpufreq.c
> index 638e5bf72185..6a0f1d36578f 100644
> --- a/drivers/cpufreq/apple-soc-cpufreq.c
> +++ b/drivers/cpufreq/apple-soc-cpufreq.c
> @@ -288,7 +288,7 @@ static int apple_soc_cpufreq_init(struct cpufreq_policy *policy)
>
> /* Get OPP levels (p-state indexes) and stash them in driver_data */
> for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
> - unsigned long rate = freq_table[i].frequency * 1000 + 999;
> + unsigned long rate = freq_table[i].frequency * 1000UL + 999UL;
A couple of minor comments:
1. The `999UL` doesn't seem necessary, since the multiplication is
already carried out in `unsigned long` due to `1000UL`, and the
constant would be promoted automatically.
2. David's point about using `unsigned long` for frequencies is worth
considering. That said, the type here is effectively dictated by the
OPP API (`dev_pm_opp_find_freq_floor()` takes an `unsigned long *`),
and this driver already depends on 64BIT, so the proposed change seems
reasonable to me in practice.
> struct dev_pm_opp *opp = dev_pm_opp_find_freq_floor(cpu_dev, &rate);
>
> if (IS_ERR(opp)) {
>
> ---
> base-commit: 4a50a141f05a8d1737661b19ee22ff8455b94409
> change-id: 20260703-cpufreq-64-2a23d7261e09
>
> Best regards,
> --
> Sasha Finkelstein <k@chaosmail.tech>
>
>
--
Thx and BRs,
Zhongqiu Han
prev parent reply other threads:[~2026-07-06 4:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-03 18:52 [PATCH] cpufreq: apple-soc: Calculate frequency as a 64-bit value Sasha Finkelstein
2026-07-03 20:52 ` David Laight
2026-07-03 20:59 ` Sasha Finkelstein
2026-07-06 4:02 ` Zhongqiu Han [this message]
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=70ef1fd5-ec5f-40e2-b5fc-f8e1978bc87d@oss.qualcomm.com \
--to=zhongqiu.han@oss.qualcomm.com \
--cc=asahi@lists.linux.dev \
--cc=j@jannau.net \
--cc=k@chaosmail.tech \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=neal@gompa.dev \
--cc=rafael@kernel.org \
--cc=sven@kernel.org \
--cc=viresh.kumar@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox