[PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()

Ao Sun posted 1 patch 2 months, 1 week ago
There is a newer version of this series
drivers/watchdog/mtk_wdt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Ao Sun 2 months, 1 week ago
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
Re: [PATCH] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Guenter Roeck 2 months, 1 week ago
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
[PATCH v2] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Ao Sun 2 months ago
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
Re: [PATCH v2] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Guenter Roeck 2 months ago
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
>
[PATCH v3] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Ao Sun 2 months ago
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
Re: [PATCH v3] watchdog: mtk_wdt: Use NOIRQ_SYSTEM_SLEEP_PM_OPS()
Posted by Matthias Brugger 2 months ago

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 = {