All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime@cerno.tech>
To: Tony Lindgren <tony@atomide.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Mike Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk@vger.kernel.org,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	'Linux Samsung SOC' <linux-samsung-soc@vger.kernel.org>,
	linux-amlogic@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/3] clk: Drop the rate range on clk_put
Date: Thu, 7 Apr 2022 09:53:56 +0200	[thread overview]
Message-ID: <20220407075356.lmqnax35cewiwh4k@houat> (raw)
In-Reply-To: <YkV3ch7R7YxlATW+@atomide.com>

[-- Attachment #1: Type: text/plain, Size: 3130 bytes --]

Hi Tony,

On Thu, Mar 31, 2022 at 12:42:10PM +0300, Tony Lindgren wrote:
> * Maxime Ripard <maxime@cerno.tech> [700101 02:00]:
> > Hi Marek,
> > 
> > On Wed, Mar 30, 2022 at 10:06:13AM +0200, Marek Szyprowski wrote:
> > > On 25.03.2022 17:11, Maxime Ripard wrote:
> > > > While the current code will trigger a new clk_set_rate call whenever the
> > > > rate boundaries are changed through clk_set_rate_range, this doesn't
> > > > occur when clk_put() is called.
> > > >
> > > > However, this is essentially equivalent since, after clk_put()
> > > > completes, those boundaries won't be enforced anymore.
> > > >
> > > > Let's add a call to clk_set_rate_range in clk_put to make sure those
> > > > rate boundaries are dropped and the clock drivers can react.
> > > >
> > > > Let's also add a few tests to make sure this case is covered.
> > > >
> > > > Fixes: c80ac50cbb37 ("clk: Always set the rate on clk_set_range_rate")
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > 
> > > This patch landed recently in linux-next 20220328 as commit 7dabfa2bc480 
> > > ("clk: Drop the rate range on clk_put()"). Sadly it breaks booting of 
> > > the few of my test systems: Samsung ARM 32bit Exynos3250 based Rinato 
> > > board and all Amlogic Meson G12B/SM1 based boards (Odroid C4, N2, Khadas 
> > > VIM3/VIM3l). Rinato hangs always with the following oops:
> > > 
> > > --->8---
> > > 
> > > Kernel panic - not syncing: MCT hangs after writing 4 (offset:0x420)
> > > CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.17.0-rc1-00014-g7dabfa2bc480 
> > > #11551
> > > Hardware name: Samsung Exynos (Flattened Device Tree)
> > >   unwind_backtrace from show_stack+0x10/0x14
> > >   show_stack from dump_stack_lvl+0x58/0x70
> > >   dump_stack_lvl from panic+0x10c/0x328
> > >   panic from exynos4_mct_tick_stop+0x0/0x2c
> > > ---[ end Kernel panic - not syncing: MCT hangs after writing 4 
> > > (offset:0x420) ]---
> > > 
> > > --->8---
> > > 
> > > Amlogic boards hang randomly during early userspace init, usually just 
> > > after loading the driver modules.
> > > 
> > > Reverting $subject on top of linux-next fixes all those problems.
> > > 
> > > I will try to analyze it a bit more and if possible provide some more 
> > > useful/meaning full logs later.
> > 
> > I'm not sure what could go wrong there, but if you can figure out the
> > clock, if it tries to set a new rate and what rate it is, it would be
> > awesome :)
> 
> I'm also seeing clockevent break on omaps as a wrong source clock gets
> picked.
> 
> It seems the dts assigned-clock-parents no longer works now?
> 
> So the following no longer sets omap_32k_fck as the clockevent source:
> 
> timer@0 {
> 	assigned-clocks = <&gpt1_fck>;
> 	assigned-clock-parents = <&omap_32k_fck>;
> };

I haven't been able to find an omap3 board or a qemu target that could
help me debug this, but I fixed a few issues already that could fix omap
as well.

Could you test today's
https://github.com/mripard/linux/tree/rpi/clk-improvements-more-fixes

And let me know if it works?

Thanks!
Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Tony Lindgren <tony@atomide.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Mike Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk@vger.kernel.org,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	'Linux Samsung SOC' <linux-samsung-soc@vger.kernel.org>,
	linux-amlogic@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/3] clk: Drop the rate range on clk_put
Date: Thu, 7 Apr 2022 09:53:56 +0200	[thread overview]
Message-ID: <20220407075356.lmqnax35cewiwh4k@houat> (raw)
In-Reply-To: <YkV3ch7R7YxlATW+@atomide.com>


