History log of /drivers/watchdog/iTCO_wdt.c
Revision Date Author Comments
86a1e1896c2710402e29a875d8d830244274244d 05-Mar-2012 Wim Van Sebroeck <wim@iguana.be> watchdog: nowayout is bool

nowayout is actually a boolean value.
So make it bool for all watchdog device drivers.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
27c766aaacb265d625dc634bf7903f7f9fd0c697 16-Feb-2012 Joe Perches <joe@perches.com> watchdog: Use pr_<fmt> and pr_<level>

Use the current logging styles.

Make sure all output has a prefix.
Add missing newlines.
Remove now unnecessary PFX, NAME, and miscellaneous other #defines.
Coalesce formats.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
84e83c2846ffb42772056a0f825d8578dc92d586 24-Jan-2012 Seth Heasley <seth.heasley@intel.com> watchdog: iTCO_wdt: add Intel Lynx Point DeviceIDs

This patch adds the TCO Watchdog DeviceIDs for the Intel Lynx Point PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
0d098587cec70048336a3809bcde8044c7e9aa08 26-Dec-2011 Wim Van Sebroeck <wim@iguana.be> watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing (part 2)

Redhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver

The previous patch breaks reset watchdog behaviour on the older hardware.
It is therefor better to make sure that the behaviour for older hardware (<=ICH5 or
6300ESB) is preserved and that the behaviour for newer hardware is changed.
We therefor use the iTCO_version to see if we need the clearing of the SMI_TCO_EN
bit in the SMI_EN register.

So the new behaviour becomes:
turn_SMI_watchdog_clear_off=0 -> Do not turn off SMI clearing watchdog.
turn_SMI_watchdog_clear_off=1 -> Turn off SMI clearing watchdog when iTCO_version=1
(ICHO till ICH5 + 6300ESB only)
turn_SMI_watchdog_clear_off=2 -> Turn off SMI clearing watchdog.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
deb9197b7031b8f4ed311dc47a14363da4458544 19-Oct-2011 Wim Van Sebroeck <wim@iguana.be> watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing

Redhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver
Jiri Slaby: 28d41f53f broke temperature sensors on a ICH10 chipset

The iTCO_wdt driver disables the SMI. This breaks good working of newer hardware.
The disabling of the SMI by the TCO logic dates back from the i810-tco driver
from Nils Faerber (around 28 July 2000). The reason for this was that some BIOSes
install handlers reset or disable the watchdog timer instead of resetting the system.
The trick to fix this was to disable the SMI (by clearing the SMI_TCO_EN bit of the
SMI_EN register) to prevent this from happening.

This however has strange effects on newer hardware. So we are in a situation that
a fix for broken old hardware affects newer hardware.

The correct solution is to make this fix an option (with the new module parameter:
turn_SMI_watchdog_clear_off) so that the default behaviour is the unfixed version.

the next patch will be to move this in the start and stop functions of the driver
and to add a new module parameter for the global_smi_en bit and to get rid of the
vendor_support code.

This fix can have an effect on old (typical ICH & ICH2 chipsets) motherboards that
have a broken BIOS implementation concerning TCO logic. In these case the module
parameter turn_SMI_watchdog_clear_off=1 will need to be added.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2fc5d52b212b58a5b48af19d85cb60971aa1aa4b 14-Jul-2011 Wolfram Sang <w.sang@pengutronix.de> watchdog: remove empty pm-functions

While checking what watchdog drivers usually do in suspend/resume to
spot common behaviour for the watchdog framework, I found these drivers
which do nothing but add some cruft. Remove it, it is superfluous. New
approaches should probably be done with pm_ops anyway.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
97b08a62219d98a2bb9094e321b4ee7ccb41aa63 20-May-2011 Wim Van Sebroeck <wim@iguana.be> watchdog: iTCO_wdt: clean-up PCI device ID's

Clean up of the iTCO_wdt PCI device ID's.
Own macro is replaced by the PCI_VDEVICE macro.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
aa1f465225384b276e150238472a5452c4f92a84 20-Apr-2011 Seth Heasley <seth.heasley@intel.com> watchdog: iTCO_wdt: TCO Watchdog patch for Intel Panther Point PCH

