<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><div style="text-align: left;">&gt; Good discussion of these issues in the thread at:<br>&gt; http://marc.info/?l=linux-kernel&amp;m=120050717608600&amp;w=2<br>I have been researching and doing trial and error (based on the above email discussion) since last couple of days to resolve my Geode Watchdog question and I would really appreciate if you can answer my simple questions (see last).<br><br>First I will provide details of my findings. <br>Note: This info might be useful for people running General Software BIOS on LX/CS5536 platform to cross-check with.<br><br>Kernel: 2.6.26 git kernel<br>Debian Stable (etch)<br><br>Case 1:<br>With  CONFIG_GEODE_MFGPT_TIMER(y) and CONFIG_GEODE_WDT(m) enabled:<br>&nbsp;- I get system hang during as noted in the above email thread.<br><br>Case 2:<br>Workaround based on the discussion:<br>With  CONFIG_GEODE_MFGPT_TIMER(y) and CONFIG_GEODE_WDT(m) enabled and mfgpt_irq=8<br>- The system boots fine and here is interrupt output:<br><br>dmesg:<br>
[&nbsp;&nbsp;&nbsp; 0.102468] geode-mfgpt:&nbsp; 6 MFGPT timers available.<br>
[&nbsp;&nbsp;&nbsp; 0.102549] geode-mfgpt:&nbsp; Registered timer 1<br>
[&nbsp;&nbsp;&nbsp; 0.102649] mfgpt-timer:&nbsp; registering the MFGPT timer as a clock event.<br><br>cat /proc/interrupts<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timer<br>&nbsp; 1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i8042<br>&nbsp; 2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cascade<br>&nbsp; 3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 4:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 8:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4829&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mfgpt-timer<br>&nbsp; 9:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 392&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yenta, ehci_hcd:usb1, yenta, ohci_hcd:usb2<br>&nbsp;11:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 361&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth1, eth0<br>&nbsp;12:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 105&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i8042<br>&nbsp;14:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2178&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ide0<br>NMI:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Non-maskable interrupts<br>LOC:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Local timer interrupts<br>TRM:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Thermal event interrupts<br>SPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Spurious interrupts<br>ERR:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>MIS:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br><br>Case 3:<br>With just CONFIG_GEODE_WDT(m) enabled and disabling CONFIG_GEODE_MFGPT_TIMER<br>- system boots fine and I can use the geodewdt WATCGDOG. Here are some outputs:<br>dmesg:<br>[&nbsp;&nbsp;&nbsp; 0.102468] geode-mfgpt:&nbsp; 6 MFGPT timers available.<br>[&nbsp;&nbsp;&nbsp; 0.102549] geode-mfgpt:&nbsp; Registered timer 1<br><br>cat /proc/interrupts<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPU0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8868&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; timer<br>&nbsp; 1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i8042<br>&nbsp; 2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cascade<br>&nbsp; 3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 4:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp; 9:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 350&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ohci_hcd:usb1, ehci_hcd:usb2<br>&nbsp;11:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 172&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; eth1, eth0<br>&nbsp;12:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 105&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i8042<br>&nbsp;14:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2308&nbsp;&nbsp;&nbsp; XT-PIC-XT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ide0<br>NMI:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Non-maskable interrupts<br>LOC:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Local timer interrupts<br>TRM:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Thermal event interrupts<br>SPU:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; Spurious interrupts<br>ERR:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>MIS:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br><br>Now my question which I had asked in my first post:<br><br>Are CONFIG_GEODE_MFGPT_TIMER and CONFIG_GEODE_WDT dependent on each other functionality wise?<br><br>Based on this email http://www.gossamer-threads.com/lists/linux/kernel/866676 it seems that we can disable CONFIG_GEODE_MFGPT_TIMER for BIOSes that are having trouble.<br><br>Will I loose some of my watchdog functionality by disabling the MFGPT timers?<br><br>I apologize for not being familiar with the watchdog territory. This is my first stab at getting the watchdog working on our boards.<br><br>Thank you for your time.<br><br></div>Kushal Koolwal<br><br>I do blog at http://blogs.koolwal.net/<br><br><br><br><hr id="stopSpelling">&gt; Date: Mon, 23 Jun 2008 23:56:52 +0100<br>&gt; From: ilp@lkml.darkvoyage.org.uk<br>&gt; To: kushalkoolwal@hotmail.com<br>&gt; CC: linux-geode@bombadil.infradead.org<br>&gt; Subject: Re: GEODE CS5535/CS5536 Watchdog Timer question<br>&gt; <br>&gt; Kushal Koolwal wrote:<br>&gt; &gt; Perhaps for now I got my partial answer:<br>&gt; &gt; <br>&gt; &gt; Enabling CONFIG_GEODE_MFGPT_TIMER causes a system hang during boot.<br>&gt; <br>&gt; Good discussion of these issues in the thread at:<br>&gt; http://marc.info/?l=linux-kernel&amp;m=120050717608600&amp;w=2<br>&gt; <br>&gt; FWIW, I have both enabled, no hangs on boot and a working watchdog.<br>&gt; <br>&gt; Iain<br><br /><hr />The other season of giving begins 6/24/08. Check out the i’m Talkathon. <a href='http://www.imtalkathon.com?source=TXT_EML_WLH_SeasonOfGiving' target='_new'>Check it out!</a></body>
</html>