Re: Samsung based S3C2440A chipset - watchdog timer issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/19/19 1:38 AM, Krzysztof Kozlowski wrote:
On Thu, 19 Sep 2019 at 09:40, Suniel Mahesh <sunil.m@xxxxxxxxxxxx> wrote:

Hi,

I am working on one of the Samsung based S3C2440A chipset based target .

I have couple of questions and I request someone to shed some light on these: (Thank you)

The watchdog driver in linux, looks like, it just configured WDT but didn't start it (code snippet included below).

May i know the reasson why WDT is not started ? Is it because u-boot already started WDT, implies it is not required to do the
same once we jump into linux ? or is there any specific reason ?

drivers/watchdog/s3c2410_wdt.c (line 53 and lines 616 - 625)

#define S3C2410_WATCHDOG_ATBOOT         (0)
....
static int tmr_atboot   = S3C2410_WATCHDOG_ATBOOT;
...
...
if (tmr_atboot && started == 0) {
                 dev_info(dev, "starting watchdog timer\n");
                 s3c2410wdt_start(&wdt->wdt_device);
         } else if (!tmr_atboot) {
                 /* if we're not enabling the watchdog, then ensure it is
                  * disabled if it has been left running from the bootloader
                  * or other source */

                 s3c2410wdt_stop(&wdt->wdt_device);
         }
...
...

Tried to start WDT in linux by assigning value 1 to S3C2410_WATCHDOG_ATBOOT. The target resets.

please comment.

I think watchdog should not start during boot before user-space is
brought up. Otherwise who will ping it? Usually watchdog is started by
opening the watchdog device by user-space. If you need it to be
running without user-space, there are special flags for this (see
WDOG_HW_RUNNING and others).

That is not entirely correct. There are use cases where the watchdog
is started on purpose and userspace has to open it within a specified
period of time to prevent the system from rebooting. Presumably this is
what the current driver tries to implement. WDOG_HW_RUNNING was added
to the core after the driver was written, so it is not surprising that
the driver does not support it. Patches welcome.

Thanks,
Guenter



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux