devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: "irving.ch.lin" <irving-ch.lin@mediatek.com>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Richard Cochran <richardcochran@gmail.com>
Cc: Qiqi Wang <qiqi.wang@mediatek.com>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, linux-pm@vger.kernel.org,
	netdev@vger.kernel.org,
	Project_Global_Chrome_Upstream_Group@mediatek.com,
	sirius.wang@mediatek.com, vince-wl.liu@mediatek.com,
	jh.hsu@mediatek.com
Subject: Re: [PATCH v3 03/21] clk: mediatek: fix mfg mux issue
Date: Fri, 7 Nov 2025 10:34:12 +0100	[thread overview]
Message-ID: <5faabbd0-2e7b-46ec-8da0-7be24f2e888e@collabora.com> (raw)
In-Reply-To: <20251106124330.1145600-4-irving-ch.lin@mediatek.com>

Il 06/11/25 13:41, irving.ch.lin ha scritto:
> From: Irving-CH Lin <irving-ch.lin@mediatek.com>
> 
> MFG mux design is different for MTK SoCs,
> For MT8189, we need to enable parent first
> to garentee parent clock stable.
> 

Title:
clk: mediatek: clk-mux: Make sure bypass clk enabled while setting MFG rate

Also, please add a Fixes tag, this is not only useful for MT8189 - for the
others, this worked because the bypass (alt) clock is already enabled due to
it being a MFG power domain requirement, but the parent still needs to be enabled
otherwise there's no input clock to MFG during the PLL reconfiguration.

Besides, please clarify the commit description (and no, 8189 is not special
and doesn't really have a mux design that is all that different from the others).

> Signed-off-by: Irving-CH Lin <irving-ch.lin@mediatek.com>
> ---
>   drivers/clk/mediatek/clk-mux.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/clk/mediatek/clk-mux.c b/drivers/clk/mediatek/clk-mux.c
> index c5af6dc078a3..15309c7dbbfb 100644
> --- a/drivers/clk/mediatek/clk-mux.c
> +++ b/drivers/clk/mediatek/clk-mux.c
> @@ -414,16 +414,20 @@ static int mtk_clk_mux_notifier_cb(struct notifier_block *nb,
>   	struct clk_notifier_data *data = _data;
>   	struct clk_hw *hw = __clk_get_hw(data->clk);
>   	struct mtk_mux_nb *mux_nb = to_mtk_mux_nb(nb);
> +	struct clk_hw *p_hw = clk_hw_get_parent_by_index(hw,
> +							 mux_nb->bypass_index);

Fits in one line, 84 columns is ok.

>   	int ret = 0;
>   
>   	switch (event) {
>   	case PRE_RATE_CHANGE:
> +		clk_prepare_enable(p_hw->clk);

You have to check for error here - if you can't enable the clock, your system
is going to crash as soon as you switch parents.

Cheers,
Angelo

>   		mux_nb->original_index = mux_nb->ops->get_parent(hw);
>   		ret = mux_nb->ops->set_parent(hw, mux_nb->bypass_index);
>   		break;
>   	case POST_RATE_CHANGE:
>   	case ABORT_RATE_CHANGE:
>   		ret = mux_nb->ops->set_parent(hw, mux_nb->original_index);
> +		clk_disable_unprepare(p_hw->clk);
>   		break;
>   	}
>   



  reply	other threads:[~2025-11-07  9:34 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-06 12:41 [PATCH v3 00/21] Add support for MT8189 clock/power controller irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 01/21] dt-bindings: clock: mediatek: Add MT8189 clock definitions irving.ch.lin
2025-11-06 17:19   ` Conor Dooley
2025-12-10 10:01     ` Irving-CH Lin (林建弘)
2025-12-10 16:33       ` Conor Dooley
2025-11-07  7:27   ` Krzysztof Kozlowski
2025-11-27 10:30   ` Louis-Alexis Eyraud
2025-11-06 12:41 ` [PATCH v3 02/21] dt-bindings: power: mediatek: Add MT8189 power domain definitions irving.ch.lin
2025-11-06 13:34   ` Rob Herring (Arm)
2025-11-06 17:17     ` Conor Dooley
2025-11-07  7:26       ` Krzysztof Kozlowski
2025-11-07 16:58         ` Conor Dooley
2025-11-06 12:41 ` [PATCH v3 03/21] clk: mediatek: fix mfg mux issue irving.ch.lin
2025-11-07  9:34   ` AngeloGioacchino Del Regno [this message]
2025-11-06 12:41 ` [PATCH v3 04/21] clk: mediatek: Add MT8189 apmixedsys clock support irving.ch.lin
2025-11-27 12:04   ` Louis-Alexis Eyraud
2025-11-06 12:41 ` [PATCH v3 05/21] clk: mediatek: Add MT8189 topckgen " irving.ch.lin
2025-11-27 13:46   ` Louis-Alexis Eyraud
2025-12-10 10:41     ` Irving-CH Lin (林建弘)
2025-11-06 12:41 ` [PATCH v3 06/21] clk: mediatek: Add MT8189 vlpckgen " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 07/21] clk: mediatek: Add MT8189 vlpcfg " irving.ch.lin
2025-11-27 16:03   ` Louis-Alexis Eyraud
2025-11-06 12:41 ` [PATCH v3 08/21] clk: mediatek: Add MT8189 bus " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 09/21] clk: mediatek: Add MT8189 cam " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 10/21] clk: mediatek: Add MT8189 dbgao " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 11/21] clk: mediatek: Add MT8189 dvfsrc " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 12/21] clk: mediatek: Add MT8189 i2c " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 13/21] clk: mediatek: Add MT8189 img " irving.ch.lin
2025-11-06 12:41 ` [PATCH v3 14/21] clk: mediatek: Add MT8189 mdp " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 15/21] clk: mediatek: Add MT8189 mfg " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 16/21] clk: mediatek: Add MT8189 mmsys " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 17/21] clk: mediatek: Add MT8189 scp " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 18/21] clk: mediatek: Add MT8189 ufs " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 19/21] clk: mediatek: Add MT8189 vcodec " irving.ch.lin
2025-11-06 12:42 ` [PATCH v3 20/21] pmdomain: mediatek: Add bus protect control flow for MT8189 irving.ch.lin
2025-11-07 10:36   ` AngeloGioacchino Del Regno
2025-12-10 10:30     ` Irving-CH Lin (林建弘)
2025-11-06 12:42 ` [PATCH v3 21/21] pmdomain: mediatek: Add power domain driver for MT8189 SoC irving.ch.lin

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=5faabbd0-2e7b-46ec-8da0-7be24f2e888e@collabora.com \
    --to=angelogioacchino.delregno@collabora.com \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=irving-ch.lin@mediatek.com \
    --cc=jh.hsu@mediatek.com \
    --cc=krzk+dt@kernel.org \
    --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=mturquette@baylibre.com \
    --cc=netdev@vger.kernel.org \
    --cc=qiqi.wang@mediatek.com \
    --cc=richardcochran@gmail.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=sirius.wang@mediatek.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vince-wl.liu@mediatek.com \
    /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;
as well as URLs for NNTP newsgroup(s).