From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: Maxime Ripard <mripard@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
Samuel Holland <samuel@sholland.org>,
Andre Przywara <andre.przywara@arm.com>,
Roman Beranek <me@crly.cz>, Frank Oltmanns <frank@oltmanns.dev>
Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org,
Frank Oltmanns <frank@oltmanns.dev>
Subject: Re: [PATCH v5 05/11] clk: sunxi-ng: Add helper function to find closest rate
Date: Sun, 06 Aug 2023 15:41:48 +0200 [thread overview]
Message-ID: <8292789.NyiUUSuA9g@jernej-laptop> (raw)
In-Reply-To: <20230806-pll-mipi_set_rate_parent-v5-5-db4f5ca33fc3@oltmanns.dev>
Dne nedelja, 06. avgust 2023 ob 15:06:50 CEST je Frank Oltmanns napisal(a):
> The default behaviour of clocks in the sunxi-ng driver is to select a
> clock rate that is closest to but less than the requested rate.
>
> Add the ccu_is_better_rate() helper function that - depending on the
> fact if thc CCU_FEATURE_CLOSEST_RATE flag is set - decides if a rate is
> closer than another rate.
>
> Acked-by: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Frank Oltmanns <frank@oltmanns.dev>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
> ---
> drivers/clk/sunxi-ng/ccu_common.c | 12 ++++++++++++
> drivers/clk/sunxi-ng/ccu_common.h | 5 +++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/drivers/clk/sunxi-ng/ccu_common.c
> b/drivers/clk/sunxi-ng/ccu_common.c index 8d28a7a079d0..8babce55302f 100644
> --- a/drivers/clk/sunxi-ng/ccu_common.c
> +++ b/drivers/clk/sunxi-ng/ccu_common.c
> @@ -39,6 +39,18 @@ void ccu_helper_wait_for_lock(struct ccu_common *common,
> u32 lock) }
> EXPORT_SYMBOL_NS_GPL(ccu_helper_wait_for_lock, SUNXI_CCU);
>
> +bool ccu_is_better_rate(struct ccu_common *common,
> + unsigned long target_rate,
> + unsigned long current_rate,
> + unsigned long best_rate)
> +{
> + if (common->features & CCU_FEATURE_CLOSEST_RATE)
> + return abs(current_rate - target_rate) < abs(best_rate -
target_rate);
> +
> + return current_rate <= target_rate && current_rate > best_rate;
> +}
> +EXPORT_SYMBOL_NS_GPL(ccu_is_better_rate, SUNXI_CCU);
> +
> /*
> * This clock notifier is called when the frequency of a PLL clock is
> * changed. In common PLL designs, changes to the dividers take effect
> diff --git a/drivers/clk/sunxi-ng/ccu_common.h
> b/drivers/clk/sunxi-ng/ccu_common.h index 5ad219f041d5..942a72c09437 100644
> --- a/drivers/clk/sunxi-ng/ccu_common.h
> +++ b/drivers/clk/sunxi-ng/ccu_common.h
> @@ -53,6 +53,11 @@ struct sunxi_ccu_desc {
>
> void ccu_helper_wait_for_lock(struct ccu_common *common, u32 lock);
>
> +bool ccu_is_better_rate(struct ccu_common *common,
> + unsigned long target_rate,
> + unsigned long current_rate,
> + unsigned long best_rate);
> +
> struct ccu_pll_nb {
> struct notifier_block clk_nb;
> struct ccu_common *common;
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-08-06 13:42 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-06 13:06 [PATCH v5 00/11] clk: sunxi-ng: Consider alternative parent rates when determining NKM clock rate Frank Oltmanns
2023-08-06 13:06 ` [PATCH v5 01/11] clk: sunxi-ng: nkm: Use correct parameter name for parent HW Frank Oltmanns
2023-08-06 13:31 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 02/11] clk: sunxi-ng: nkm: consider alternative parent rates when determining rate Frank Oltmanns
2023-08-06 13:32 ` Jernej Škrabec
2023-08-06 13:57 ` Frank Oltmanns
2023-08-06 13:06 ` [PATCH v5 03/11] clk: sunxi-ng: a64: allow pll-mipi to set parent's rate Frank Oltmanns
2023-08-06 13:32 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 04/11] clk: sunxi-ng: Add feature to find closest rate Frank Oltmanns
2023-08-06 13:33 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 05/11] clk: sunxi-ng: Add helper function " Frank Oltmanns
2023-08-06 13:41 ` Jernej Škrabec [this message]
2023-08-06 13:06 ` [PATCH v5 06/11] clk: sunxi-ng: nm: Support finding " Frank Oltmanns
2023-08-06 13:42 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 07/11] clk: sunxi-ng: nkm: " Frank Oltmanns
2023-08-06 13:42 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 08/11] clk: sunxi-ng: mux: " Frank Oltmanns
2023-08-06 13:42 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 09/11] clk: sunxi-ng: div: " Frank Oltmanns
2023-08-06 13:42 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 10/11] clk: sunxi-ng: a64: select closest rate for pll-video0 Frank Oltmanns
2023-08-06 13:48 ` Jernej Škrabec
2023-08-06 13:06 ` [PATCH v5 11/11] clk: sunxi-ng: nkm: Prefer current parent rate Frank Oltmanns
2023-08-06 13:43 ` Jernej Škrabec
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=8292789.NyiUUSuA9g@jernej-laptop \
--to=jernej.skrabec@gmail.com \
--cc=andre.przywara@arm.com \
--cc=frank@oltmanns.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=me@crly.cz \
--cc=mripard@kernel.org \
--cc=mturquette@baylibre.com \
--cc=samuel@sholland.org \
--cc=sboyd@kernel.org \
--cc=wens@csie.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