From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754874AbcFHNkU (ORCPT ); Wed, 8 Jun 2016 09:40:20 -0400 Received: from hqemgate16.nvidia.com ([216.228.121.65]:8989 "EHLO hqemgate16.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754230AbcFHNkS (ORCPT ); Wed, 8 Jun 2016 09:40:18 -0400 X-PGP-Universal: processed; by hqnvupgp08.nvidia.com on Wed, 08 Jun 2016 06:37:58 -0700 Message-ID: <57581D40.1040304@nvidia.com> Date: Wed, 8 Jun 2016 18:57:28 +0530 From: Laxman Dewangan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Guenter Roeck CC: , , Subject: Re: [PATCH] watchdog: max77620: Add support for watchdog timer References: <1465213964-25639-1-git-send-email-ldewangan@nvidia.com> <20160607175600.GA3712@roeck-us.net> <5757DE51.6000201@nvidia.com> <57581A7F.4000200@roeck-us.net> In-Reply-To: <57581A7F.4000200@roeck-us.net> X-Originating-IP: [10.19.65.30] X-ClientProxiedBy: DRHKMAIL101.nvidia.com (10.25.59.15) To bgmail102.nvidia.com (10.25.59.11) Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 08 June 2016 06:45 PM, Guenter Roeck wrote: > On 06/08/2016 01:58 AM, Laxman Dewangan wrote: >> Hi Guenter, >> >> Thanks for quick review. I will take care of most of comment. >> I have one query fr following comment. >> >> Thanks, >> Laxman >> >> On Tuesday 07 June 2016 11:26 PM, Guenter Roeck wrote: >>> Hi, >>> >>> On Mon, Jun 06, 2016 at 05:22:44PM +0530, Laxman Dewangan wrote: >>> + /* Stop watchodog */ >>> + ret = regmap_update_bits(wdt->rmap, MAX77620_REG_CNFGGLBL2, >>> + MAX77620_WDTEN, 0); >>> + if (ret < 0) { >>> + dev_err(wdt->dev, "Failed to reset WDTEN: %d\n", ret); >>> + return ret; >>> + } >>> Alternatively, you could set WDOG_HW_RUNNING to tell the watchdog core >>> that the watchdog is already running. The watchdog core would then ping >>> the watchdog until the watchdog device is opened. >>> >>> That would also require to tell the watchdog core about the current >>> (or default) >>> timeout, which doesn't seem to be set anywhere. That means it won't >>> be set at all >>> unless user space updates it explicitly. This is quite unusual. Is >>> it on purpose >>> or an oversight ? If it is on purpose, please explain. >> >> OK, we have use cases where we have enabled the WDT in BL also. and >> keep runnign till kernel up. >> Instead of stopping WDT, I can say that WDOG_HW_RUNING and current >> timeout can be read from the register. >> >> Now, the WDT need to be ping periodically. Is there any flag which >> enabled the worker thread from core which will keep pinging till user >> space alive and activate the WDT? >> > The watchdog core will start the worker if WDOG_HW_RUNNING is set. > > Thanks, found that I also need to set max_hw_heartbeat_ms for periodic ping if user space is not active. I tested this path and it works perfectly. This is also great that all work thread is moved to core. It simplify the drivers very much. I sent the v2 patch with fixing all this. Thanks, Laxman