This patch adds the TCO Watchdog DeviceIDs for the Intel Panther Point PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
5f3b27569fc0286a51f8d0655c7fb4f5b36aea65 23-Feb-2011 Wim Van Sebroeck <wim@iguana.be> watchdog: cleanup spaces before tabs

cleanup spaces before tabs in drivers/watchdog/

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
4562f53940432369df88e195ef8f9b642bdf7cd6 21-Feb-2011 Wim Van Sebroeck <wim@iguana.be> watchdog: convert to DEFINE_PCI_DEVICE_TABLE

Convert static struct pci_device_id *[] to static DEFINE_PCI_DEVICE_TABLE tables.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
203f8d893ed772ec8589cfd3c7d1af312643b703 08-Jan-2011 Seth Heasley <seth.heasley@intel.com> watchdog: iTCO_wdt: TCO Watchdog patch for Intel DH89xxCC PCH

This patch adds the DeviceIDs for TCO Watchdog on the Intel DH89xxCC PCH.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
d38bd479a10d1981816061da0a8ba27384dc3c35 31-Dec-2010 Wim Van Sebroeck <wim@iguana.be> watchdog: iTCO_wdt: TCO Watchdog patch for Intel NM10 DeviceIDs

This patch adds the Intel NM10 DeviceIDs for iTCO Watchdog.

Reported-by: Dan Weinlader <dan@weinlader.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
c54fb811745967732bc9e31d837e0c9925e12b4b 17-Nov-2010 Seth Heasley <seth.heasley@intel.com> watchdog: iTCO_wdt: TCO Watchdog patch for Intel Patsburg PCH

This patch adds an additional LPC Controller DeviceID for the Intel Patsburg PCH for TCO Watchdog.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
ad1d3a26cdb9a0eaa0bf8351a000df0f256b0baa 27-Oct-2010 Prarit Bhargava <prarit@redhat.com> watchdog: iTCO_wdt.c: remove extra pci_dev_put()'s from init code

The iTCO_wdt driver erroneously releases the pci_dev, and causes PCI hotremove
to fail because of an incorrect usage count.

The probe for this driver does a for_each_pci_dev() which gets a reference for
a pci_dev when iTCO_wdt_init() is successful. The for_each_pci_dev() loop
puts a reference for a pci_dev when iTCO_wdt_init() fails, so the
iTCO_wdt_init() does not need to do any pci_dev_put()'s.

The only pci_dev_put() that is required is in the iTCO_wdt_cleanup() function.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
641912f479962e50b29573a8c0e8c514eb02e9b8 06-Aug-2010 Prarit Bhargava <prarit@redhat.com> watchdog: iTCO_wdt: Cleanup warning messages

The current iTCO_wdt driver warnings are confusing. Currently when the device
driver returns an error the console contains:

iTCO_vendor_support: vendor-support=0
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
iTCO_wdt: failed to reset NO_REBOOT flag, reboot disabled by hardware
iTCO_wdt: No card detected

After the patch,

iTCO_vendor_support: vendor-support=0
iTCO_wdt: Intel TCO WatchDog Timer Driver v1.05
iTCO_wdt: failed to reset NO_REBOOT flag, device disabled by hardware/BIOS

Clean this up and use the word "device" to describe the device.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
cad0df370048f7980d4cbc9e88b74db0d87cfc56 09-Sep-2010 Seth Heasley <seth.heasley@intel.com> watchdog: iTCO_wdt: TCO Watchdog patch for Intel Patsburg DeviceIDs

This patch adds the Intel Patsburg (PCH) DeviceIDs for iTCO Watchdog.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
7e6811daa662fc4eb87ddfb3ea0ea9d782044157 19-Apr-2010 Pádraig Brady <P@draigBrady.com> iTCO_wdt: fix TCO V1 timeout values and limits

For TCO V1 devices the programmed timeout was twice too long
because the fact that the TCO V1 timer needs to count down
twice before triggering the watchdog, wasn't accounted for.
Also the timeout values in the module description and error
message were clarified. And the _STS registers are 16 bit
instead of 8 bit.

Signed-off-by: Pádraig Brady <P@draigBrady.com>
Tested-by: Simon Kagstrom <simon.kagstrom@netinsight.se>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
4c7d849204341dea19be941a3c1eb4bdffac9cc4 26-Mar-2010 Seth Heasley <seth.heasley@intel.com> [WATCHDOG] iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs

