On Tue, Sep 28, 2021 at 08:57:35AM +0200, Thomas Weißschuh wrote: > Tested on a Gigabyte X570 I AORUS PRO WIFI. > > Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/watchdog/sp5100_tco.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c > index a730ecbf78cd..dd9a744f82f8 100644 > --- a/drivers/watchdog/sp5100_tco.c > +++ b/drivers/watchdog/sp5100_tco.c > @@ -10,6 +10,7 @@ > * https://www.kernelconcepts.de > * > * See AMD Publication 43009 "AMD SB700/710/750 Register Reference Guide", > + * AMD Publication 44413 "AMD SP5100 Register Reference Guide" > * AMD Publication 45482 "AMD SB800-Series Southbridges Register > * Reference Guide" > * AMD Publication 48751 "BIOS and Kernel Developer’s Guide (BKDG) > @@ -144,6 +145,13 @@ static int tco_timer_set_timeout(struct watchdog_device *wdd, > return 0; > } > > +static unsigned int tco_timer_get_timeleft(struct watchdog_device *wdd) > +{ > + struct sp5100_tco *tco = watchdog_get_drvdata(wdd); > + > + return readl(SP5100_WDT_COUNT(tco->tcobase)); > +} > + > static u8 sp5100_tco_read_pm_reg8(u8 index) > { > outb(index, SP5100_IO_PM_INDEX_REG); > @@ -386,6 +394,7 @@ static const struct watchdog_ops sp5100_tco_wdt_ops = { > .stop = tco_timer_stop, > .ping = tco_timer_ping, > .set_timeout = tco_timer_set_timeout, > + .get_timeleft = tco_timer_get_timeleft, > }; > > static int sp5100_tco_probe(struct platform_device *pdev) > > base-commit: 41e73feb1024929e75eaf2f7cd93f35a3feb331b > -- > 2.33.0 >