linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Peter Griffin <peter.griffin@linaro.org>
To: Guenter Roeck <linux@roeck-us.net>
Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	 mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org,
	 tomasz.figa@gmail.com, s.nawrocki@samsung.com,
	linus.walleij@linaro.org,  wim@linux-watchdog.org,
	catalin.marinas@arm.com, will@kernel.org,  arnd@arndb.de,
	olof@lixom.net, gregkh@linuxfoundation.org,
	 jirislaby@kernel.org, cw00.choi@samsung.com,
	alim.akhtar@samsung.com,  tudor.ambarus@linaro.org,
	andre.draszik@linaro.org,  semen.protsenko@linaro.org,
	saravanak@google.com, willmcvicker@google.com,  soc@kernel.org,
	devicetree@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org,  linux-clk@vger.kernel.org,
	linux-gpio@vger.kernel.org,  linux-watchdog@vger.kernel.org,
	kernel-team@android.com,  linux-serial@vger.kernel.org
Subject: Re: [PATCH v4 15/19] watchdog: s3c2410_wdt: Add support for WTCON register DBGACK_MASK bit
Date: Mon, 20 Nov 2023 22:45:57 +0000	[thread overview]
Message-ID: <CADrjBPoHYTZiMCFKBtdaT6hFp9QO=GMzn5yE2k3Dg_mcBhrvkA@mail.gmail.com> (raw)
In-Reply-To: <5ee955e4-4c22-4696-8001-1e4f24952eeb@roeck-us.net>

Hi Guenter,

Thanks for the review.

On Mon, 20 Nov 2023 at 22:00, Guenter Roeck <linux@roeck-us.net> wrote:
>
> On 11/20/23 13:20, Peter Griffin wrote:
> > The WDT uses the CPU core signal DBGACK to determine whether the SoC
> > is running in debug mode or not. If the DBGACK signal is asserted and
> > DBGACK_MASK is enabled, then WDT output and interrupt is masked.
> >
> > Presence of the DBGACK_MASK bit is determined by adding a new
> > QUIRK_HAS_DBGACK_BIT quirk. Currently only gs101 SoC is known to have
> > the DBGACK_MASK bit so add the quirk to drv_data_gs101_cl1 and
> > drv_data_gs101_cl1 quirks.
> >
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > ---
> >   drivers/watchdog/s3c2410_wdt.c | 32 +++++++++++++++++++++++++++-----
> >   1 file changed, 27 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
> > index 08b8c57dd812..ed561deeeed9 100644
> > --- a/drivers/watchdog/s3c2410_wdt.c
> > +++ b/drivers/watchdog/s3c2410_wdt.c
> > @@ -34,9 +34,10 @@
> >
> >   #define S3C2410_WTCNT_MAXCNT        0xffff
> >
> > -#define S3C2410_WTCON_RSTEN  (1 << 0)
> > -#define S3C2410_WTCON_INTEN  (1 << 2)
> > -#define S3C2410_WTCON_ENABLE (1 << 5)
> > +#define S3C2410_WTCON_RSTEN          (1 << 0)
> > +#define S3C2410_WTCON_INTEN          (1 << 2)
> > +#define S3C2410_WTCON_ENABLE         (1 << 5)
> > +#define S3C2410_WTCON_DBGACK_MASK    (1 << 16)
> >
> >   #define S3C2410_WTCON_DIV16 (0 << 3)
> >   #define S3C2410_WTCON_DIV32 (1 << 3)
> > @@ -107,12 +108,16 @@
> >    * %QUIRK_HAS_PMU_CNT_EN: PMU block has some register (e.g. CLUSTERx_NONCPU_OUT)
> >    * with "watchdog counter enable" bit. That bit should be set to make watchdog
> >    * counter running.
> > + *
> > + * %QUIRK_HAS_DBGACK_BIT: WTCON register has DBGACK_MASK bit. Enables masking
> > + * WDT interrupt and reset request according to CPU core DBGACK signal.
>
> This is a bit difficult to understand. I _think_ it means that the DBGACK_MASK bit
> has to be set to be able to trigger interrupt and reset requests.

Not quite, it is a bit that controls masking the watchdog outputs when the SoC
is in debug mode.

> "masking" normally refers to disabling something (at least in interrupt context).
> "Enables masking WDT interrupt" sounds like the bit has to be set in order to
> be able to disable interupts, and the code below suggests that the bit has to be
> set for the driver to work. Is that the case ? It might make sense to explain this
> a bit further.

