Messages in this thread |  | | | Date | Sun, 20 Jan 2008 14:22:54 +0100 | | From | Arnd Hannemann <> | | Subject | Re: [GEODE] Geode GX/LX watchdog timer (was 2.6.24-rc8 hangs at mfgpt-timer) |
| |
Hi,
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, Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |