[PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support

Sen Wang posted 1 patch 1 month, 2 weeks ago
sound/soc/ti/davinci-mcasp.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by Sen Wang 1 month, 2 weeks ago
The McASP driver supports runtime PM callbacks for register save/restore
during device idle, but doesn't provide system suspend/resume callbacks.
This causes audio to fail to resume after system suspend.

Since the driver already handles runtime suspend & resume, we can reuse
existing runtime PM logics.

Signed-off-by: Sen Wang <sen@ti.com>
---
Tested on SK-AM62Px with audio playback during system suspend/resume cycles

Testlog:
  https://gist.github.com/SenWang125/065c2840071f2569a79db9e99010603f

 sound/soc/ti/davinci-mcasp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
index 8a2977093df1..643661ebee83 100644
--- a/sound/soc/ti/davinci-mcasp.c
+++ b/sound/soc/ti/davinci-mcasp.c
@@ -2811,6 +2811,8 @@ static int davinci_mcasp_runtime_resume(struct device *dev)
 #endif
 
 static const struct dev_pm_ops davinci_mcasp_pm_ops = {
+	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
+				pm_runtime_force_resume)
 	SET_RUNTIME_PM_OPS(davinci_mcasp_runtime_suspend,
 			   davinci_mcasp_runtime_resume,
 			   NULL)
-- 
2.43.0
Re: [PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by Mark Brown 1 month ago
On Wed, 11 Feb 2026 16:10:01 -0600, Sen Wang wrote:
> The McASP driver supports runtime PM callbacks for register save/restore
> during device idle, but doesn't provide system suspend/resume callbacks.
> This causes audio to fail to resume after system suspend.
> 
> Since the driver already handles runtime suspend & resume, we can reuse
> existing runtime PM logics.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: ti: davinci-mcasp: Add system suspend/resume support
      commit: 5879521cb558871472b97c4744dbe634a4286f0e

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Re: [PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by devarsh 1 month, 2 weeks ago
On 12/02/26 03:40, Sen Wang wrote:
> The McASP driver supports runtime PM callbacks for register save/restore
> during device idle, but doesn't provide system suspend/resume callbacks.
> This causes audio to fail to resume after system suspend.
> 
> Since the driver already handles runtime suspend & resume, we can reuse
> existing runtime PM logics.
> 
> Signed-off-by: Sen Wang <sen@ti.com>

Reviewed-by: Devarsh Thakkar <devarsht@ti.com>

Regards
Devarsh
> ---
> Tested on SK-AM62Px with audio playback during system suspend/resume cycles
> 
> Testlog:
>   https://gist.github.com/SenWang125/065c2840071f2569a79db9e99010603f
> 
>  sound/soc/ti/davinci-mcasp.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
> index 8a2977093df1..643661ebee83 100644
> --- a/sound/soc/ti/davinci-mcasp.c
> +++ b/sound/soc/ti/davinci-mcasp.c
> @@ -2811,6 +2811,8 @@ static int davinci_mcasp_runtime_resume(struct device *dev)
>  #endif
>  
>  static const struct dev_pm_ops davinci_mcasp_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
> +				pm_runtime_force_resume)
>  	SET_RUNTIME_PM_OPS(davinci_mcasp_runtime_suspend,
>  			   davinci_mcasp_runtime_resume,
>  			   NULL)
Re: [PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by Kendall Willis 1 month, 1 week ago
On 2/11/26 16:10, Sen Wang wrote:
> The McASP driver supports runtime PM callbacks for register save/restore
> during device idle, but doesn't provide system suspend/resume callbacks.
> This causes audio to fail to resume after system suspend.
> 
> Since the driver already handles runtime suspend & resume, we can reuse
> existing runtime PM logics.
> 
> Signed-off-by: Sen Wang <sen@ti.com>
> ---
> Tested on SK-AM62Px with audio playback during system suspend/resume cycles
> 
> Testlog:
>    https://gist.github.com/SenWang125/065c2840071f2569a79db9e99010603f
> 
>   sound/soc/ti/davinci-mcasp.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
> index 8a2977093df1..643661ebee83 100644
> --- a/sound/soc/ti/davinci-mcasp.c
> +++ b/sound/soc/ti/davinci-mcasp.c
> @@ -2811,6 +2811,8 @@ static int davinci_mcasp_runtime_resume(struct device *dev)
>   #endif
>   
>   static const struct dev_pm_ops davinci_mcasp_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
> +				pm_runtime_force_resume)
>   	SET_RUNTIME_PM_OPS(davinci_mcasp_runtime_suspend,
>   			   davinci_mcasp_runtime_resume,
>   			   NULL)

Reviewed-by: Kendall Willis <k-willis@ti.com>
Re: [PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by Moteen Shah 1 month, 1 week ago
On 12/02/26 03:40, Sen Wang wrote:
> The McASP driver supports runtime PM callbacks for register save/restore
> during device idle, but doesn't provide system suspend/resume callbacks.
> This causes audio to fail to resume after system suspend.
>
> Since the driver already handles runtime suspend & resume, we can reuse
> existing runtime PM logics.
>
> Signed-off-by: Sen Wang <sen@ti.com>
> ---
> Tested on SK-AM62Px with audio playback during system suspend/resume cycles
>
> Testlog:
>    https://gist.github.com/SenWang125/065c2840071f2569a79db9e99010603f
>
>   sound/soc/ti/davinci-mcasp.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
> index 8a2977093df1..643661ebee83 100644
> --- a/sound/soc/ti/davinci-mcasp.c
> +++ b/sound/soc/ti/davinci-mcasp.c
> @@ -2811,6 +2811,8 @@ static int davinci_mcasp_runtime_resume(struct device *dev)
>   #endif
>   
>   static const struct dev_pm_ops davinci_mcasp_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
> +				pm_runtime_force_resume)
>   	SET_RUNTIME_PM_OPS(davinci_mcasp_runtime_suspend,
>   			   davinci_mcasp_runtime_resume,
>   			   NULL)

Tested on j784s4.
Logs: https://gist.github.com/Jamm02/8ed69ad1c9b3a4f0cda4977cc18e01b8

Tested-by: Moteen Shah <m-shah@ti.com>

Regards,
Moteen
Re: [PATCH] ASoC: ti: davinci-mcasp: Add system suspend/resume support
Posted by Péter Ujfalusi 1 month, 2 weeks ago

On 12/02/2026 00:10, Sen Wang wrote:
> The McASP driver supports runtime PM callbacks for register save/restore
> during device idle, but doesn't provide system suspend/resume callbacks.
> This causes audio to fail to resume after system suspend.
> 
> Since the driver already handles runtime suspend & resume, we can reuse
> existing runtime PM logics.

Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>

> 
> Signed-off-by: Sen Wang <sen@ti.com>
> ---
> Tested on SK-AM62Px with audio playback during system suspend/resume cycles
> 
> Testlog:
>   https://gist.github.com/SenWang125/065c2840071f2569a79db9e99010603f
> 
>  sound/soc/ti/davinci-mcasp.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c
> index 8a2977093df1..643661ebee83 100644
> --- a/sound/soc/ti/davinci-mcasp.c
> +++ b/sound/soc/ti/davinci-mcasp.c
> @@ -2811,6 +2811,8 @@ static int davinci_mcasp_runtime_resume(struct device *dev)
>  #endif
>  
>  static const struct dev_pm_ops davinci_mcasp_pm_ops = {
> +	SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
> +				pm_runtime_force_resume)
>  	SET_RUNTIME_PM_OPS(davinci_mcasp_runtime_suspend,
>  			   davinci_mcasp_runtime_resume,
>  			   NULL)

-- 
Péter