This patch adds the Intel Cougar Point PCH LPC Controller DeviceIDs for iTCO Watchdog.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: stable <stable@kernel.org>
42747d712de56cf2087b702d2ad90af114c53138 26-Dec-2009 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] watchdog_info constify

make the watchdog_info struct const where possible.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
ec26985be4a22652c323f264cf570e4fbe3610b6 09-Feb-2010 Naga Chumbalkar <nagananda.chumbalkar@hp.com> [WATCHDOG] iTCO_wdt: clean up probe(), modify err msg

It's possible that the platform is not allowing reboot via TCO timer
expiration.

Also, differentiate between not finding a chipset that has TCO, and the case
where TCO is present but the driver fails to initialize for some reason.

Signed-off-by: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
3c9d8eccd8687f0e770e4d89fd0d73d4f81a985a 14-Jan-2010 Seth Heasley <seth.heasley@intel.com> [WATCHDOG] iTCO_wdt: Add Intel Cougar Point and PCH DeviceIDs

This patch adds the Intel Cougar Point and PCH DeviceIDs for iTCO Watchdog.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
4946f8353da9d3038e2a9d0295d5dfeee4cee5c5 07-Dec-2009 Imre Kaloz <kaloz@openwrt.org> [WATCHDOG] iTCO_wdt: add PCI ID for the Intel EP80579 (Tolapai) SoC

add PCI ID for the Intel EP80579 (Tolapai) SoC

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
cb711a1931363b8ad4dc98df4a92c262ced8eeb4 15-Nov-2009 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt.c - cleanup chipset documentation

Cleanup the documentation about the supported chipsets.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
79e8941dda254505bb8af37b3a009165dfb7e98a 11-Nov-2009 Seth Heasley <seth.heasley@intel.com> [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak

Add the Intel Ibex Peak (PCH) Device IDs to iTCO_wdt.c.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
de8cd9a3067e25a860c225f794e6b249b73aa6b1 05-Jun-2009 Denis V. Lunev <den@openvz.org> [WATCHDOG] iTCO_wdt: fix memory corruption when RCBA is disabled by hardware

According to 9.1.33 on p.343 of ICH8.pdf RCBA can be disabled by
hardware if bit 0 of RCBA register is not set.

Perform correct check for this to prevent memory corruption under
some virtual machines where this feature is disabled.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Vasily Averin <vvs@openvz.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
0a7e658226d66a259097db5f4734589604b303fd 14-Apr-2009 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt: Cleanup code

Clean-up the iTCO_wdt code so that checkpatch.pl get's happy...

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
143a2e54bf53216674eada16e8953f48b159e08a 18-Mar-2009 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] More coding-style and trivial clean-up

Some more cleaning-up of the watchdog drivers.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
12d60e28bed3f593aac5385acbdbb089eb8ae21e 28-Jan-2009 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt: fix SMI_EN regression 2

bugzilla: #12363
commit 7cd5b08be3c489df11b559fef210b81133764ad4 added a second regression:
some Dell's and Compaq's lockup on boot. So we revert most of the code.
The ICH9 reboot issue remains in place and will need some more fixing... :-(

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
cd92a17eec752f8c948c4b6ab93dc099ce55b8cb 04-Dec-2008 Linus Torvalds <torvalds@linux-foundation.org> iTCO_wdt: fix typo when setting TCO_EN bit

The code used '&= 0x00002000' when it tried to set the TCO_EN bit, which
obviously didn't set that bit at all, but instead just reset all the
other bits in the SMI_EN register.

This bug seemingly caused various random behavior, with Frans Pop
reporting that X.org just silently hung at startup and Rafael Wysocki
reports the fan spinning with full speed.

See
http://lkml.org/lkml/2008/12/3/178
http://bugzilla.kernel.org/show_bug.cgi?id=12162

The problem seems to have been triggered by "[WATCHDOG] iTCO_wdt :
problem with rebooting on new ICH9 based motherboards" (commit
7cd5b08be3c489df11b559fef210b81133764ad4), but the bogus code existed
before that too (in the "supermicro_old_pre_stop()" function), it just
apparently never showed up due to different logic.

