linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
@ 2025-07-29  3:51 Ao Sun
  2025-07-29 14:00 ` Guenter Roeck
  0 siblings, 1 reply; 6+ messages in thread
From: Ao Sun @ 2025-07-29  3:51 UTC (permalink / raw)
  To: wim, linux, matthias.bgg, p.zabel
  Cc: linux-watchdog, linux-arm-kernel, linux-mediatek, linux-kernel,
	geng.sun, Ao Sun

During the device resume process, an interrupt storm occurs after
interrupts are enabled, preventing the watchdog device from being
awakened and functioning.

To ensure that the watchdog is executed before interrupts are enabled,
Use NOIRQ_SYSTEM_SLEEP_PM_OPS().

Signed-off-by: Ao Sun <aosun718@gmail.com>
---
 drivers/watchdog/mtk_wdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index d6a6393f609d..5f2179dabd67 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -327,7 +327,7 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
 MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
 
 static const struct dev_pm_ops mtk_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
+	 SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
 				mtk_wdt_resume)
 };
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
  2025-07-29  3:51 [PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS() Ao Sun
@ 2025-07-29 14:00 ` Guenter Roeck
  2025-07-31  3:31   ` [PATCH v2] " Ao Sun
  0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2025-07-29 14:00 UTC (permalink / raw)
  To: Ao Sun
  Cc: wim, matthias.bgg, p.zabel, linux-watchdog, linux-arm-kernel,
	linux-mediatek, linux-kernel, geng.sun

On Tue, Jul 29, 2025 at 11:51:17AM +0800, Ao Sun wrote:
> During the device resume process, an interrupt storm occurs after
> interrupts are enabled, preventing the watchdog device from being
> awakened and functioning.
> 
> To ensure that the watchdog is executed before interrupts are enabled,
> Use NOIRQ_SYSTEM_SLEEP_PM_OPS().
> 
> Signed-off-by: Ao Sun <aosun718@gmail.com>
> ---
>  drivers/watchdog/mtk_wdt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index d6a6393f609d..5f2179dabd67 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -327,7 +327,7 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
>  MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
>  
>  static const struct dev_pm_ops mtk_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> +	 SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
>  				mtk_wdt_resume)

Extra space added at beginning of line, and bad multi-line alignment.

Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
  2025-07-29 14:00 ` Guenter Roeck
@ 2025-07-31  3:31   ` Ao Sun
  2025-07-31 13:39     ` Guenter Roeck
  0 siblings, 1 reply; 6+ messages in thread
From: Ao Sun @ 2025-07-31  3:31 UTC (permalink / raw)
  To: linux, matthias.bgg, p.zabel, wim
  Cc: linux-kernel, geng.sun, Ao Sun, Jiazi Li, peixuan . qiu

During the device resume process, an interrupt storm occurs after
interrupts are enabled, preventing the watchdog device from being
resumed and functioning.

To ensure that the watchdog is resumed and executed before interrupts
are enabled, Use NOIRQ_SYSTEM_SLEEP_PM_OPS().

Signed-off-by: Jiazi Li <jqqlijiazi@gmail.com>
Signed-off-by: peixuan.qiu <peixuan.qiu@transsion.com>
Signed-off-by: Ao Sun <aosun718@gmail.com>
---
Changes in v2:
 - remove extra space, and align multiple lines.
---
 drivers/watchdog/mtk_wdt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index d6a6393f609d..7dc53409cf99 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -327,8 +327,8 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
 MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
 
 static const struct dev_pm_ops mtk_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
