Re: [11/12] watchdog: sp5100-tco: Abort if watchdog is disabled by hardware

From: Guenter Roeck
Date: Tue Jan 09 2018 - 21:09:37 EST


On Wed, Jan 10, 2018 at 02:26:14AM +0100, Gabriel C wrote:
> On 10.01.2018 01:05, Guenter Roeck wrote:
> >Hi,
> >
> >On Wed, Jan 10, 2018 at 12:58:00AM +0100, Gabriel C wrote:
> >>On 10.01.2018 00:37, Guenter Roeck wrote:
> >>>Hi,
> >>>
> >>>On Tue, Jan 09, 2018 at 05:58:07PM -0500, Lyude Paul wrote:
> >>>>Hi! I'm the one from the Fedora bugzilla who said they'd help review these
> >>>>patches. I might end up responding to this with a real review comment after
> >>>>this message, but first:
> >>>>
> >>>>mind cc'ing me future versions of this patchset and also, is there any way you
> >>>
> >>>Sure.
> >>>
> >>>>know of that one could figure out whether or not the sp5100_tco wdt is
> >>>>actually disabled by the OEM on a board? I tried testing these patches with my
> >>>
> >>>That is what the code is trying to do today.
> >>>
> >>>>system and it appears to be convinced that it's disabled on my system, but I'm
> >>>>hoping something in this patch is just brokenâ
> >>>>
> >>>
> >>>I tested the driver on three different boards. MSI B350M MORTAR,
> >>>MSI B350 TOMAHAWK, and Gigabyte AB350M-Gaming 3. CPU is Ryzen 1700X
> >>>on all boards.
> >>>
> >>>On the MSI boards, the watchdog is reported as disabled. Enabling it
> >>>and letting it expire does not have an effect. I am using the Super-IO
> >>>watchdog instead on those boards (and it works).
> >>>
> >>>On the Gigabyte board, the watchdog is reported as enabled, and it works
> >>>(and the watchdog on the Super-IO chips does not work).
> >>>
> >>>Feel free to play with the driver. Maybe there is a means to enable the
> >>>watchdog if it is disabled. Unfortunately, I was unable to figure out how
> >>>to do it, so I thought it is better to report the fact and not instantiate
> >>>the watchdog if it doesn't work.
> >>>
> >>
> >>I haven an Supemricro H11DSi-NT with EPYCs CPUs..
> >>I can set the watchdog ON/OFF in BIOS and also set in to reset or NMI
> >>with the moatherboard jumpers.
> >>
> >>If you want I can give whatever patches for this driver an try ,
> >>just let me know.
> >>
> >
> >It would be great if you can test the series, even more so if you can test it
> >with the watchdog enabled and disabled . If you need to pull it from a git
> >repository, it is available from
> >git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
> >in branch watchdog-next.
> >
>
> I've tested the branch ( on top latest linus/master ) with watchdog ON/OFF
> in BIOS and jumper set to reset ( default on this board )
>
> It seems no matter is enabled or disabled I always get a disabled message from the driver.
>
> [ 4.246280] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
> [ 4.247052] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
> [ 4.247181] sp5100-tco sp5100-tco: Watchdog hardware is disabled
>
> I got some strange NMI but this may not be related.
>
> 'Uhhuh. NMI received for unknown reason 3d on CPU 33' ( on all 64 CPUs )
>
>
> Maybe on that board is meant to 'enable' the BMC watchdog ..but BIOS tells
> 'if you enable watchdog the 5 minutes timer is started until OS/SW takes over'
>
> And a quick info shows there is no initial timer on the BMC Watchdog..
>
> crazy@ant:~/sp5100_tco$ sudo bmc-watchdog -g
> Timer Use: Reserved
> Timer: Stopped
> Logging: Enabled
> Timeout Action: None
> Pre-Timeout Interrupt: None
> Pre-Timeout Interval: 0 seconds
> Timer Use BIOS FRB2 Flag: Clear
> Timer Use BIOS POST Flag: Clear
> Timer Use BIOS OS Load Flag: Clear
> Timer Use BIOS SMS/OS Flag: Clear
> Timer Use BIOS OEM Flag: Clear
> Initial Countdown: 0 seconds
> Current Countdown: 0 seconds
>
>
> I try to have a closer look tomorrow.
>

Can you run sensors-detect and provide the output ?
Maybe the board uses the watchdog from a Super-IO chip,
similar to the MSI boards.

Guenter