Message ID | 20240131102017.1841495-1-claudiu.beznea.uj@bp.renesas.com |
---|---|
Headers |
Return-Path: <linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2719:b0:106:209c:c626 with SMTP id hl25csp15953dyb; Thu, 1 Feb 2024 01:00:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IHzECoHVnJKqME8dbNEDcc+m8dXxjOe8XYOYunRI6l3FkVazy+rh+rBTdbMqO0A01Sly2T8 X-Received: by 2002:a67:f9c6:0:b0:46b:ba6:bea5 with SMTP id c6-20020a67f9c6000000b0046b0ba6bea5mr3040027vsq.30.1706778031342; Thu, 01 Feb 2024 01:00:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706778031; cv=pass; d=google.com; s=arc-20160816; b=Yy5JvlPSKIhSzZA157UzAvuIB7Vgefjwrt5sbT9Vs5nup5pn0gK1/RnpI3Kl6btc7t sOemCV5ih4w6IJDLqsSY6F6JjJSdSpA0E6LfjYOuCLu9q3+NmyYjVCr/JFsFekYSdn92 IniDrmOoiASjN1PB7byJMCMDWrtX6lCGgRfBSYXScQ7gzcfzZa9+JNkckIGROLzSgvCU eEjFBnKngDvIxGPM05GeSSULVuA8y08dW1OYRLSKL/e98dVLPd0DHvPKU+TqksWFCrqY oXSrowIruMCY4Tn0iPX8Y9dcQ6UVz3bd4MVgbiKYiIC/iX6PDjBwcnGdurcp7E4xIMJX zESQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=T5kJFKr5iTOo1U31zyzdDHRoKpUWs/L5KPoOuxNE44c=; fh=ZRTeMKS/vB4BvYFc1Hoabnd4S24OBiZ3SYiQpknOeLk=; b=L+gefF9ixvMv/E1APrI9qQfDltJtbk/3FudeZfRqWM3Zw8SB8bSGqYmFTI8uaa8/V9 S3+9XjaXbeLEVKqKZMqH1emg8bEeNTyF4TOREQpXZ8yJIuDwbenBO/QNAGMvXvLpIeoT v4yesErRnT7SbKMi4+i4elwl6zolvZSh9ZTLZ8Hqk7J/T9C3PwsCBPIOBOGE8dY2ZV4b xqwKdcQFylkODh6YFAtfiaIQ8RBRMRzwHQgK9qS+mn+T526fIcdpWmbkeunjSzhHCt2v XTmZrb++/Ex92I0wqxleeUiOVINX5NYF6bO5prnjdKeu3n6gR3jwf3gxdP/N2O/M6Lgm VkRQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=OIsnyWfX; arc=pass (i=1 spf=pass spfdomain=tuxon.dev dkim=pass dkdomain=tuxon.dev); spf=pass (google.com: domain of linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org" X-Forwarded-Encrypted: i=1; AJvYcCVAN5vTTmjybcLEpm7pL/pOwxoX109gcULqvZa7Er4qvC46XipoF0cm/Vg1PpgN3OSdpvAA4ZOhCy0od+MRo5mpUIJTzQ== Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id i15-20020ad44baf000000b0068c56d7661fsi129850qvw.82.2024.02.01.01.00.31 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Feb 2024 01:00:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=OIsnyWfX; arc=pass (i=1 spf=pass spfdomain=tuxon.dev dkim=pass dkdomain=tuxon.dev); spf=pass (google.com: domain of linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-46202-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id A5DA91C287AB for <ouuuleilei@gmail.com>; Wed, 31 Jan 2024 10:21:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A29D76BB4A; Wed, 31 Jan 2024 10:20:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="OIsnyWfX" Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE24D69D03 for <linux-kernel@vger.kernel.org>; Wed, 31 Jan 2024 10:20:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706696432; cv=none; b=a0y7qKCspxPmWxSWivlDcGvjyNSUq3xu8uPafwxHtVRXCwZKl9wyr+HIWK3R3Npoofdz6aUTC1wJkDBQJsXH5JWTQ0rUqdggtr4wsKJuu4dyVRb5uPtri0ALkEMOntN9XAcikiHcqdfBFXlFGSzBC1kLjEqlAvWC6WgRcruxXwo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706696432; c=relaxed/simple; bh=UiORm6wg+ND2g1timUzZOpcyVuU+9hkkKah588hb8I0=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Rdp+CKu8N6ovqo3ZoIdwRb50qiN9ih9+VDQ8PpwGAAVVXtVY4b+WcjRVIyTuZYwII2zyv6z1t0nMm2JtDZFYQv4MSRLIN/jb7uFuwd9EQAhnJz4Q8dCCd9XaLAj9mN4EJsIV2JFBo04mV9+NZxnZ24hevlYR5bDnrGbkB4ggukw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=OIsnyWfX; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-55f03ede12cso3924752a12.0 for <linux-kernel@vger.kernel.org>; Wed, 31 Jan 2024 02:20:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1706696427; x=1707301227; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=T5kJFKr5iTOo1U31zyzdDHRoKpUWs/L5KPoOuxNE44c=; b=OIsnyWfX2TvfrJaoCw5HUFgjtWkv93KI62j96xZDFbDwr3BRHuWErO7SLxTwd3/f1Z WCsax3b9rfowTCbC7GtqFbHdIMLBq4J9gMzJCOguMsLVezW9/ipuV5uaMXEG3CxAmwSc +nsR/a+hx2W4igRpMPRVkwAPg7P3vFS8G9EMl4/Orywc1ISmT03ScgAMvs/QST8J8Vbb mV5/fnzjLV2SXNgZ5XFsi1QHJYw6Uzz5WG1xxV+2Pa3911SPKHgbKU0xuhWtp0Tl5Ugh 3N6gMpcfEVNfSE2QzknYEV2N7IBuQZeKfyt3pYKwjr4Jjh6S1qsvaaHTQsOTCtRYU4Jv xNCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706696427; x=1707301227; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=T5kJFKr5iTOo1U31zyzdDHRoKpUWs/L5KPoOuxNE44c=; b=rQfjA11sgD2GH5JVrZJgxyorSyp0WK9fg6mPLjogblZZU/QmpUHhpwb7UgDplN97WZ /AnYwbIOTSUaR50l7LmPMJ1Vjg47DHen7csUseSxAQdO+Nq9foVzTWqNJfaqrszh5Odv 8XEKUITOeUS93rg5JJshq1eTg2v4MwDvIo0VqaPyDZR91ea/2wCRVL+EKEiBKiKvo0r9 BQ3agvxXMGQsdnEPom9KRTjy3alBW2tYTkHaZRTkpVFK/MPnir72hol91S9BOJWuom2p 4wgrgcdfZA98EhmWOkR3t7F6Bf4rUC7u/tqKzrkzY75eSprjlIC00cNeUram2JsSUYUH rjOg== X-Gm-Message-State: AOJu0YxMNNphdL6DWEiCQe7xYYv9exCh4UfBhIUYwi8Jhj/xN1h4h4+Y 3w1+s84ZQCvmlYxRYKcl/v7qFVxquoEbKKmSWFHpsB5oAaElg0hRI8uXlFkH+AY= X-Received: by 2002:a17:906:4f10:b0:a31:81e9:dbbb with SMTP id t16-20020a1709064f1000b00a3181e9dbbbmr744774eju.52.1706696426805; Wed, 31 Jan 2024 02:20:26 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCWqb/5dxkuvkTtbLVQaq3G8f1oqCG6PQKLkgRSnq4U7gFpJvcncDYg0Qe7BZGgD6TVGQ1r1WeZIkouY0CmEC6vX9wDZFXFx9xvkchCCpGkggbnXguZftsvVMixwWixVS3rnDH+MjN5WbaUtSjvVGhNDJ8xv9LpM5iTzQ/BdIjbfmJdnIO8n5tLe52NG8Ci3LIBNdOli73YkQGsqhUE0pEemxPOcoFULibOJuqhRffOBy7jcww4hzC1dd0YqkrpU7+otl4/l9JgruqvTe6AXaxyPA8Dw6oJY+5FyrEJNjZ1vAgJLAOYoHEIPSi6PN/ofn+6BQgfSL+1c2yRCpXHEEhUG8KpwUwvcoUZlLxBrqyNquEynepYij6zUAw8f1ArUi7oCHT5Te14N7sJSfTVQAclxBPXs5LajiqQQ16WQdNuy9v3R2RUytKdDqMgAmQ2dIAHKHeEm6VnCIrrIMULqLjkTaPV7NK49B1R0sdsAvlBXMCzBlXCXa5VCO8s6D4juUWilW4bwkwjx4bbWxJyCxcbIZStAvSalZo1uD+HRNykWJvN2DwtSq8D1Xg/fIw4ca4BiPQELfFmQRv6ymBh0uwAmgYsxa+u4pCUe2RJfZ2J2B6E= Received: from claudiu-X670E-Pro-RS.. ([82.78.167.87]) by smtp.gmail.com with ESMTPSA id vk6-20020a170907cbc600b00a3524be5a86sm5212966ejc.103.2024.01.31.02.20.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Jan 2024 02:20:26 -0800 (PST) From: Claudiu <claudiu.beznea@tuxon.dev> X-Google-Original-From: Claudiu <claudiu.beznea.uj@bp.renesas.com> To: wim@linux-watchdog.org, linux@roeck-us.net, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, geert+renesas@glider.be, magnus.damm@gmail.com, mturquette@baylibre.com, sboyd@kernel.org, p.zabel@pengutronix.de, biju.das.jz@bp.renesas.com Cc: linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, claudiu.beznea@tuxon.dev, Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> Subject: [PATCH v2 00/11] watchdog: rzg2l_wdt: Add support for RZ/G3S Date: Wed, 31 Jan 2024 12:20:06 +0200 Message-Id: <20240131102017.1841495-1-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.39.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789686480863481492 X-GMAIL-MSGID: 1789686480863481492 |
Series |
watchdog: rzg2l_wdt: Add support for RZ/G3S
|
|
Message
claudiu beznea
Jan. 31, 2024, 10:20 a.m. UTC
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Hi,
Series adds watchdog support for Renesas RZ/G3S (R9A08G045) SoC.
Patches do the following:
- patch 1/11 selects CONFIG_PM for the watchdog driver
- patch 2/11 adds clock and reset support for watchdog
- patches 3-7/11 adds fixes and cleanup for the watchdog driver
- patch 8/11 adds suspend to RAM to the watchdog driver (to be used by
RZ/G3S)
- patch 9/11 documents the RZ/G3S support
- patches 10-11/11 add device tree support
It is expected that the clock and device tree support will go through
Geert's tree while the rest of the patches through the watchdog tree.
Thank you,
Claudiu Beznea
Changes in v2:
- added patch "watchdog: rzg2l_wdt: Select PM"
- propagate the return status of rzg2l_wdt_start() to it's callers
in patch "watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()"
- propagate the return status of rzg2l_wdt_stop() to it's callers
in patch "watchdog: rzg2l_wdt: Check return status of pm_runtime_put()"
- removed pm_ptr() from patch "watchdog: rzg2l_wdt: Add suspend/resume support"
- s/G2UL/G2L in patch "dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support"
- collected tags
Claudiu Beznea (11):
clk: renesas: r9a08g045: Add clock and reset support for watchdog
watchdog: rzg2l_wdt: Select PM
watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get()
watchdog: rzg2l_wdt: Check return status of pm_runtime_put()
watchdog: rzg2l_wdt: Remove reset de-assert on probe/stop
watchdog: rzg2l_wdt: Remove comparison with zero
watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset
watchdog: rzg2l_wdt: Add suspend/resume support
dt-bindings: watchdog: renesas,wdt: Document RZ/G3S support
arm64: dts: renesas: r9a08g045: Add watchdog node
arm64: dts: renesas: rzg3s-smarc-som: Enable the watchdog interface
.../bindings/watchdog/renesas,wdt.yaml | 1 +
arch/arm64/boot/dts/renesas/r9a08g045.dtsi | 14 +++
.../boot/dts/renesas/rzg3s-smarc-som.dtsi | 5 +
drivers/clk/renesas/r9a08g045-cpg.c | 3 +
drivers/watchdog/Kconfig | 1 +
drivers/watchdog/rzg2l_wdt.c | 111 ++++++++++--------
6 files changed, 85 insertions(+), 50 deletions(-)
Comments
Hi, Biju, On 31.01.2024 12:32, Biju Das wrote: > Hi Claudiu, > > Thanks for the feedback. > >> -----Original Message----- >> From: Claudiu <claudiu.beznea@tuxon.dev> >> Sent: Wednesday, January 31, 2024 10:20 AM >> Subject: [PATCH v2 04/11] watchdog: rzg2l_wdt: Check return status of >> pm_runtime_put() >> >> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> >> pm_runtime_put() may return an error code. Check its return status. >> >> Along with it the rzg2l_wdt_set_timeout() function was updated to >> propagate the result of rzg2l_wdt_stop() to its caller. >> >> Fixes: 2cbc5cd0b55f ("watchdog: Add Watchdog Timer driver for RZ/G2L") >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> --- >> >> Changes in v2: >> - propagate the return code of rzg2l_wdt_stop() to it's callers >> >> drivers/watchdog/rzg2l_wdt.c | 11 +++++++++-- >> 1 file changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/watchdog/rzg2l_wdt.c b/drivers/watchdog/rzg2l_wdt.c >> index d87d4f50180c..7bce093316c4 100644 >> --- a/drivers/watchdog/rzg2l_wdt.c >> +++ b/drivers/watchdog/rzg2l_wdt.c >> @@ -144,9 +144,13 @@ static int rzg2l_wdt_start(struct watchdog_device >> *wdev) static int rzg2l_wdt_stop(struct watchdog_device *wdev) { >> struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); >> + int ret; >> >> rzg2l_wdt_reset(priv); >> - pm_runtime_put(wdev->parent); >> + >> + ret = pm_runtime_put(wdev->parent); >> + if (ret < 0) >> + return ret; > > Do we need to check the return code? So far we didn't hit this condition. > If you are planning to do it, then just > > return pm_runtime_put(wdev->parent); pm_runtime_put() may return 1 if the device is suspended (which is not considered error) as explained here: https://patchwork.kernel.org/project/linux-renesas-soc/patch/20240122111115.2861835-4-claudiu.beznea.uj@bp.renesas.com/ Thank you, Claudiu Beznea > > Cheers, > Biju > >> >> return 0; > > >> } >> @@ -163,7 +167,10 @@ static int rzg2l_wdt_set_timeout(struct >> watchdog_device *wdev, unsigned int time >> * to reset the module) so that it is updated with new timeout >> values. >> */ >> if (watchdog_active(wdev)) { >> - rzg2l_wdt_stop(wdev); >> + ret = rzg2l_wdt_stop(wdev); >> + if (ret) >> + return ret; >> + >> ret = rzg2l_wdt_start(wdev); >> } >> >> -- >> 2.39.2 >
On 2/1/24 00:52, Geert Uytterhoeven wrote: > Hi Claudiu, > > On Thu, Feb 1, 2024 at 2:30 AM Claudiu <claudiu.beznea@tuxon.dev> wrote: >> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> >> >> The rzg2l_wdt watchdog driver cannot work w/o CONFIG_PM=y (e.g. the >> clocks are enabled though pm_runtime_* specific APIs). To avoid building >> a driver that don't work select CONFIG_PM. >> >> Suggested-by: Guenter Roeck <linux@roeck-us.net> >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> > > Thanks for your patch! > >> --- a/drivers/watchdog/Kconfig >> +++ b/drivers/watchdog/Kconfig >> @@ -912,6 +912,7 @@ config RENESAS_RZG2LWDT >> tristate "Renesas RZ/G2L WDT Watchdog" >> depends on ARCH_RENESAS || COMPILE_TEST >> select WATCHDOG_CORE >> + select PM > > depends on PM > Yes, I did not want to suggest that the driver should _select_ PM. Sorry that I wasn't more specific. Guenter > The availability of PM is architecture/platform-specific, hence it > must not be selected by individual drivers. > >> help >> This driver adds watchdog support for the integrated watchdogs in the >> Renesas RZ/G2L SoCs. These watchdogs can be used to reset a system. > > Gr{oetje,eeting}s, > > Geert > > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds >