From: claudiu beznea <claudiu.beznea@tuxon.dev>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: s.shtylyov@omp.ru, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
linux@armlinux.org.uk, geert+renesas@glider.be,
magnus.damm@gmail.com, mturquette@baylibre.com, sboyd@kernel.org,
linus.walleij@linaro.org, p.zabel@pengutronix.de, arnd@arndb.de,
m.szyprowski@samsung.com, alexandre.torgue@foss.st.com,
afd@ti.com, broonie@kernel.org, alexander.stein@ew.tq-group.com,
eugen.hristev@collabora.com, sergei.shtylyov@gmail.com,
prabhakar.mahadev-lad.rj@bp.renesas.com,
biju.das.jz@bp.renesas.com, linux-renesas-soc@vger.kernel.org,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
linux-gpio@vger.kernel.org,
Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Subject: Re: [PATCH 02/14] clk: renesas: rzg2l-cpg: Check reset monitor registers
Date: Thu, 23 Nov 2023 19:19:19 +0200 [thread overview]
Message-ID: <ce7ad295-bcf9-45d8-a7e6-43b6a416aba1@tuxon.dev> (raw)
In-Reply-To: <CAMuHMdXTO+cteN7fW+n3=Vzpa5Nk7oxj+sF2vBMLf2gwS=aNGw@mail.gmail.com>
On 23.11.2023 17:53, Geert Uytterhoeven wrote:
> Hi Claudiu,
>
> On Mon, Nov 20, 2023 at 8:01 AM Claudiu <claudiu.beznea@tuxon.dev> wrote:
>> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>>
>> Hardware manual of both RZ/G2L and RZ/G3S specifies that reset monitor
>> registers need to be interrogated when the reset signals are toggled
>> (chapters "Procedures for Supplying and Stopping Reset Signals" and
>> "Procedure for Activating Modules"). Without this there is a chance that
>> different modules (e.g. Ethernet) to not be ready after reset signal is
>> toggled leading to failures (on probe or resume from deep sleep states).
>>
>> Fixes: ef3c613ccd68 ("clk: renesas: Add CPG core wrapper for RZ/G2L SoC")
>> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
>
> Thanks for your patch!
>
>> In case you apply this patch and patch 1/13 as is, please add a Depend-on
>> tag on this patch to point to patch 1/13 for proper backporting.
>
> There is no such Depend-on tag? Anyway, this patch won't apply if 1/13
typo again... it should have been "Depends-on" which is true, it is not
documented anywhere, but I saw it is used in some commits. Maybe I should
stop using it...
> is not backported...
>
>> --- a/drivers/clk/renesas/rzg2l-cpg.c
>> +++ b/drivers/clk/renesas/rzg2l-cpg.c
>> @@ -1416,12 +1416,23 @@ static int rzg2l_cpg_assert(struct reset_controller_dev *rcdev,
>> struct rzg2l_cpg_priv *priv = rcdev_to_priv(rcdev);
>> const struct rzg2l_cpg_info *info = priv->info;
>> unsigned int reg = info->resets[id].off;
>> - u32 value = BIT(info->resets[id].bit) << 16;
>> + u32 dis = BIT(info->resets[id].bit);
>> + u32 value = dis << 16;
>> + int ret = 0;
>>
>> dev_dbg(rcdev->dev, "assert id:%ld offset:0x%x\n", id, CLK_RST_R(reg));
>>
>> writel(value, priv->base + CLK_RST_R(reg));
>> - return 0;
>> +
>> + if (info->has_clk_mon_regs) {
>> + ret = readl_poll_timeout_atomic(priv->base + CLK_MRST_R(reg), value,
>> + value & dis, 10, 200);
>> + } else {
>> + /* Wait for at least one cycle of the RCLK clock (@ ca. 32 kHz) */
>> + udelay(35);
>> + }
>
> I think this should also take into account CPG_RST_MON on RZ/V2M,
> cfr. rzg2l_cpg_status().
Hm... ok, I'll have a look though it will be a bit difficult to test it ATM.
>
>> +
>> + return ret;
>> }
>>
>> static int rzg2l_cpg_deassert(struct reset_controller_dev *rcdev,
>> @@ -1432,12 +1443,22 @@ static int rzg2l_cpg_deassert(struct reset_controller_dev *rcdev,
>> unsigned int reg = info->resets[id].off;
>> u32 dis = BIT(info->resets[id].bit);
>> u32 value = (dis << 16) | dis;
>> + int ret = 0;
>>
>> dev_dbg(rcdev->dev, "deassert id:%ld offset:0x%x\n", id,
>> CLK_RST_R(reg));
>>
>> writel(value, priv->base + CLK_RST_R(reg));
>> - return 0;
>> +
>> + if (info->has_clk_mon_regs) {
>> + ret = readl_poll_timeout_atomic(priv->base + CLK_MRST_R(reg), value,
>> + !(value & dis), 10, 200);
>> + } else {
>> + /* Wait for at least one cycle of the RCLK clock (@ ca. 32 kHz) */
>> + udelay(35);
>> + }
>
> Likewise.
>
>> +
>> + return ret;
>> }
>>
>> static int rzg2l_cpg_reset(struct reset_controller_dev *rcdev,
>
> The rest LGTM.
>
> Gr{oetje,eeting}s,
>
> Geert
>
next prev parent reply other threads:[~2023-11-23 17:19 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-20 7:00 [PATCH 00/14] renesas: rzg3s: Add support for Ethernet Claudiu
2023-11-20 7:00 ` [PATCH 01/14] clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset() Claudiu
2023-11-23 15:48 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 02/14] clk: renesas: rzg2l-cpg: Check reset monitor registers Claudiu
2023-11-23 15:53 ` Geert Uytterhoeven
2023-11-23 17:19 ` claudiu beznea [this message]
2023-11-20 7:00 ` [PATCH 03/14] clk: renesas: rzg2l-cpg: Add support for MSTOP Claudiu
2023-11-23 16:35 ` Geert Uytterhoeven
2023-11-24 9:08 ` Geert Uytterhoeven
2023-11-27 7:37 ` claudiu beznea
2023-12-01 15:36 ` Geert Uytterhoeven
2023-11-24 9:24 ` claudiu beznea
2023-11-20 7:00 ` [PATCH 04/14] clk: renesas: r9a08g045-cpg: Add clock and reset support for ETH0 and ETH1 Claudiu
2023-12-01 15:59 ` Geert Uytterhoeven
2023-12-04 7:34 ` claudiu beznea
2023-11-20 7:00 ` [PATCH 05/14] pinctrl: renesas: rzg2l: Move arg in the main function block Claudiu
2023-12-01 16:15 ` Geert Uytterhoeven
2023-12-04 7:37 ` claudiu beznea
2023-11-20 7:00 ` [PATCH 06/14] pinctrl: renesas: rzg2l: Add pin configuration support for pinmux groups Claudiu
2023-12-01 16:51 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 07/14] pinctrl: renesas: rzg2l: Add support to select power source for Ethernet pins Claudiu
2023-12-01 17:11 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 08/14] pinctrl: renesas: rzg2l: Add output enable support Claudiu
2023-12-01 17:25 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 09/14] dt-bindings: net: renesas,etheravb: Document RZ/G3S support Claudiu
2023-11-20 15:39 ` Conor Dooley
2023-11-20 18:39 ` Sergey Shtylyov
2023-11-21 16:29 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 10/14] arm64: renesas: r9a08g045: Add Ethernet nodes Claudiu
2023-12-01 17:35 ` Geert Uytterhoeven
2023-12-04 7:41 ` claudiu beznea
2023-12-04 8:02 ` Geert Uytterhoeven
2023-12-04 8:38 ` claudiu beznea
2023-12-04 9:00 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 11/14] arm64: renesas: rzg3s-smarc-som: Invert the logic for SW_SD2_EN macro Claudiu
2023-12-06 10:33 ` Geert Uytterhoeven
2023-12-06 10:56 ` Geert Uytterhoeven
2023-12-06 11:11 ` claudiu beznea
2023-12-06 11:27 ` Geert Uytterhoeven
2023-12-06 11:31 ` claudiu beznea
2023-11-20 7:00 ` [PATCH 12/14] arm64: dts: renesas: Improve documentation for SW_SD0_DEV_SEL Claudiu
2023-11-20 8:41 ` Sergey Shtylyov
2023-12-06 11:03 ` Geert Uytterhoeven
2023-11-20 7:00 ` [PATCH 13/14] arm64: dts: renesas: rzg3s-smarc-som: Enable Ethernet interfaces Claudiu
2023-12-06 11:22 ` Geert Uytterhoeven
2023-12-06 11:48 ` claudiu beznea
2023-11-20 7:00 ` [PATCH 14/14] arm: multi_v7_defconfig: Enable CONFIG_RAVB Claudiu
2023-11-20 8:44 ` Arnd Bergmann
2023-11-20 8:56 ` claudiu beznea
2023-11-20 8:58 ` Geert Uytterhoeven
2023-11-20 9:05 ` claudiu beznea
2023-11-27 10:01 ` Geert Uytterhoeven
2023-11-23 15:01 ` [PATCH 00/14] renesas: rzg3s: Add support for Ethernet Linus Walleij
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=ce7ad295-bcf9-45d8-a7e6-43b6a416aba1@tuxon.dev \
--to=claudiu.beznea@tuxon.dev \
--cc=afd@ti.com \
--cc=alexander.stein@ew.tq-group.com \
--cc=alexandre.torgue@foss.st.com \
--cc=arnd@arndb.de \
--cc=biju.das.jz@bp.renesas.com \
--cc=broonie@kernel.org \
--cc=claudiu.beznea.uj@bp.renesas.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=eugen.hristev@collabora.com \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=magnus.damm@gmail.com \
--cc=mturquette@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=robh+dt@kernel.org \
--cc=s.shtylyov@omp.ru \
--cc=sboyd@kernel.org \
--cc=sergei.shtylyov@gmail.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).