All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Maxime Ripard <mripard@kernel.org>,
	Stephen Boyd <sboyd@kernel.org>,
	Brian Masney <bmasney@redhat.com>,
	Brian Masney <bmasney@redhat.com>
Cc: linux-clk@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH] pmdomain: mediatek: convert from clk round_rate() to determine_rate()
Date: Mon, 10 Nov 2025 11:49:17 +0100	[thread overview]
Message-ID: <9531607.CDJkKcVGEf@workhorse> (raw)
In-Reply-To: <20251106-clk-pmdomain-mediatek-round-rate-v1-1-49441ea27f84@redhat.com>

On Friday, 7 November 2025 00:40:43 Central European Standard Time Brian Masney wrote:
> The round_rate() clk ops is deprecated in the clk framework in favor
> of the determine_rate() clk ops, so let's convert this driver so that
> round_rate() can be removed from the clk core.
> 
> Signed-off-by: Brian Masney <bmasney@redhat.com>
> ---
>  drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c b/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
> index af20111067c02a5f9a0d6d751e9e0dc32c1a4d90..9bad577b3ae4bf1b83d4f782bb52f56f779a8974 100644
> --- a/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
> +++ b/drivers/pmdomain/mediatek/mtk-mfg-pmdomain.c
> @@ -309,11 +309,11 @@ static unsigned long mtk_mfg_recalc_rate_gpu(struct clk_hw *hw,
>  	return readl(mfg->shared_mem + GF_REG_FREQ_OUT_GPU) * HZ_PER_KHZ;
>  }
>  
> -static long mtk_mfg_round_rate(struct clk_hw *hw, unsigned long rate,
> -			       unsigned long *parent_rate)
> +static int mtk_mfg_determine_rate(struct clk_hw *hw,
> +				  struct clk_rate_request *req)
>  {
>  	/*
> -	 * The round_rate callback needs to be implemented to avoid returning
> +	 * The determine_rate callback needs to be implemented to avoid returning
>  	 * the current clock frequency, rather than something even remotely
>  	 * close to the frequency that was asked for.
>  	 *
> @@ -325,7 +325,7 @@ static long mtk_mfg_round_rate(struct clk_hw *hw, unsigned long rate,
>  	 * high current frequency, breaking the powersave governor in the process.
>  	 */
>  
> -	return rate;
> +	return 0;
>  }
>  
>  static unsigned long mtk_mfg_recalc_rate_stack(struct clk_hw *hw,
> @@ -338,12 +338,12 @@ static unsigned long mtk_mfg_recalc_rate_stack(struct clk_hw *hw,
>  
>  static const struct clk_ops mtk_mfg_clk_gpu_ops = {
>  	.recalc_rate = mtk_mfg_recalc_rate_gpu,
> -	.round_rate = mtk_mfg_round_rate,
> +	.determine_rate = mtk_mfg_determine_rate,
>  };
>  
>  static const struct clk_ops mtk_mfg_clk_stack_ops = {
>  	.recalc_rate = mtk_mfg_recalc_rate_stack,
> -	.round_rate = mtk_mfg_round_rate,
> +	.determine_rate = mtk_mfg_determine_rate,
>  };
>  
>  static const struct clk_init_data mtk_mfg_clk_gpu_init = {
> 
> ---
> base-commit: df5d79720b152e7ff058f11ed7e88d5b5c8d2a0c
> change-id: 20251106-clk-pmdomain-mediatek-round-rate-649a9bf7d30a
> 
> Best regards,
> 

Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>

I didn't test boot this, but it should be fine, as I've checked
and all the places where the clk core checks for round_rate, it
also checks for determine_rate. So this is likely correct.

I've also made sure the adjusted op implementation is correct,
in that simply returning 0 leaves the requested rate as-is and
preserves the existing behaviour.

Kind regards,
Nicolas Frattaroli




  reply	other threads:[~2025-11-10 10:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-06 23:40 [PATCH] pmdomain: mediatek: convert from clk round_rate() to determine_rate() Brian Masney
2025-11-10 10:49 ` Nicolas Frattaroli [this message]
2025-11-10 12:23 ` Ulf Hansson

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=9531607.CDJkKcVGEf@workhorse \
    --to=nicolas.frattaroli@collabora.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bmasney@redhat.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mripard@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=ulf.hansson@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 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.