From: Guenter Roeck <linux@roeck-us.net>
To: Marco Felsch <m.felsch@pengutronix.de>
Cc: "Alice Guo (OSS)" <alice.guo@oss.nxp.com>,
"wim@linux-watchdog.org" <wim@linux-watchdog.org>,
"shawnguo@kernel.org" <shawnguo@kernel.org>,
"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
"festevam@gmail.com" <festevam@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
dl-linux-imx <linux-imx@nxp.com>,
"kernel@pengutronix.de" <kernel@pengutronix.de>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>
Subject: Re: [PATCH 2/7] watchdog: imx7ulp: Add explict memory barrier for unlock sequence
Date: Mon, 22 Aug 2022 07:03:47 -0700 [thread overview]
Message-ID: <20220822140347.GA4087281@roeck-us.net> (raw)
In-Reply-To: <20220822080010.ecdphpm3i26cco5f@pengutronix.de>
On Mon, Aug 22, 2022 at 10:00:10AM +0200, Marco Felsch wrote:
> On 22-08-22, Alice Guo (OSS) wrote:
> > > -----Original Message-----
> > > From: Marco Felsch <m.felsch@pengutronix.de>
> > > Sent: Tuesday, August 16, 2022 2:24 PM
> > > To: Alice Guo (OSS) <alice.guo@oss.nxp.com>
> > > Cc: wim@linux-watchdog.org; linux@roeck-us.net; shawnguo@kernel.org;
> > > s.hauer@pengutronix.de; festevam@gmail.com;
> > > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> > > dl-linux-imx <linux-imx@nxp.com>; kernel@pengutronix.de;
> > > linux-watchdog@vger.kernel.org
> > > Subject: Re: [PATCH 2/7] watchdog: imx7ulp: Add explict memory barrier for
> > > unlock sequence
> > >
> > > On 22-08-16, Alice Guo (OSS) wrote:
> > > > From: Jacky Bai <ping.bai@nxp.com>
> > > >
> > > > Add explict memory barrier for the wdog unlock sequence.
> > >
> > > Did you inspected any failures? It's not enough to say what you did, you need
> > > to specify the why as well.
> > >
> > > Regards,
> > > Marco
> >
> > Hi,
> >
> > Two 16-bit writes of unlocking the Watchdog should be completed within a certain time. The first mb() is used to ensure that previous instructions are completed.
> > The second mb() is used to ensure that the unlock sequence cannot be affected by subsequent instructions. The reason will be added in the commit log of v2.
>
> Hi,
>
> I know what memory barriers are. My question was, did you see any
> issues? Since the driver is used mainline and no one reported issues.
>
> Also just don't use the *_relaxed() versions is more common, than adding
> mb() calls around *_relaxed() versions.
>
Agreed with both. The series is a bit short in explaining _why_ the
changes are made.
Guenter
> Regards,
> Marco
>
> >
> > Best Regards,
> > Alice Guo
> >
> > >
> > > >
> > > > Suggested-by: Ye Li <ye.li@nxp.com>
> > > > Signed-off-by: Jacky Bai <ping.bai@nxp.com>
> > > > Signed-off-by: Alice Guo <alice.guo@nxp.com>
> > > > Reviewed-by: Ye Li <ye.li@nxp.com>
> > > > ---
> > > > drivers/watchdog/imx7ulp_wdt.c | 4 ++++
> > > > 1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/drivers/watchdog/imx7ulp_wdt.c
> > > > b/drivers/watchdog/imx7ulp_wdt.c index 014f497ea0dc..b8ac0cb04d2f
> > > > 100644
> > > > --- a/drivers/watchdog/imx7ulp_wdt.c
> > > > +++ b/drivers/watchdog/imx7ulp_wdt.c
> > > > @@ -179,9 +179,13 @@ static int imx7ulp_wdt_init(void __iomem *base,
> > > unsigned int timeout)
> > > > int ret;
> > > >
> > > > local_irq_disable();
> > > > +
> > > > + mb();
> > > > /* unlock the wdog for reconfiguration */
> > > > writel_relaxed(UNLOCK_SEQ0, base + WDOG_CNT);
> > > > writel_relaxed(UNLOCK_SEQ1, base + WDOG_CNT);
> > > > + mb();
> > > > +
> > > > ret = imx7ulp_wdt_wait(base, WDOG_CS_ULK);
> > > > if (ret)
> > > > goto init_out;
> > > > --
> > > > 2.17.1
> > > >
> > > >
> > > >
> >
WARNING: multiple messages have this Message-ID (diff)
From: Guenter Roeck <linux@roeck-us.net>
To: Marco Felsch <m.felsch@pengutronix.de>
Cc: "Alice Guo (OSS)" <alice.guo@oss.nxp.com>,
"wim@linux-watchdog.org" <wim@linux-watchdog.org>,
"shawnguo@kernel.org" <shawnguo@kernel.org>,
"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
"festevam@gmail.com" <festevam@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
dl-linux-imx <linux-imx@nxp.com>,
"kernel@pengutronix.de" <kernel@pengutronix.de>,
"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>
Subject: Re: [PATCH 2/7] watchdog: imx7ulp: Add explict memory barrier for unlock sequence
Date: Mon, 22 Aug 2022 07:03:47 -0700 [thread overview]
Message-ID: <20220822140347.GA4087281@roeck-us.net> (raw)
In-Reply-To: <20220822080010.ecdphpm3i26cco5f@pengutronix.de>
On Mon, Aug 22, 2022 at 10:00:10AM +0200, Marco Felsch wrote:
> On 22-08-22, Alice Guo (OSS) wrote:
> > > -----Original Message-----
> > > From: Marco Felsch <m.felsch@pengutronix.de>
> > > Sent: Tuesday, August 16, 2022 2:24 PM
> > > To: Alice Guo (OSS) <alice.guo@oss.nxp.com>
> > > Cc: wim@linux-watchdog.org; linux@roeck-us.net; shawnguo@kernel.org;
> > > s.hauer@pengutronix.de; festevam@gmail.com;
> > > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> > > dl-linux-imx <linux-imx@nxp.com>; kernel@pengutronix.de;
> > > linux-watchdog@vger.kernel.org
> > > Subject: Re: [PATCH 2/7] watchdog: imx7ulp: Add explict memory barrier for
> > > unlock sequence
> > >
> > > On 22-08-16, Alice Guo (OSS) wrote:
> > > > From: Jacky Bai <ping.bai@nxp.com>
> > > >
> > > > Add explict memory barrier for the wdog unlock sequence.
> > >
> > > Did you inspected any failures? It's not enough to say what you did, you need
> > > to specify the why as well.
> > >
> > > Regards,
> > > Marco
> >
> > Hi,
> >
> > Two 16-bit writes of unlocking the Watchdog should be completed within a certain time. The first mb() is used to ensure that previous instructions are completed.
> > The second mb() is used to ensure that the unlock sequence cannot be affected by subsequent instructions. The reason will be added in the commit log of v2.
>
> Hi,
>
> I know what memory barriers are. My question was, did you see any
> issues? Since the driver is used mainline and no one reported issues.
>
> Also just don't use the *_relaxed() versions is more common, than adding
> mb() calls around *_relaxed() versions.
>
Agreed with both. The series is a bit short in explaining _why_ the
changes are made.
Guenter
> Regards,
> Marco
>
> >
> > Best Regards,
> > Alice Guo
> >
> > >
> > > >
> > > > Suggested-by: Ye Li <ye.li@nxp.com>
> > > > Signed-off-by: Jacky Bai <ping.bai@nxp.com>
> > > > Signed-off-by: Alice Guo <alice.guo@nxp.com>
> > > > Reviewed-by: Ye Li <ye.li@nxp.com>
> > > > ---
> > > > drivers/watchdog/imx7ulp_wdt.c | 4 ++++
> > > > 1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/drivers/watchdog/imx7ulp_wdt.c
> > > > b/drivers/watchdog/imx7ulp_wdt.c index 014f497ea0dc..b8ac0cb04d2f
> > > > 100644
> > > > --- a/drivers/watchdog/imx7ulp_wdt.c
> > > > +++ b/drivers/watchdog/imx7ulp_wdt.c
> > > > @@ -179,9 +179,13 @@ static int imx7ulp_wdt_init(void __iomem *base,
> > > unsigned int timeout)
> > > > int ret;
> > > >
> > > > local_irq_disable();
> > > > +
> > > > + mb();
> > > > /* unlock the wdog for reconfiguration */
> > > > writel_relaxed(UNLOCK_SEQ0, base + WDOG_CNT);
> > > > writel_relaxed(UNLOCK_SEQ1, base + WDOG_CNT);
> > > > + mb();
> > > > +
> > > > ret = imx7ulp_wdt_wait(base, WDOG_CS_ULK);
> > > > if (ret)
> > > > goto init_out;
> > > > --
> > > > 2.17.1
> > > >
> > > >
> > > >
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-08-22 14:03 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-16 4:36 [PATCH 0/7] watchdog: imx7ulp_wdt: update i.MX7ULP WDOG timer driver Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 1/7] watchdog: imx7ulp: Move suspend/resume to noirq phase Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 2/7] watchdog: imx7ulp: Add explict memory barrier for unlock sequence Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-16 6:23 ` Marco Felsch
2022-08-16 6:23 ` Marco Felsch
2022-08-22 7:49 ` Alice Guo (OSS)
2022-08-22 7:49 ` Alice Guo (OSS)
2022-08-22 8:00 ` Marco Felsch
2022-08-22 8:00 ` Marco Felsch
2022-08-22 14:03 ` Guenter Roeck [this message]
2022-08-22 14:03 ` Guenter Roeck
2022-08-23 5:38 ` Alice Guo (OSS)
2022-08-23 5:38 ` Alice Guo (OSS)
2022-08-23 9:10 ` Marco Felsch
2022-08-23 9:10 ` Marco Felsch
2022-08-23 12:02 ` Guenter Roeck
2022-08-23 12:02 ` Guenter Roeck
2022-08-24 6:24 ` Alice Guo (OSS)
2022-08-24 6:24 ` Alice Guo (OSS)
2022-08-24 8:03 ` Marco Felsch
2022-08-24 8:03 ` Marco Felsch
2022-08-24 8:40 ` Alice Guo (OSS)
2022-08-24 8:40 ` Alice Guo (OSS)
2022-08-24 9:06 ` Marco Felsch
2022-08-24 9:06 ` Marco Felsch
2022-08-24 10:05 ` Alice Guo (OSS)
2022-08-24 10:05 ` Alice Guo (OSS)
2022-08-25 7:50 ` Marco Felsch
2022-08-25 7:50 ` Marco Felsch
2022-08-25 8:08 ` Alice Guo (OSS)
2022-08-25 8:08 ` Alice Guo (OSS)
2022-08-25 9:01 ` Marco Felsch
2022-08-25 9:01 ` Marco Felsch
2022-08-25 10:11 ` Alice Guo (OSS)
2022-08-25 10:11 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 3/7] watchdog: imx7ulp_wdt: Check CMD32EN in wdog init Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-22 14:05 ` Guenter Roeck
2022-08-22 14:05 ` Guenter Roeck
2022-08-23 5:46 ` Alice Guo (OSS)
2022-08-23 5:46 ` Alice Guo (OSS)
2022-08-23 12:05 ` Guenter Roeck
2022-08-23 12:05 ` Guenter Roeck
2022-08-16 4:36 ` [PATCH 4/7] watchdog: imx7ulp_wdt: Fix RCS timeout issue Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-22 14:09 ` Guenter Roeck
2022-08-22 14:09 ` Guenter Roeck
2022-08-23 5:59 ` Alice Guo (OSS)
2022-08-23 5:59 ` Alice Guo (OSS)
2022-08-23 12:06 ` Guenter Roeck
2022-08-23 12:06 ` Guenter Roeck
2022-08-24 6:44 ` Alice Guo (OSS)
2022-08-24 6:44 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 5/7] watchdog: imx7ulp_wdt: Handle wdog reconfigure failure Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 6/7] watchdog: imx7ulp_wdt: init wdog when it was active Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
2022-08-16 4:36 ` [PATCH 7/7] watchdog: imx93: add watchdog timer on imx93 Alice Guo (OSS)
2022-08-16 4:36 ` Alice Guo (OSS)
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=20220822140347.GA4087281@roeck-us.net \
--to=linux@roeck-us.net \
--cc=alice.guo@oss.nxp.com \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=m.felsch@pengutronix.de \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--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 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.