From patchwork Fri Mar 13 16:04:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 1254501 X-Patchwork-Delegate: sr@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.a=rsa-sha256 header.s=selector1 header.b=gDDC9EzX; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48f9Xw6Dzgz9sPF for ; Sat, 14 Mar 2020 03:06:08 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 56AEC8152F; Fri, 13 Mar 2020 17:05:45 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="gDDC9EzX"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AE55E81439; Fri, 13 Mar 2020 17:05:23 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03on072c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe09::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1456881333 for ; Fri, 13 Mar 2020 17:05:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JEKyUnXUzlqPpfGZYCZklq5TShT/VsvCLrwpyVcH72HhvCq4VkoXEWSuO0940PiUdTzXQhX4A0TQrF0iIuEOXeRUlu3ZO/m4wyXE6ZYUuRl8whLvyGKQLW/vCDs82NZN/e0cQog6JZiRPWzKEjgsT6e6fdRHWV+vYA+aC7lVHj+mQybozSvg5WH3CSv4sDGF7scVU6nBMdb1jOBvZyBEGcBBGz8aXiHav41mOcfqzYr47cYd+uneXXMX5dDkaMToqfbxZFQ8zN7RjbVs3cU8K7NJ228YCWSsKcj2TeHRPy+RK9J612mROmaEmVmYym/Etfqef7M2ufp+uOGlXb2QIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QdQLwGWnKTPyXroDznz8Y9CKXmCLGahBgs/uezWfgSk=; b=TBvPwOG/49/H0oddf82LsSCXngADxpzPsL3cBXHhbG4+DTbC8q25szgHgHxrI8ouHZAplCAJHdHHsryW8rE7rkR5/S8c4dYrvQHhg6ntCJtkO2TXwd4UxWRJzHlJcXAnkkn9e7jr46SumkCd+bhH3nBZHXE1Fj36HPjDwci1pQkVPGm79IHS29gMndl3bjPnE4Obc6xSq74KYarYhrSnTY0aCeVYelbL2sdHoch63XH3P8RJ+0zdjprIYpk27rq5N3Y6QObuygD7FSuap9azkFXbxIUAPaCfiWtH3jiD2jffp99xjKOO/GvsdJfQ6oRUMx7n0YdwL3+ITn4ZvFnP+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QdQLwGWnKTPyXroDznz8Y9CKXmCLGahBgs/uezWfgSk=; b=gDDC9EzX14iUba4ex0E35WUrcS/zvWZyc+AI+TRVeEPm5hauoiXyhs243Rrv5ScLNzHvwjy/X1dm3fF+aPyTnSlDIRLwsTBUYTGKWACNuwWqKJJesbhoN/CVYSqvTEm06HJvmyzONCo8XIJtPenA1u2lcYS7IRe6L0o+w/Xdbx8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rasmus.villemoes@prevas.dk; Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (20.178.126.85) by VI1PR10MB3519.EURPRD10.PROD.OUTLOOK.COM (10.141.128.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.16; Fri, 13 Mar 2020 16:05:09 +0000 Received: from VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::e58f:1097:b71d:32c7]) by VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM ([fe80::e58f:1097:b71d:32c7%5]) with mapi id 15.20.2793.013; Fri, 13 Mar 2020 16:05:09 +0000 From: Rasmus Villemoes To: u-boot@lists.denx.de Cc: Stefan Roese , Christophe Leroy , Chris Packham , Rasmus Villemoes Subject: [PATCH 3/3] watchdog: honour hw_margin_ms DT property Date: Fri, 13 Mar 2020 17:04:58 +0100 Message-Id: <20200313160458.19727-4-rasmus.villemoes@prevas.dk> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200313160458.19727-1-rasmus.villemoes@prevas.dk> References: <39e2b876-6ba1-59b6-4ddd-068e120f9b4e@denx.de> <20200313160458.19727-1-rasmus.villemoes@prevas.dk> X-ClientProxiedBy: AM6PR08CA0009.eurprd08.prod.outlook.com (2603:10a6:20b:b2::21) To VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:e1::21) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prevas-ravi.prevas.se (5.186.114.43) by AM6PR08CA0009.eurprd08.prod.outlook.com (2603:10a6:20b:b2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.13 via Frontend Transport; Fri, 13 Mar 2020 16:05:08 +0000 X-Mailer: git-send-email 2.23.0 X-Originating-IP: [5.186.114.43] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07f8b7bb-8fa1-4487-d6b2-08d7c7684da3 X-MS-TrafficTypeDiagnostic: VI1PR10MB3519: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-Forefront-PRVS: 034119E4F6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(396003)(39850400004)(136003)(346002)(366004)(199004)(316002)(8936002)(8976002)(8676002)(478600001)(2906002)(107886003)(86362001)(6666004)(81166006)(81156014)(66556008)(52116002)(66476007)(54906003)(186003)(4326008)(1076003)(6506007)(26005)(36756003)(5660300002)(66946007)(6916009)(16526019)(2616005)(956004)(6486002)(44832011)(6512007); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR10MB3519; H:VI1PR10MB2765.EURPRD10.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: prevas.dk does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fldSoOLtzy3x/isXo/iO0uRP6HT9KB5kKCly2UJx2vbZ53yAOL+tYceNa836Z/KbOpaY14gZJWluIkmhHQHKg3i80ciJsO/MIHiZq/pf50o6cz090mqsSKanCnMthnwjWnoA6iDOEBItY/6ih662gsvehgagpNzB4xQnwFwCU3+Rr0LRhOJt0yNcWJgENBA0Nx3prKooxkVwubR6AtIV5+YLC5QkhE5Azw2hOFCVYrAAxS9Uo9/2jWC+kQKWVmn4WAVNvtc9eLWzX2GvANwe1WOo2hs5cV2CVTlWNnSsVY5wFtLPbZkeNbiVgcSCcW9gbpokP0PETCyoWXRzk6G7cM0bKR/DIxwOflarj6fx+1sd0+ccwbzOkuJDPQG0Y6Lk9NILTnLzNyOYf6X2StmcuQMrcuxnKKh7oZOWuyEkS+tINc+UIimTnhxdULNIs3Uf X-MS-Exchange-AntiSpam-MessageData: ENDkilvj/AgArpe3ciQDGwVMk8rSHHlG7cwpFifHyeC3msT1wyUNtGzkfC82fA60tDnSSZCrqWqGszYpJNUthYM8etS5bzXciz34ceCuqQ7aCjwYlmL3W++RnusfinYk48o/8D9nMKBBZzQsOyZsTw== X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 07f8b7bb-8fa1-4487-d6b2-08d7c7684da3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2020 16:05:09.0802 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JW7axAkuvN88jFv/oQFTmS83jBFTzlYLKrb/NIkIOFmGLRZxOtbvl3ZAEiFnNQm5qipGSmcwj5yAeXjcOaIjupMk464WrY95R7/j5Bj6tOc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3519 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Some watchdog devices, e.g. external gpio-triggered ones, must be reset more often than once per second, which means that the current rate-limiting logic in watchdog_reset() fails to keep the board alive. gpio-wdt.txt in the linux source tree defines a "hw_margin_ms" property used to specifiy the maximum time allowed between resetting the device. Allow any watchdog device to specify such a property, and then use a reset period of one quarter of that. We keep the current default of resetting once every 1000ms. Signed-off-by: Rasmus Villemoes Reviewed-by: Stefan Roese --- drivers/watchdog/wdt-uclass.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/watchdog/wdt-uclass.c b/drivers/watchdog/wdt-uclass.c index fb3e247c5f..436a52fd08 100644 --- a/drivers/watchdog/wdt-uclass.c +++ b/drivers/watchdog/wdt-uclass.c @@ -15,6 +15,12 @@ DECLARE_GLOBAL_DATA_PTR; #define WATCHDOG_TIMEOUT_SECS (CONFIG_WATCHDOG_TIMEOUT_MSECS / 1000) +/* + * Reset every 1000ms, or however often is required as indicated by a + * hw_margin_ms property. + */ +static ulong reset_period = 1000; + int initr_watchdog(void) { u32 timeout = WATCHDOG_TIMEOUT_SECS; @@ -36,6 +42,8 @@ int initr_watchdog(void) if (CONFIG_IS_ENABLED(OF_CONTROL)) { timeout = dev_read_u32_default(gd->watchdog_dev, "timeout-sec", WATCHDOG_TIMEOUT_SECS); + reset_period = dev_read_u32_default(gd->watchdog_dev, "hw_margin_ms", + 4*reset_period)/4; } wdt_start(gd->watchdog_dev, timeout * 1000, 0); @@ -117,7 +125,7 @@ void watchdog_reset(void) /* Do not reset the watchdog too often */ now = get_timer(0); if (time_after(now, next_reset)) { - next_reset = now + 1000; /* reset every 1000ms */ + next_reset = now + reset_period; wdt_reset(gd->watchdog_dev); } }