[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAFBinCCoX5+6+KQAtbhKx9KdSZhXVxS=cz8DfMVhjPX1c0iSPw@mail.gmail.com>
Date: Sun, 28 Sep 2025 22:55:50 +0200
From: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
To: Chuan Liu <chuan.liu@...ogic.com>
Cc: Jerome Brunet <jbrunet@...libre.com>, Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Neil Armstrong <neil.armstrong@...aro.org>,
Kevin Hilman <khilman@...libre.com>, linux-clk@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-amlogic@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 2/2] clk: meson: Fix glitch free mux related issues
Hello,
On Sun, Sep 28, 2025 at 8:41 AM Chuan Liu <chuan.liu@...ogic.com> wrote:
>
>
> On 9/28/2025 2:05 PM, Chuan Liu wrote:
> > Hi Jerome & Martin:
> >
> > Sorry for the imprecise description of the glitch-free mux earlier.
> >
> > Recently, while troubleshooting a CPU hang issue caused by glitches,
> > I realized there was a discrepancy from our previous understanding,
> > so I'd like to clarify it here.
[...]
> An example of the clock waveform is shown below:
>
>
> __ __ __ __ __ __ __ __
> ori: ↑ |__↑ |__↑ |__↑ |__↑ |__↑ |__↑ |__↑ |__↑
> ^
> 1 * cycle original channel.
> _ _ _ _ _ _ _ _ _ _ _ _
> new: ↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑ |_↑
> ^
> 5 * cycles new channel.
> __ __ _ _ _ _
> out: ↑ |__↑ |______________________↑ |_↑ |_↑ |_↑ |_↑
> ^ ^
> start switching mux. switch to new channel.
Thank you for the detailed report!
This is indeed problematic behavior. I guess the result is somewhat
random: depending on load (power draw), silicon lottery (quality),
temperature, voltage supply, ... - one may or may not see crashes
caused by this.
Based on the previous discussion on this topic, my suggestion is to
split the original patch:
- one to add CLK_SET_RATE_GATE where needed (I think the meson8b.c
driver already has this where needed) to actually enable the
glitch-free mux behavior
- another one with the CLK_OPS_PARENT_ENABLE change (meson8b.c would
also need to be updated) to prevent the glitch-free mux from
temporarily outputting an electrical low signal. Jerome also asked to
document the behavior so we don't forget why we set this flag
Both patches should get the proper "Fixes" tags.
I think it would also be great if you could include the waveform
example in at least the commit message as it helps understand the
problem.
Let's also give Jerome some time to comment before you send patches.
Best regards,
Martin
Powered by blists - more mailing lists