In that commit the broken code got moved around and now gets executed
much more.

Reported-by: Rafael J. Wysocki <rjw@sisk.pl>
Tested-by: Frans Pop <elendil@planet.nl>
Cc: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28d41f53f05c51d4f445129de325b1072ee25b8b 19-Nov-2008 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt: add PCI ID's for ICH9 & ICH10 chipsets

Add support for the following I/O controller hubs:
ICH7DH, ICH9M, ICH9M-E, ICH10, ICH10R, ICH10D and ICH10DO.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
c6904ddb976d99b77d91b78a0ce5bdfffb416c49 19-Nov-2008 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt : correct status clearing

The iTCO_wdt code was not clearing the correct bits.
It now clears the timeout status bit and then the
SECOND_TO_STS bit and then the BOOT_STS bit.
Note: we should first clear the SECOND_TO_STS bit
before clearing the BOOT_STS bit.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
7cd5b08be3c489df11b559fef210b81133764ad4 19-Nov-2008 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt : problem with rebooting on new ICH9 based motherboards

Bugzilla #9868: On Intel motherboards with the ICH9 based I/O controllers
(Like DP35DP and DG33FB) the iTCO timer counts but it doesn't reboot the
system after the counter expires.

This patch fixes this by moving the enabling & disabling of the TCO_EN bit
in the SMI_EN register into the start and stop code.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
7944d3a5a70ee5c1904ed1e8b1d71ff0af2854d9 06-Aug-2008 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] more coding style clean-up's

More coding style clean-up's.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
0c06090c9472db0525cb6fe229c3bea33bbbbb3c 18-Jul-2008 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] Coding style - Indentation - part 2

This brings the watchdog drivers into line with coding style.
This patch takes cares of the indentation as described in chapter 1.
Main changes:
* Re-structure the ioctl switch call for all drivers as follows:
switch (cmd) {
case WDIOC_GETSUPPORT:
case WDIOC_GETSTATUS:
case WDIOC_GETBOOTSTATUS:
case WDIOC_GETTEMP:
case WDIOC_SETOPTIONS:
case WDIOC_KEEPALIVE:
case WDIOC_SETTIMEOUT:
case WDIOC_GETTIMEOUT:
case WDIOC_GETTIMELEFT:
default:
}

This to make the migration from the drivers to the uniform watchdog
device driver easier in the future.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
0e6fa3fb38e2c89ba9abce9a8b74867f07d20d19 19-May-2008 Alan Cox <alan@redhat.com> [WATCHDOG 18/57] iTCO: unlocked_ioctl, coding style and cleanup

Review and switch to unlocked_ioctl

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
a49056da0325742d3b4f5d1ef7bf8ab0690c3888 30-Apr-2008 Gabriel C <nix.or.die@googlemail.com> [WATCHDOG] Add ICH9DO into the iTCO_wdt.c driver

Add the Intel ICH9DO controller ID's for the iTCO_wdt kernel driver and bump
the driver version.

Tested on an P5E-VM DO ASUS motherboard.

Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
acf603513ebc0ebf209f087fb7b9237b0c0a2581 31-Aug-2007 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt.c ICH8 pci-device-id's

Add the pci-device-id's for the ICH8M and the ICH8M-E chipsets.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
08113e39dfd3d91053e8f1855fc0dc15305fb4c0 31-Aug-2007 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt.c init & exit fixes

Mark init and exit procedures as __devinit & _-devexit.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
c87b639a2a34ea2912000ee1b1bd313d46fda276 19-Aug-2007 Wim Van Sebroeck <wim@iguana.be> [WATCHDOG] iTCO_wdt.c pci_device_id table clean-up

Make the pci_device_id table more readable.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
2ba7d7b39f3adf3f71aa3acab00111a429056c7d 23-Oct-2007 Roel Kluin <12o3l@tiscali.nl> [WATCHDOG] Unlock in iTCO_wdt_start when reboot is disabled

Unlock in iTCO_wdt_start when reboot is disabled

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
b7e04f8c61a46d742de23af5d7ca2b41b33e40ac 17-Aug-2007 Wim Van Sebroeck <wim@iguana.be> mv watchdog tree under drivers

move watchdog tree from drivers/char/watchdog to drivers/watchdog.

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>