All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@verge.net.au>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Magnus Damm <magnus.damm@gmail.com>,
	Fabrizio Castro <fabrizio.castro@bp.renesas.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	Biju Das <biju.das@bp.renesas.com>,
	Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>,
	linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH/RFC 00/11] ARM: dts: rcar-gen2: Enable watchdog support
Date: Tue, 13 Feb 2018 09:26:20 +0100	[thread overview]
Message-ID: <20180213082619.gqssmwjtwrq4bmm7@verge.net.au> (raw)
In-Reply-To: <1518086057-19448-1-git-send-email-geert+renesas@glider.be>

On Thu, Feb 08, 2018 at 11:34:06AM +0100, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> This patch series enables the builtin watchdog timer on R-Car Gen2 SoCs
> on all supported boards, and builds on top of Fabrizio's "[RFC v4 00/26]
> Fix watchdog on Renesas R-Car Gen2 and RZ/G1".  It is marked RFC as it
> is known not to work on all SoCs and SoC revisions.
> 
> Based on my experiments, there are 3 success/failure modes:
> 
>   1. It works!
> 
>      This is the case on R-Car M2-N ES1.0 and E2 ES1.0 (tested on gose
>      and alt).
> 
>   2. The system hangs on watchdog timeout, unless only the first CPU
>      core is in use.
>      This can be achieved by booting with "maxcpus=1", or by manually
>      offlining all secondary CPU cores first:
> 
>          for i in /sys/*/*/cpu/cpu[1-9]*; do echo 0 > $i/online; done
> 
>      This is the case on R-Car H2 ES1.0 and M2-W ES1.0 (tested on lager
>      and koelsch).
> 
>   3. The system hangs on watchdog timeout, unless the kernel was built
>      with CONFIG_SMP disabled.
> 
>      This is the case on R-Car V2H ES1.1 (tested on blanche).
>      Presumably the restart part in the new shmobile_boot_vector_gen2 is
>      not compatible with R-Car V2H in some way (CPU off/onlining does
>      work).
> 
> Once we know on which SoCs and revisions it does work, we can add the
> proper checks. Right now I'm thinking of adding something like:
> 
>     if (IS_ENABLED(CONFIG_SMP) && maxcpus > 1 &&
> 	soc_device_match(rcar_gen2_wdt_needs_up))
> 	    return -ENODEV;
> 
> to the watchdog's probe function (assumed we can fix
> shmobile_boot_vector_gen2 for R-Car V2H, else we need more checks).
> 
> For your convenience, Fabrizio's and my series are available in the
> topic/rcar-gen2-wdt-v4 resp. topic/rcar-gen2-wdt-v4+ branches of my
> renesas-drivers git repository at
> git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git.
> 
> shmobile_defconfig should enable all support needed for testing.
> 
> Test procedure:
> 
>     cat > /dev/watchdog0 & for i in $(seq 100); do echo $i; sleep 1; done
> 
> If everything goes well, the board should reboot after 60 seconds.
> 
> Note that on several boards there are multiple watchdogs (RWDT and
> DA9063 PMIC):
> 
>     # ls -l /dev/watchdog*
>     crw------- 1 root root  10, 130 Jan  1  2000 /dev/watchdog
>     crw------- 1 root root 247,   0 Jan  1  2000 /dev/watchdog0
>     crw------- 1 root root 247,   1 Jan  1  2000 /dev/watchdog1
> 
> /dev/watchdog always corresponds to /dev/watchdog0.
> The first one is usually the RWDT. If you want to be 100% sure, look in
> sysfs for devices with the (dynamic!) major matching the /dev/watchdog*
> files:
> 
>     # find /sys/devices/ -name dev | xargs grep 247:
>     /sys/devices/platform/soc/e6020000.watchdog/watchdog/watchdog0/dev:247:0
>     /sys/devices/platform/soc/e60b0000.i2c/i2c-6/6-0058/da9063-watchdog/watchdog/watchdog1/dev:247:1
> 
> Thanks for testing, especially on newer revisions of R-Car H2, M2-W, and
> V2H, and on other boards!
> 
> Geert Uytterhoeven (11):
>   clk: renesas: r8a7792: Add rwdt clock
>   ARM: dts: r8a7792: Add RWDT node
>   ARM: dts: r8a7793: Add RWDT node
>   ARM: dts: lager: Enable watchdog support
>   ARM: dts: koelsch: Enable watchdog support
>   ARM: dts: porter: Enable watchdog support
>   ARM: dts: blanche: Enable watchdog support
>   ARM: dts: wheat: Enable watchdog support
>   ARM: dts: gose: Enable watchdog support
>   ARM: dts: alt: Enable watchdog support
>   ARM: dts: silk: Enable watchdog support

Thanks, "dts" patches applied for v4.17.

      parent reply	other threads:[~2018-02-13  8:32 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-08 10:34 [PATCH/RFC 00/11] ARM: dts: rcar-gen2: Enable watchdog support Geert Uytterhoeven
2018-02-08 10:34 ` [PATCH/RFC 01/11] clk: renesas: r8a7792: Add rwdt clock Geert Uytterhoeven
2018-02-12 17:50   ` Fabrizio Castro
2018-02-20 12:52     ` Geert Uytterhoeven
2018-02-08 10:34 ` [PATCH/RFC 02/11] ARM: dts: r8a7792: Add RWDT node Geert Uytterhoeven
2018-02-12 17:51   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 03/11] ARM: dts: r8a7793: " Geert Uytterhoeven
2018-02-12 17:52   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 04/11] ARM: dts: lager: Enable watchdog support Geert Uytterhoeven
2018-02-12 17:52   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 05/11] ARM: dts: koelsch: " Geert Uytterhoeven
2018-02-12 17:52   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 06/11] ARM: dts: porter: " Geert Uytterhoeven
2018-02-12 17:53   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 07/11] ARM: dts: blanche: " Geert Uytterhoeven
2018-02-12 17:53   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 08/11] ARM: dts: wheat: " Geert Uytterhoeven
2018-02-12 17:54   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 09/11] ARM: dts: gose: " Geert Uytterhoeven
2018-02-12 17:54   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 10/11] ARM: dts: alt: " Geert Uytterhoeven
2018-02-12 17:55   ` Fabrizio Castro
2018-02-08 10:34 ` [PATCH/RFC 11/11] ARM: dts: silk: " Geert Uytterhoeven
2018-02-12 17:55   ` Fabrizio Castro
2018-02-09 10:11 ` [PATCH/RFC 00/11] ARM: dts: rcar-gen2: " Geert Uytterhoeven
2018-02-14 15:42   ` Geert Uytterhoeven
2018-02-13  8:26 ` Simon Horman [this message]

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=20180213082619.gqssmwjtwrq4bmm7@verge.net.au \
    --to=horms@verge.net.au \
    --cc=Chris.Paterson2@renesas.com \
    --cc=biju.das@bp.renesas.com \
    --cc=fabrizio.castro@bp.renesas.com \
    --cc=geert+renesas@glider.be \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=ramesh.shanmugasundaram@bp.renesas.com \
    --cc=wsa+renesas@sang-engineering.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.