[-- Attachment #1.1: Type: text/plain, Size: 3130 bytes --]

Hi Tony,

On Thu, Mar 31, 2022 at 12:42:10PM +0300, Tony Lindgren wrote:
> * Maxime Ripard <maxime@cerno.tech> [700101 02:00]:
> > Hi Marek,
> > 
> > On Wed, Mar 30, 2022 at 10:06:13AM +0200, Marek Szyprowski wrote:
> > > On 25.03.2022 17:11, Maxime Ripard wrote:
> > > > While the current code will trigger a new clk_set_rate call whenever the
> > > > rate boundaries are changed through clk_set_rate_range, this doesn't
> > > > occur when clk_put() is called.
> > > >
> > > > However, this is essentially equivalent since, after clk_put()
> > > > completes, those boundaries won't be enforced anymore.
> > > >
> > > > Let's add a call to clk_set_rate_range in clk_put to make sure those
> > > > rate boundaries are dropped and the clock drivers can react.
> > > >
> > > > Let's also add a few tests to make sure this case is covered.
> > > >
> > > > Fixes: c80ac50cbb37 ("clk: Always set the rate on clk_set_range_rate")
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > 
> > > This patch landed recently in linux-next 20220328 as commit 7dabfa2bc480 
> > > ("clk: Drop the rate range on clk_put()"). Sadly it breaks booting of 
> > > the few of my test systems: Samsung ARM 32bit Exynos3250 based Rinato 
> > > board and all Amlogic Meson G12B/SM1 based boards (Odroid C4, N2, Khadas 
> > > VIM3/VIM3l). Rinato hangs always with the following oops:
> > > 
> > > --->8---
> > > 
> > > Kernel panic - not syncing: MCT hangs after writing 4 (offset:0x420)
> > > CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.17.0-rc1-00014-g7dabfa2bc480 
> > > #11551
> > > Hardware name: Samsung Exynos (Flattened Device Tree)
> > >   unwind_backtrace from show_stack+0x10/0x14
> > >   show_stack from dump_stack_lvl+0x58/0x70
> > >   dump_stack_lvl from panic+0x10c/0x328
> > >   panic from exynos4_mct_tick_stop+0x0/0x2c
> > > ---[ end Kernel panic - not syncing: MCT hangs after writing 4 
> > > (offset:0x420) ]---
> > > 
> > > --->8---
> > > 
> > > Amlogic boards hang randomly during early userspace init, usually just 
> > > after loading the driver modules.
> > > 
> > > Reverting $subject on top of linux-next fixes all those problems.
> > > 
> > > I will try to analyze it a bit more and if possible provide some more 
> > > useful/meaning full logs later.
> > 
> > I'm not sure what could go wrong there, but if you can figure out the
> > clock, if it tries to set a new rate and what rate it is, it would be
> > awesome :)
> 
> I'm also seeing clockevent break on omaps as a wrong source clock gets
> picked.
> 
> It seems the dts assigned-clock-parents no longer works now?
> 
> So the following no longer sets omap_32k_fck as the clockevent source:
> 
> timer@0 {
> 	assigned-clocks = <&gpt1_fck>;
> 	assigned-clock-parents = <&omap_32k_fck>;
> };

I haven't been able to find an omap3 board or a qemu target that could
help me debug this, but I fixed a few issues already that could fix omap
as well.

Could you test today's
https://github.com/mripard/linux/tree/rpi/clk-improvements-more-fixes

And let me know if it works?

Thanks!
Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime@cerno.tech>
To: Tony Lindgren <tony@atomide.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Mike Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk@vger.kernel.org,
	Dmitry Osipenko <dmitry.osipenko@collabora.com>,
	'Linux Samsung SOC' <linux-samsung-soc@vger.kernel.org>,
	linux-amlogic@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 3/3] clk: Drop the rate range on clk_put
Date: Thu, 7 Apr 2022 09:53:56 +0200	[thread overview]
Message-ID: <20220407075356.lmqnax35cewiwh4k@houat> (raw)
In-Reply-To: <YkV3ch7R7YxlATW+@atomide.com>


