All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Varadarajan, Charulatha" <charu@ti.com>
To: Kevin Hilman <khilman@deeprootsystems.com>
Cc: "paul@pwsan.com" <paul@pwsan.com>,
	"linux-watchdog@vger.kernel.org" <linux-watchdog@vger.kernel.org>,
	"tony@atomide.com" <tony@atomide.com>,
	"Nayak, Rajendra" <rnayak@ti.com>,
	"Basak, Partha" <p-basak2@ti.com>,
	"wim@iguana.be" <wim@iguana.be>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Cousson, Benoit" <b-cousson@ti.com>
Subject: RE: [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way
Date: Wed, 29 Sep 2010 18:44:03 +0530	[thread overview]
Message-ID: <EAF47CD23C76F840A9E7FCE10091EFAB030CD02B1E@dbde02.ent.ti.com> (raw)
In-Reply-To: <877hi5740v.fsf@deeprootsystems.com>



> -----Original Message-----
> From: Kevin Hilman [mailto:khilman@deeprootsystems.com]
> Sent: Wednesday, September 29, 2010 6:36 AM
> To: Varadarajan, Charulatha
> Cc: tony@atomide.com; wim@iguana.be; linux-omap@vger.kernel.org; linux-
> watchdog@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
> paul@pwsan.com; Cousson, Benoit; Nayak, Rajendra; Basak, Partha
> Subject: Re: [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way
> 
> Hi Charu,
> 
> "Varadarajan, Charulatha" <charu@ti.com> writes:
> 
> > Series of patches to port watchdog module to use hwmod APIs
> > for OMAP2PLUS chips and use runtime APIs for all OMAP chips.
> > For this hwmod database for OMAP2PLUS watchdog instances are
> > populated and implements watchdog module to use PM runtime APIs.
> >
> > This patch series is generated on "origin/pm-core" which
> > has Kevin's pm-next series, the runtime PM core patch series,
> > and a collection of hwmod fixes that Paul/Benoit have lined up
> > for 2.6.37.
> >
> > Tested on OMAP2430, OMAP4430 (ES1.0 & ES2.0), OMAP3430 SDP boards
> > and zoom3 board. Also verified that this patch series does not
> > break the OMAP1 build.
> 
> I found a little snag with this series.  Try testing with
> omap2plus_defconfig and changing CONFIG_OMAP_WATCHDOG=n.
> 
> If CONFIG_OMAP_WATCHDOG is not enabled in the kernel config, the system
> will reboot soon after bootup. 

Thanks for finding this issue.

After watchdog module reset, the WDTs are enabled. The default time
for a system reset after a watchdog module reset is ~10s as per the
default value of the WDT registers. Hence the above problem is observed.

If CONFIG_OMAP_WATCHDOG is defined, wdt's probe is called within this
10s time and watchdog_disable is called during probe. Hence we are not
finding this issue if CONFIG_OMAP_WATCHDOG is defined.

Ideally, because of the above, watchdog should be with
HWMOD_INIT_NO_RESET flag.

If agreed, I would send the below patch (extended to other OMAPs)
on top of my watchdog timer hwmod series with proper change log.

diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-
omap2/omap_hwmod_3xxx_data.c
index 5bfe9c9..c567b24 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -260,6 +260,7 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
        .slaves         = omap3xxx_wd_timer2_slaves,
        .slaves_cnt     = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
        .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+       .flags          = HWMOD_INIT_NO_RESET,
 };

-V Charulatha

<<snip>>

WARNING: multiple messages have this Message-ID (diff)
From: charu@ti.com (Varadarajan, Charulatha)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way
Date: Wed, 29 Sep 2010 18:44:03 +0530	[thread overview]
Message-ID: <EAF47CD23C76F840A9E7FCE10091EFAB030CD02B1E@dbde02.ent.ti.com> (raw)
In-Reply-To: <877hi5740v.fsf@deeprootsystems.com>



> -----Original Message-----
> From: Kevin Hilman [mailto:khilman at deeprootsystems.com]
> Sent: Wednesday, September 29, 2010 6:36 AM
> To: Varadarajan, Charulatha
> Cc: tony at atomide.com; wim at iguana.be; linux-omap at vger.kernel.org; linux-
> watchdog at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> paul at pwsan.com; Cousson, Benoit; Nayak, Rajendra; Basak, Partha
> Subject: Re: [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way
> 
> Hi Charu,
> 
> "Varadarajan, Charulatha" <charu@ti.com> writes:
> 
> > Series of patches to port watchdog module to use hwmod APIs
> > for OMAP2PLUS chips and use runtime APIs for all OMAP chips.
> > For this hwmod database for OMAP2PLUS watchdog instances are
> > populated and implements watchdog module to use PM runtime APIs.
> >
> > This patch series is generated on "origin/pm-core" which
> > has Kevin's pm-next series, the runtime PM core patch series,
> > and a collection of hwmod fixes that Paul/Benoit have lined up
> > for 2.6.37.
> >
> > Tested on OMAP2430, OMAP4430 (ES1.0 & ES2.0), OMAP3430 SDP boards
> > and zoom3 board. Also verified that this patch series does not
> > break the OMAP1 build.
> 
> I found a little snag with this series.  Try testing with
> omap2plus_defconfig and changing CONFIG_OMAP_WATCHDOG=n.
> 
> If CONFIG_OMAP_WATCHDOG is not enabled in the kernel config, the system
> will reboot soon after bootup. 

Thanks for finding this issue.

After watchdog module reset, the WDTs are enabled. The default time
for a system reset after a watchdog module reset is ~10s as per the
default value of the WDT registers. Hence the above problem is observed.

If CONFIG_OMAP_WATCHDOG is defined, wdt's probe is called within this
10s time and watchdog_disable is called during probe. Hence we are not
finding this issue if CONFIG_OMAP_WATCHDOG is defined.

Ideally, because of the above, watchdog should be with
HWMOD_INIT_NO_RESET flag.

If agreed, I would send the below patch (extended to other OMAPs)
on top of my watchdog timer hwmod series with proper change log.

diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-
omap2/omap_hwmod_3xxx_data.c
index 5bfe9c9..c567b24 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -260,6 +260,7 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
        .slaves         = omap3xxx_wd_timer2_slaves,
        .slaves_cnt     = ARRAY_SIZE(omap3xxx_wd_timer2_slaves),
        .omap_chip      = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+       .flags          = HWMOD_INIT_NO_RESET,
 };

-V Charulatha

<<snip>>

  reply	other threads:[~2010-09-29 13:14 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-23 14:32 [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way Varadarajan, Charulatha
2010-09-23 14:32 ` Varadarajan, Charulatha
2010-09-23 14:32 ` [PATCH v8 1/6] OMAP3: hwmod data: Add watchdog timer Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-23 14:32 ` [PATCH v8 2/6] OMAP2420: " Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-23 14:32 ` [PATCH v8 3/6] OMAP2430: " Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-23 15:25   ` Russell King - ARM Linux
2010-09-23 15:25     ` Russell King - ARM Linux
2010-09-23 17:07     ` Paul Walmsley
2010-09-23 17:07       ` Paul Walmsley
2010-09-23 14:32 ` [PATCH v8 4/6] OMAP4: " Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-23 14:32 ` [PATCH v8 5/6] OMAP: WDT: Split OMAP1 and OMAP2PLUS device registration Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-23 14:32 ` [PATCH v8 6/6] OMAP: WDT: Use PM runtime APIs instead of clk FW APIs Varadarajan, Charulatha
2010-09-23 14:32   ` Varadarajan, Charulatha
2010-09-29  1:05 ` [PATCH v8 0/6] OMAP: WDT: Implement WDT in hwmod way Kevin Hilman
2010-09-29  1:05   ` Kevin Hilman
2010-09-29  1:05   ` Kevin Hilman
2010-09-29 13:14   ` Varadarajan, Charulatha [this message]
2010-09-29 13:14     ` Varadarajan, Charulatha
2010-09-29 14:37     ` Kevin Hilman
2010-09-29 14:37       ` Kevin Hilman
2010-09-29 14:46       ` Varadarajan, Charulatha
2010-09-29 14:46         ` Varadarajan, Charulatha
2010-09-29 15:43         ` Kevin Hilman
2010-09-29 15:43           ` Kevin Hilman

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=EAF47CD23C76F840A9E7FCE10091EFAB030CD02B1E@dbde02.ent.ti.com \
    --to=charu@ti.com \
    --cc=b-cousson@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=p-basak2@ti.com \
    --cc=paul@pwsan.com \
    --cc=rnayak@ti.com \
    --cc=tony@atomide.com \
    --cc=wim@iguana.be \
    /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.