diff mbox

[1/2] arch: arm: Correct the dependency of HAVE_ARM_TWD

Message ID 1310104763-12948-1-git-send-email-tommy.lin@caviumnetworks.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tommy Lin July 8, 2011, 5:59 a.m. UTC
Original mpcore_wdt config dependency is as follow:
MPCORE_WATCHDOG -> HAVE_ARM_TWD -> SMP -> (CPU_V6K || CPU_V7)
This patch will remove SMP and made the dependency as follow:
MPCORE_WATCHDOG -> HAVE_ARM_TWD -> (CPU_V6K || CPU_V7)

The MPCore watchdog (and timer) can be found at ARM11 MPCore (CPU_V6K) and
Cortex A9 MPCore (CPU_V7). The dependency between MPCORE_WATCHDOG and
(CPU_V6K || CPUV7) is necessary, but the dependency of SMP is redundant.
The MPCore watchdog should function normally even SMP is not turned on with
ARM11 or Cortex A9 CPU.

Signed-off-by: Tommy Lin <tommy.lin@caviumnetworks.com>
---
 arch/arm/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Anton Vorontsov July 8, 2011, 9:10 a.m. UTC | #1
On Fri, Jul 08, 2011 at 01:59:23PM +0800, Tommy Lin wrote:
> Original mpcore_wdt config dependency is as follow:
> MPCORE_WATCHDOG -> HAVE_ARM_TWD -> SMP -> (CPU_V6K || CPU_V7)
> This patch will remove SMP and made the dependency as follow:
> MPCORE_WATCHDOG -> HAVE_ARM_TWD -> (CPU_V6K || CPU_V7)
> 
> The MPCore watchdog (and timer) can be found at ARM11 MPCore (CPU_V6K) and
> Cortex A9 MPCore (CPU_V7). The dependency between MPCORE_WATCHDOG and
> (CPU_V6K || CPUV7) is necessary, but the dependency of SMP is redundant.
> The MPCore watchdog should function normally even SMP is not turned on with
> ARM11 or Cortex A9 CPU.
> 
> Signed-off-by: Tommy Lin <tommy.lin@caviumnetworks.com>
> ---

Russell,

As the patch is needed for CNS3xxx Watchdog support, I'd like to take
it via CNS3xxx tree, if you're OK with that.

Thanks!
Russell King - ARM Linux July 8, 2011, 9:17 a.m. UTC | #2
On Fri, Jul 08, 2011 at 01:10:14PM +0400, Anton Vorontsov wrote:
> On Fri, Jul 08, 2011 at 01:59:23PM +0800, Tommy Lin wrote:
> > Original mpcore_wdt config dependency is as follow:
> > MPCORE_WATCHDOG -> HAVE_ARM_TWD -> SMP -> (CPU_V6K || CPU_V7)
> > This patch will remove SMP and made the dependency as follow:
> > MPCORE_WATCHDOG -> HAVE_ARM_TWD -> (CPU_V6K || CPU_V7)
> > 
> > The MPCore watchdog (and timer) can be found at ARM11 MPCore (CPU_V6K) and
> > Cortex A9 MPCore (CPU_V7). The dependency between MPCORE_WATCHDOG and
> > (CPU_V6K || CPUV7) is necessary, but the dependency of SMP is redundant.
> > The MPCore watchdog should function normally even SMP is not turned on with
> > ARM11 or Cortex A9 CPU.
> > 
> > Signed-off-by: Tommy Lin <tommy.lin@caviumnetworks.com>
> > ---
> 
> Russell,
> 
> As the patch is needed for CNS3xxx Watchdog support, I'd like to take
> it via CNS3xxx tree, if you're OK with that.

No.

TWD is only useful if SMP is enabled, otherwise the contained code
won't be called.  Without SMP you'll find that the timer rate will
be zero.

So actually your problems are bigger than just this dependency.
Tommy Lin July 12, 2011, 6:57 a.m. UTC | #3
2011/7/8 Russell King - ARM Linux <linux@arm.linux.org.uk>
>
> On Fri, Jul 08, 2011 at 01:10:14PM +0400, Anton Vorontsov wrote:
> > On Fri, Jul 08, 2011 at 01:59:23PM +0800, Tommy Lin wrote:
> > Russell,
> >
> > As the patch is needed for CNS3xxx Watchdog support, I'd like to take
> > it via CNS3xxx tree, if you're OK with that.
>
> No.
>
> TWD is only useful if SMP is enabled, otherwise the contained code
> won't be called.  Without SMP you'll find that the timer rate will
> be zero.
>
> So actually your problems are bigger than just this dependency.
I think LOCAL_TIMERS is the one that useful if SMP is enabled. The zero
timer rate issue still able to limited by LOCAL_TIMERS.
MPCore watchdog is rely on HAVE_ARM_TWD, but not related to SMP
at least in the current source. I have test the watchdog part without enable
SMP and watchdog works well except wrong reload value that can be fixed
by another patch.

--
Best Regards,
Tommy Lin
Russell King - ARM Linux July 12, 2011, 7:34 a.m. UTC | #4
On Tue, Jul 12, 2011 at 02:57:38PM +0800, ??? wrote:
> 2011/7/8 Russell King - ARM Linux <linux@arm.linux.org.uk>
> >
> > On Fri, Jul 08, 2011 at 01:10:14PM +0400, Anton Vorontsov wrote:
> > > On Fri, Jul 08, 2011 at 01:59:23PM +0800, Tommy Lin wrote:
> > > Russell,
> > >
> > > As the patch is needed for CNS3xxx Watchdog support, I'd like to take
> > > it via CNS3xxx tree, if you're OK with that.
> >
> > No.
> >
> > TWD is only useful if SMP is enabled, otherwise the contained code
> > won't be called.  Without SMP you'll find that the timer rate will
> > be zero.
> >
> > So actually your problems are bigger than just this dependency.
>
> I think LOCAL_TIMERS is the one that useful if SMP is enabled. The zero
> timer rate issue still able to limited by LOCAL_TIMERS.

No.  I could repeat everything I've said about the initialization but
there's no point.  I'm not dropping the SMP dependency of SMP_TWD.
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3262b15..c148326 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1353,7 +1353,7 @@  config HAVE_ARM_SCU
 
 config HAVE_ARM_TWD
 	bool
-	depends on SMP
+	depends on CPU_V6K || CPU_V7
 	select TICK_ONESHOT
 	help
 	  This options enables support for the ARM timer and watchdog unit