From: "Mathieu A.-Tetreault" <
alexa...@amotus.ca>
As per the linux kernel documentation:
The iTCO v1 and v2's internal timer is stored as ticks which decrement
every 0.6 seconds. v3's internal timer is stored as seconds (some
datasheets incorrectly state 0.6 seconds).
https://github.com/torvalds/linux/blob/master/drivers/watchdog/iTCO_wdt.c#L136
This have been tested on an iTCOv3 board.
Signed-off-by: Mathieu A.-Tetreault <
alexa...@amotus.ca>
---
drivers/watchdog/itco.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/watchdog/itco.c b/drivers/watchdog/itco.c
index f46379d..8346f36 100644
--- a/drivers/watchdog/itco.c
+++ b/drivers/watchdog/itco.c
@@ -97,7 +97,7 @@ init(EFI_PCI_IO *pci_io, UINT16 pci_vendor_id, UINT16 pci_device_id,
return status;
}
value &= 0xfc00;
- value |= ((timeout * 10) / 6) & 0x3ff;
+ value |= timeout & 0x3ff;
status = uefi_call_wrapper(pci_io->Io.Write, 6, pci_io,
EfiPciIoWidthUint16,
EFI_PCI_IO_PASS_THROUGH_BAR,
--
2.19.2