-				mtk_wdt_resume)
+	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
+				      mtk_wdt_resume)
 };
 
 static struct platform_driver mtk_wdt_driver = {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
  2025-07-31  3:31   ` [PATCH v2] " Ao Sun
@ 2025-07-31 13:39     ` Guenter Roeck
  2025-08-04  6:11       ` [PATCH v3] " Ao Sun
  0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2025-07-31 13:39 UTC (permalink / raw)
  To: Ao Sun
  Cc: matthias.bgg, p.zabel, wim, linux-kernel, geng.sun, Jiazi Li,
	peixuan . qiu

On Thu, Jul 31, 2025 at 11:31:36AM +0800, Ao Sun wrote:
> During the device resume process, an interrupt storm occurs after
> interrupts are enabled, preventing the watchdog device from being
> resumed and functioning.
> 
> To ensure that the watchdog is resumed and executed before interrupts
> are enabled, Use NOIRQ_SYSTEM_SLEEP_PM_OPS().
> 
> Signed-off-by: Jiazi Li <jqqlijiazi@gmail.com>
> Signed-off-by: peixuan.qiu <peixuan.qiu@transsion.com>
> Signed-off-by: Ao Sun <aosun718@gmail.com>

Did this patch really follow this Sign-off chain ? That seems unlikely.

Guenter

> ---
> Changes in v2:
>  - remove extra space, and align multiple lines.
> ---
>  drivers/watchdog/mtk_wdt.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index d6a6393f609d..7dc53409cf99 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -327,8 +327,8 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
>  MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
>  
>  static const struct dev_pm_ops mtk_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> -				mtk_wdt_resume)
> +	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> +				      mtk_wdt_resume)
>  };
>  
>  static struct platform_driver mtk_wdt_driver = {
> -- 
> 2.34.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
  2025-07-31 13:39     ` Guenter Roeck
@ 2025-08-04  6:11       ` Ao Sun
  2025-08-04 10:31         ` Matthias Brugger
  0 siblings, 1 reply; 6+ messages in thread
From: Ao Sun @ 2025-08-04  6:11 UTC (permalink / raw)
  To: linux, matthias.bgg, p.zabel, wim; +Cc: linux-kernel, Ao Sun

During the device resume process, an interrupt storm occurs after
interrupts are enabled, preventing the watchdog device from being
resumed and functioning.

To ensure that the watchdog is resumed and executed before interrupts
are enabled, Use NOIRQ_SYSTEM_SLEEP_PM_OPS().

Signed-off-by: Ao Sun <aosun718@gmail.com>
---
Changes in v3:
 - correct the Signed-off-by.
Changes in v2:
 - remove extra space, and align multiple lines.
---
 drivers/watchdog/mtk_wdt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
index d6a6393f609d..7dc53409cf99 100644
--- a/drivers/watchdog/mtk_wdt.c
+++ b/drivers/watchdog/mtk_wdt.c
@@ -327,8 +327,8 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
 MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
 
 static const struct dev_pm_ops mtk_wdt_pm_ops = {
-	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
-				mtk_wdt_resume)
+	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
+				      mtk_wdt_resume)
 };
 
 static struct platform_driver mtk_wdt_driver = {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
  2025-08-04  6:11       ` [PATCH v3] " Ao Sun
@ 2025-08-04 10:31         ` Matthias Brugger
  0 siblings, 0 replies; 6+ messages in thread
From: Matthias Brugger @ 2025-08-04 10:31 UTC (permalink / raw)
  To: Ao Sun, linux, p.zabel, wim; +Cc: linux-kernel



On 4/8/25 08:11, Ao Sun wrote:
> During the device resume process, an interrupt storm occurs after
> interrupts are enabled, preventing the watchdog device from being
> resumed and functioning.
> 
> To ensure that the watchdog is resumed and executed before interrupts
> are enabled, Use NOIRQ_SYSTEM_SLEEP_PM_OPS().
> 
> Signed-off-by: Ao Sun <aosun718@gmail.com>

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
> Changes in v3:
>   - correct the Signed-off-by.
> Changes in v2:
>   - remove extra space, and align multiple lines.
> ---
>   drivers/watchdog/mtk_wdt.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/watchdog/mtk_wdt.c b/drivers/watchdog/mtk_wdt.c
> index d6a6393f609d..7dc53409cf99 100644
> --- a/drivers/watchdog/mtk_wdt.c
> +++ b/drivers/watchdog/mtk_wdt.c
> @@ -327,8 +327,8 @@ static const struct of_device_id mtk_wdt_dt_ids[] = {
>   MODULE_DEVICE_TABLE(of, mtk_wdt_dt_ids);
>   
>   static const struct dev_pm_ops mtk_wdt_pm_ops = {
> -	SET_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> -				mtk_wdt_resume)
> +	SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(mtk_wdt_suspend,
> +				      mtk_wdt_resume)
>   };
>   
>   static struct platform_driver mtk_wdt_driver = {


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-08-04 10:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-29  3:51 [PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS() Ao Sun
2025-07-29 14:00 ` Guenter Roeck
2025-07-31  3:31   ` [PATCH v2] " Ao Sun
2025-07-31 13:39     ` Guenter Roeck
2025-08-04  6:11       ` [PATCH v3] " Ao Sun
2025-08-04 10:31         ` Matthias Brugger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).