[-- Attachment #1.1: Type: text/plain, Size: 3130 bytes --]

Hi Tony,

On Thu, Mar 31, 2022 at 12:42:10PM +0300, Tony Lindgren wrote:
> * Maxime Ripard <maxime@cerno.tech> [700101 02:00]:
> > Hi Marek,
> > 
> > On Wed, Mar 30, 2022 at 10:06:13AM +0200, Marek Szyprowski wrote:
> > > On 25.03.2022 17:11, Maxime Ripard wrote:
> > > > While the current code will trigger a new clk_set_rate call whenever the
> > > > rate boundaries are changed through clk_set_rate_range, this doesn't
> > > > occur when clk_put() is called.
> > > >
> > > > However, this is essentially equivalent since, after clk_put()
> > > > completes, those boundaries won't be enforced anymore.
> > > >
> > > > Let's add a call to clk_set_rate_range in clk_put to make sure those
> > > > rate boundaries are dropped and the clock drivers can react.
> > > >
> > > > Let's also add a few tests to make sure this case is covered.
> > > >
> > > > Fixes: c80ac50cbb37 ("clk: Always set the rate on clk_set_range_rate")
> > > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > 
> > > This patch landed recently in linux-next 20220328 as commit 7dabfa2bc480 
> > > ("clk: Drop the rate range on clk_put()"). Sadly it breaks booting of 
> > > the few of my test systems: Samsung ARM 32bit Exynos3250 based Rinato 
> > > board and all Amlogic Meson G12B/SM1 based boards (Odroid C4, N2, Khadas 
> > > VIM3/VIM3l). Rinato hangs always with the following oops:
> > > 
> > > --->8---
> > > 
> > > Kernel panic - not syncing: MCT hangs after writing 4 (offset:0x420)
> > > CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.17.0-rc1-00014-g7dabfa2bc480 
> > > #11551
> > > Hardware name: Samsung Exynos (Flattened Device Tree)
> > >   unwind_backtrace from show_stack+0x10/0x14
> > >   show_stack from dump_stack_lvl+0x58/0x70
> > >   dump_stack_lvl from panic+0x10c/0x328
> > >   panic from exynos4_mct_tick_stop+0x0/0x2c
> > > ---[ end Kernel panic - not syncing: MCT hangs after writing 4 
> > > (offset:0x420) ]---
> > > 
> > > --->8---
> > > 
> > > Amlogic boards hang randomly during early userspace init, usually just 
> > > after loading the driver modules.
> > > 
> > > Reverting $subject on top of linux-next fixes all those problems.
> > > 
> > > I will try to analyze it a bit more and if possible provide some more 
> > > useful/meaning full logs later.
> > 
> > I'm not sure what could go wrong there, but if you can figure out the
> > clock, if it tries to set a new rate and what rate it is, it would be
> > awesome :)
> 
> I'm also seeing clockevent break on omaps as a wrong source clock gets
> picked.
> 
> It seems the dts assigned-clock-parents no longer works now?
> 
> So the following no longer sets omap_32k_fck as the clockevent source:
> 
> timer@0 {
> 	assigned-clocks = <&gpt1_fck>;
> 	assigned-clock-parents = <&omap_32k_fck>;
> };

I haven't been able to find an omap3 board or a qemu target that could
help me debug this, but I fixed a few issues already that could fix omap
as well.

Could you test today's
https://github.com/mripard/linux/tree/rpi/clk-improvements-more-fixes

And let me know if it works?

