Re: [PATCH] watchdog: sp5100_tco: Add support for get_timeleft

From: Guenter Roeck
Date: Sat Oct 02 2021 - 09:21:20 EST


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
>