Maybe I explained it more clearly in the commit message than the comment

"The WDT uses the CPU core signal DBGACK to determine whether the SoC
is running in debug mode or not. If the DBGACK signal is asserted and
DBGACK_MASK is enabled, then WDT output and interrupt is masked."

Is that any clearer? Or maybe simpler again

"Enabling DBGACK_MASK bit masks the watchdog outputs when the SoC is
in debug mode. Debug mode is determined by the DBGACK CPU signal."

Let me know what you think is the clearest and most succinct and I can
update the comment.

>
> >    */
> >   #define QUIRK_HAS_WTCLRINT_REG                      (1 << 0)
> >   #define QUIRK_HAS_PMU_MASK_RESET            (1 << 1)
> >   #define QUIRK_HAS_PMU_RST_STAT                      (1 << 2)
> >   #define QUIRK_HAS_PMU_AUTO_DISABLE          (1 << 3)
> >   #define QUIRK_HAS_PMU_CNT_EN                        (1 << 4)
> > +#define QUIRK_HAS_DBGACK_BIT                 (1 << 5)
> >
> >   /* These quirks require that we have a PMU register map */
> >   #define QUIRKS_HAVE_PMUREG \
> > @@ -279,7 +284,7 @@ static const struct s3c2410_wdt_variant drv_data_gs101_cl0 = {
> >       .cnt_en_reg = GS_CLUSTER0_NONCPU_OUT,
> >       .cnt_en_bit = 8,
> >       .quirks = QUIRK_HAS_PMU_RST_STAT | QUIRK_HAS_PMU_MASK_RESET | QUIRK_HAS_PMU_CNT_EN |
> > -               QUIRK_HAS_WTCLRINT_REG,
> > +               QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_DBGACK_BIT,
> >   };
> >
> >   static const struct s3c2410_wdt_variant drv_data_gs101_cl1 = {
> > @@ -291,7 +296,7 @@ static const struct s3c2410_wdt_variant drv_data_gs101_cl1 = {
> >       .cnt_en_reg = GS_CLUSTER1_NONCPU_OUT,
> >       .cnt_en_bit = 7,
> >       .quirks = QUIRK_HAS_PMU_RST_STAT | QUIRK_HAS_PMU_MASK_RESET | QUIRK_HAS_PMU_CNT_EN |
> > -               QUIRK_HAS_WTCLRINT_REG,
> > +               QUIRK_HAS_WTCLRINT_REG | QUIRK_HAS_DBGACK_BIT,
> >   };
> >
> >   static const struct of_device_id s3c2410_wdt_match[] = {
> > @@ -408,6 +413,21 @@ static int s3c2410wdt_enable(struct s3c2410_wdt *wdt, bool en)
> >       return 0;
> >   }
> >
> > +static void s3c2410wdt_mask_dbgack(struct s3c2410_wdt *wdt, bool mask)
>
> I think I must be missing something. This is only ever called with mask==true,
> meaning the bit, if present, is always set.
>
> Why not call the function s3c2410wdt_set_dbgack() and drop the unnecessary
> parameter ?

I can update like you suggest, it would simplify the logic a little bit.

regards,

Peter.

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

  reply	other threads:[~2023-11-20 22:46 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-20 21:20 [PATCH v4 00/19] Add minimal Tensor/GS101 SoC support and Oriole/Pixel6 board Peter Griffin
2023-11-20 21:20 ` [PATCH v4 01/19] dt-bindings: soc: samsung: exynos-pmu: Add gs101 compatible Peter Griffin
2023-11-20 21:20 ` [PATCH v4 02/19] dt-bindings: clock: Add Google gs101 clock management unit bindings Peter Griffin
2023-11-21  8:41   ` André Draszik
2023-11-20 21:20 ` [PATCH v4 03/19] dt-bindings: soc: google: exynos-sysreg: add dedicated SYSREG compatibles to GS101 Peter Griffin
2023-11-20 21:20 ` [PATCH v4 04/19] dt-bindings: watchdog: Document Google gs101 watchdog bindings Peter Griffin
2023-11-20 21:20 ` [PATCH v4 05/19] dt-bindings: arm: google: Add bindings for Google ARM platforms Peter Griffin
2023-11-20 21:20 ` [PATCH v4 06/19] dt-bindings: pinctrl: samsung: add google,gs101-pinctrl compatible Peter Griffin
2023-11-20 21:20 ` [PATCH v4 07/19] dt-bindings: pinctrl: samsung: add gs101-wakeup-eint compatible Peter Griffin
2023-11-22 19:11   ` Krzysztof Kozlowski
2023-11-22 19:15     ` Krzysztof Kozlowski
2023-11-20 21:20 ` [PATCH v4 08/19] dt-bindings: serial: samsung: Add google-gs101-uart compatible Peter Griffin
2023-11-20 21:20 ` [PATCH v4 09/19] dt-bindings: serial: samsung: Make samsung,uart-fifosize required property Peter Griffin
2023-11-20 23:15   ` Rob Herring
2023-11-21  6:23   ` kernel test robot
2023-11-21 15:16   ` Rob Herring
2023-11-21 17:15     ` Peter Griffin
2023-11-22  7:49       ` Krzysztof Kozlowski
2023-11-22  8:42         ` Peter Griffin
2023-11-20 21:20 ` [PATCH v4 10/19] clk: samsung: clk-pll: Add support for pll_{0516,0517,518} Peter Griffin
2023-11-20 21:20 ` [PATCH v4 11/19] clk: samsung: clk-gs101: Add cmu_top, cmu_misc and cmu_apm support Peter Griffin
2023-11-21 14:30   ` André Draszik
2023-11-24 22:03     ` Peter Griffin
2023-11-20 21:20 ` [PATCH v4 12/19] pinctrl: samsung: Add filter selection support for alive banks Peter Griffin
2023-11-20 21:20 ` [PATCH v4 13/19] pinctrl: samsung: Add gs101 SoC pinctrl configuration Peter Griffin
2023-11-20 21:20 ` [PATCH v4 14/19] watchdog: s3c2410_wdt: Add support for Google gs101 SoC Peter Griffin
2023-11-20 21:20 ` [PATCH v4 15/19] watchdog: s3c2410_wdt: Add support for WTCON register DBGACK_MASK bit Peter Griffin
2023-11-20 21:59   ` Guenter Roeck
2023-11-20 22:45     ` Peter Griffin [this message]
2023-11-20 23:03       ` Guenter Roeck
2023-11-20 23:20         ` Peter Griffin
2023-11-20 23:31           ` Guenter Roeck
2023-11-21 17:52   ` Sam Protsenko
2023-11-21 18:10     ` Guenter Roeck
2023-11-22  7:53       ` Krzysztof Kozlowski
2023-11-22  8:20         ` Peter Griffin
2023-11-20 21:20 ` [PATCH v4 16/19] tty: serial: samsung: Add gs101 compatible and common fifoszdt_serial_drv_data Peter Griffin
2023-11-23 19:47   ` Greg KH
2023-11-20 21:20 ` [PATCH v4 17/19] arm64: dts: exynos: google: Add initial Google gs101 SoC support Peter Griffin
2023-11-21 13:53   ` Peter Griffin
2023-11-20 21:20 ` [PATCH v4 18/19] arm64: dts: exynos: google: Add initial Oriole/pixel 6 board support Peter Griffin
2023-11-21 18:39   ` Sam Protsenko
2023-12-01 12:01     ` Peter Griffin
2023-11-20 21:20 ` [PATCH v4 19/19] MAINTAINERS: add entry for Google Tensor SoC Peter Griffin

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='CADrjBPoHYTZiMCFKBtdaT6hFp9QO=GMzn5yE2k3Dg_mcBhrvkA@mail.gmail.com' \
    --to=peter.griffin@linaro.org \
    --cc=alim.akhtar@samsung.com \
    --cc=andre.draszik@linaro.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=conor+dt@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=kernel-team@android.com \
    --cc=krzysztof.kozlowski+dt@linaro.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-samsung-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=mturquette@baylibre.com \
    --cc=olof@lixom.net \
    --cc=robh+dt@kernel.org \
    --cc=s.nawrocki@samsung.com \
    --cc=saravanak@google.com \
    --cc=sboyd@kernel.org \
    --cc=semen.protsenko@linaro.org \
    --cc=soc@kernel.org \
    --cc=tomasz.figa@gmail.com \
    --cc=tudor.ambarus@linaro.org \
    --cc=will@kernel.org \
    --cc=willmcvicker@google.com \
    --cc=wim@linux-watchdog.org \
    /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).