[lkml]   [2008]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [GEODE] Geode GX/LX watchdog timer (was 2.6.24-rc8 hangs at mfgpt-timer)

Jordan Crouse wrote:
> On 17/01/08 23:52 +0100, Arnd Hannemann wrote:
>>>> Watchdog for the new API would be great :-)
>>> Coming soon.
> As promised, a watchdog driver for the Geode GX/LX processors is attached.
> I basically just ported the previous patch forward to 2.6.24.

Great work!

> I also have good news or bad news depending on your perspective. I wanted
> to test this against 2.6.24, and OLPC is stuck at an older kernel version,
> so I had to test this with coreboot (LinuxBIOS) on another Geode
> platform. Like all BIOSen execpt for the OLPC firmware, coreboot uses
> VSA (SMM handler) which consumes all the timers.
> So I used the magical MSR and surprise! - the timer tick hung.
> I compiled out the timer tick, and tested the watchdog timer instead,
> and it worked fine on timer 0. So I don't think the MFGPTs themselves
> have anything to do with this problem, but I do think it might be
> related to VSA and possibly interrupts too. I'm going to invoke the
> strong BIOS fu of our LinuxBIOS / BIOS expert Marc Jones, and see what
> he comes up with.
> I don't know how much of a hassle it would be for Andres to get a 2.6.24
> kernel running on the OLPC to make sure that this isn't a regression
> in the timer tick code (I suspect it isn't a regression, but you never
> know). I also think that it would probably be in our best interest to
> default CONFIG_GEODE_MFGPT_TIMER to 'n' until we get this figured
> out. Since most BIOSen don't have timers available, that shouldn't affect
> too many people.
> So, anyway, enjoy the watchdog timer - I hope it meets everybody's
> expectations for the 2.6.25 kernel.

Thanks a lot for this, it works great! (with CONFIG_GEODE_MFGPT_TIMER
not set).
However some minor issues:
Could the name of the /dev entry perhaps be changed from
"geode-watchdog" to "watchdog" instead?
I think all other watchdogs use "watchdog", and using two different
watchdogs in the same machine won't work anyway, because of the same
minor number, right?

As a second point my gcc (4.1.2) issues a warning:

drivers/watchdog/geodewdt.c: In function ‘geodewdt_remove’:
drivers/watchdog/geodewdt.c:256: warning: control reaches end of
non-void function

which I think is a valid one.

> Jordan
Best regards,
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2008-01-20 14:25    [W:0.115 / U:8.220 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site