Thanks!
Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-04-07  7:54 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-25 16:11 [PATCH v2 0/3] clk: Some Clock Range Fixes Maxime Ripard
2022-03-25 16:11 ` [PATCH v2 1/3] clk: Initialize orphan req_rate Maxime Ripard
2022-03-29 18:36   ` Stephen Boyd
2022-03-25 16:11 ` [PATCH v2 2/3] clk: test: Test clk_set_rate_range on orphan mux Maxime Ripard
2022-03-29 18:36   ` Stephen Boyd
2022-03-25 16:11 ` [PATCH v2 3/3] clk: Drop the rate range on clk_put Maxime Ripard
2022-03-29 18:36   ` Stephen Boyd
     [not found]   ` <CGME20220330080612eucas1p195caaf35d900412de762a27ae02b7b9e@eucas1p1.samsung.com>
2022-03-30  8:06     ` Marek Szyprowski
2022-03-30  8:06       ` Marek Szyprowski
2022-03-30  8:47       ` Maxime Ripard
2022-03-30  8:47         ` Maxime Ripard
2022-03-31  9:42         ` Tony Lindgren
2022-03-31  9:42           ` Tony Lindgren
2022-03-31  9:42           ` Tony Lindgren
2022-03-31  9:54           ` Maxime Ripard
2022-03-31  9:54             ` Maxime Ripard
2022-03-31  9:54             ` Maxime Ripard
2022-03-31 15:00             ` Tony Lindgren
2022-03-31 15:00               ` Tony Lindgren
2022-03-31 15:00               ` Tony Lindgren
2022-03-31 15:31               ` Maxime Ripard
2022-03-31 15:31                 ` Maxime Ripard
2022-03-31 15:31                 ` Maxime Ripard
2022-03-31 17:00                 ` Tony Lindgren
2022-03-31 17:00                   ` Tony Lindgren
2022-03-31 17:00                   ` Tony Lindgren
2022-03-31 21:58                   ` Stephen Boyd
2022-03-31 21:58                     ` Stephen Boyd
2022-03-31 21:58                     ` Stephen Boyd
2022-04-01 12:28                     ` Maxime Ripard
2022-04-01 12:28                       ` Maxime Ripard
2022-04-01 12:28                       ` Maxime Ripard
2022-04-03  2:14                       ` Stephen Boyd
2022-04-03  2:14                         ` Stephen Boyd
2022-04-03  2:14                         ` Stephen Boyd
2022-04-01 11:55                 ` (EXT) " Alexander Stein
2022-04-01 11:55                   ` Alexander Stein
2022-04-01 11:55                   ` Alexander Stein
2022-04-01 12:27                   ` Maxime Ripard
2022-04-01 12:27                     ` Maxime Ripard
2022-04-01 12:27                     ` Maxime Ripard
2022-04-01 12:59                     ` (EXT) " Alexander Stein
2022-04-01 12:59                       ` Alexander Stein
2022-04-01 12:59                       ` Alexander Stein
2022-04-01 13:04                       ` Maxime Ripard
2022-04-01 13:04                         ` Maxime Ripard
2022-04-01 13:04                         ` Maxime Ripard
2022-04-01 13:07                         ` (EXT) " Alexander Stein
2022-04-01 13:07                           ` Alexander Stein
2022-04-01 13:07                           ` Alexander Stein
2022-04-01 13:34                           ` Maxime Ripard
2022-04-01 13:34                             ` Maxime Ripard
2022-04-01 13:34                             ` Maxime Ripard
2022-04-01 13:49                             ` (EXT) " Alexander Stein
2022-04-01 13:49                               ` Alexander Stein
2022-04-01 13:49                               ` Alexander Stein
2022-04-01 14:55                               ` Maxime Ripard
2022-04-01 14:55                                 ` Maxime Ripard
2022-04-01 14:55                                 ` Maxime Ripard
2022-04-04  7:06                                 ` (EXT) " Alexander Stein
2022-04-04  7:06                                   ` Alexander Stein
2022-04-04  7:06                                   ` Alexander Stein
2022-04-04  7:27                                   ` Maxime Ripard
2022-04-04  7:27                                     ` Maxime Ripard
2022-04-04  7:27                                     ` Maxime Ripard
2022-04-04 10:54                                     ` (EXT) " Alexander Stein
2022-04-04 10:54                                       ` Alexander Stein
2022-04-04 10:54                                       ` Alexander Stein
2022-04-07  8:09                                       ` Maxime Ripard
2022-04-07  8:09                                         ` Maxime Ripard
2022-04-07  8:09                                         ` Maxime Ripard
2022-04-02 17:01                     ` Maxime Ripard
2022-04-02 17:01                       ` Maxime Ripard
2022-04-02 17:01                       ` Maxime Ripard
2022-04-07  7:53           ` Maxime Ripard [this message]
2022-04-07  7:53             ` Maxime Ripard
2022-04-07  7:53             ` Maxime Ripard
2022-04-07  8:03             ` Tony Lindgren
2022-04-07  8:03               ` Tony Lindgren
2022-04-07  8:03               ` Tony Lindgren
2022-04-07 11:08               ` Tony Lindgren
2022-04-07 11:08                 ` Tony Lindgren
2022-04-07 11:08                 ` Tony Lindgren
2022-04-07 13:45                 ` Maxime Ripard
2022-04-07 13:45                   ` Maxime Ripard
2022-04-07 13:45                   ` Maxime Ripard
2022-04-08  5:03                   ` Tony Lindgren
2022-04-08  5:03                     ` Tony Lindgren
2022-04-08  5:03                     ` Tony Lindgren
2022-03-31  9:56         ` Marek Szyprowski
2022-03-31  9:56           ` Marek Szyprowski
2022-03-31 10:19           ` Maxime Ripard
2022-03-31 10:19             ` Maxime Ripard

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=20220407075356.lmqnax35cewiwh4k@houat \
    --to=maxime@cerno.tech \
    --cc=dmitry.osipenko@collabora.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@kernel.org \
    --cc=tony@atomide.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 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.