Message ID | 20230623214150.4058721-1-arungopal.kondaveeti@amd.com |
---|---|
State | Accepted |
Commit | 154756319cc6f8b8b86241da02da6a8fcc6abd1f |
Headers | show |
Series | [v2] ASoC: amd: update pm_runtime enable sequence | expand |
On 6/23/2023 7:10 PM, Limonciello, Mario wrote: > > On 6/23/2023 4:41 PM, Arun Gopal Kondaveeti wrote: >> pm_runtime_allow() is not needed for ACP child platform devices. >> Replace pm_runtime_allow() with pm_runtime_mark_last_busy() >> & pm_runtime_set_active() in pm_runtime enable sequence for >> ACP child platform drivers. > > Can you explain what prompted this? > > Does this fix a particular bug, or is it just to correct > things? If it fixes a particular bug; I think it should be > split up across 5 patches (one for each APU) and then > appropriate Fixes tags applied for each on the code they're > fixing. > it is not a fix. just correct things. > >> >> Signed-off-by: Arun Gopal <arungopal.kondaveeti@amd.com> >> --- >> >> Changes since v1: >> -- Updated commit message >> >> --- >> sound/soc/amd/ps/ps-pdm-dma.c | 3 ++- >> sound/soc/amd/raven/acp3x-pcm-dma.c | 3 ++- >> sound/soc/amd/renoir/acp3x-pdm-dma.c | 3 ++- >> sound/soc/amd/vangogh/acp5x-pcm-dma.c | 4 ++-- >> sound/soc/amd/yc/acp6x-pdm-dma.c | 3 ++- >> 5 files changed, 10 insertions(+), 6 deletions(-) >> >> diff --git a/sound/soc/amd/ps/ps-pdm-dma.c >> b/sound/soc/amd/ps/ps-pdm-dma.c >> index bdbbb797c74d..d48f7c5af289 100644 >> --- a/sound/soc/amd/ps/ps-pdm-dma.c >> +++ b/sound/soc/amd/ps/ps-pdm-dma.c >> @@ -391,8 +391,9 @@ static int acp63_pdm_audio_probe(struct >> platform_device *pdev) >> } >> pm_runtime_set_autosuspend_delay(&pdev->dev, >> ACP_SUSPEND_DELAY_MS); >> pm_runtime_use_autosuspend(&pdev->dev); >> + pm_runtime_mark_last_busy(&pdev->dev); >> + pm_runtime_set_active(&pdev->dev); >> pm_runtime_enable(&pdev->dev); >> - pm_runtime_allow(&pdev->dev); >> return 0; >> } >> diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c >> b/sound/soc/amd/raven/acp3x-pcm-dma.c >> index 7362dd15ad30..9538f3ffc5d9 100644 >> --- a/sound/soc/amd/raven/acp3x-pcm-dma.c >> +++ b/sound/soc/amd/raven/acp3x-pcm-dma.c >> @@ -416,8 +416,9 @@ static int acp3x_audio_probe(struct >> platform_device *pdev) >> pm_runtime_set_autosuspend_delay(&pdev->dev, 2000); >> pm_runtime_use_autosuspend(&pdev->dev); >> + pm_runtime_mark_last_busy(&pdev->dev); >> + pm_runtime_set_active(&pdev->dev); >> pm_runtime_enable(&pdev->dev); >> - pm_runtime_allow(&pdev->dev); >> return 0; >> } >> diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c >> b/sound/soc/amd/renoir/acp3x-pdm-dma.c >> index 4e299f96521f..c3b47e9bd239 100644 >> --- a/sound/soc/amd/renoir/acp3x-pdm-dma.c >> +++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c >> @@ -430,8 +430,9 @@ static int acp_pdm_audio_probe(struct >> platform_device *pdev) >> } >> pm_runtime_set_autosuspend_delay(&pdev->dev, >> ACP_SUSPEND_DELAY_MS); >> pm_runtime_use_autosuspend(&pdev->dev); >> + pm_runtime_mark_last_busy(&pdev->dev); >> + pm_runtime_set_active(&pdev->dev); >> pm_runtime_enable(&pdev->dev); >> - pm_runtime_allow(&pdev->dev); >> return 0; >> } >> diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c >> b/sound/soc/amd/vangogh/acp5x-pcm-dma.c >> index 29901ee4bfe3..587dec5bb33d 100644 >> --- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c >> +++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c >> @@ -409,9 +409,9 @@ static int acp5x_audio_probe(struct >> platform_device *pdev) >> } >> pm_runtime_set_autosuspend_delay(&pdev->dev, 2000); >> pm_runtime_use_autosuspend(&pdev->dev); >> + pm_runtime_mark_last_busy(&pdev->dev); >> + pm_runtime_set_active(&pdev->dev); >> pm_runtime_enable(&pdev->dev); >> - pm_runtime_allow(&pdev->dev); >> - >> return 0; >> } >> diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c >> b/sound/soc/amd/yc/acp6x-pdm-dma.c >> index d818eba48546..72c4591e451b 100644 >> --- a/sound/soc/amd/yc/acp6x-pdm-dma.c >> +++ b/sound/soc/amd/yc/acp6x-pdm-dma.c >> @@ -383,8 +383,9 @@ static int acp6x_pdm_audio_probe(struct >> platform_device *pdev) >> } >> pm_runtime_set_autosuspend_delay(&pdev->dev, >> ACP_SUSPEND_DELAY_MS); >> pm_runtime_use_autosuspend(&pdev->dev); >> + pm_runtime_mark_last_busy(&pdev->dev); >> + pm_runtime_set_active(&pdev->dev); >> pm_runtime_enable(&pdev->dev); >> - pm_runtime_allow(&pdev->dev); >> return 0; >> }
diff --git a/sound/soc/amd/ps/ps-pdm-dma.c b/sound/soc/amd/ps/ps-pdm-dma.c index bdbbb797c74d..d48f7c5af289 100644 --- a/sound/soc/amd/ps/ps-pdm-dma.c +++ b/sound/soc/amd/ps/ps-pdm-dma.c @@ -391,8 +391,9 @@ static int acp63_pdm_audio_probe(struct platform_device *pdev) } pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS); pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - pm_runtime_allow(&pdev->dev); return 0; } diff --git a/sound/soc/amd/raven/acp3x-pcm-dma.c b/sound/soc/amd/raven/acp3x-pcm-dma.c index 7362dd15ad30..9538f3ffc5d9 100644 --- a/sound/soc/amd/raven/acp3x-pcm-dma.c +++ b/sound/soc/amd/raven/acp3x-pcm-dma.c @@ -416,8 +416,9 @@ static int acp3x_audio_probe(struct platform_device *pdev) pm_runtime_set_autosuspend_delay(&pdev->dev, 2000); pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - pm_runtime_allow(&pdev->dev); return 0; } diff --git a/sound/soc/amd/renoir/acp3x-pdm-dma.c b/sound/soc/amd/renoir/acp3x-pdm-dma.c index 4e299f96521f..c3b47e9bd239 100644 --- a/sound/soc/amd/renoir/acp3x-pdm-dma.c +++ b/sound/soc/amd/renoir/acp3x-pdm-dma.c @@ -430,8 +430,9 @@ static int acp_pdm_audio_probe(struct platform_device *pdev) } pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS); pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - pm_runtime_allow(&pdev->dev); return 0; } diff --git a/sound/soc/amd/vangogh/acp5x-pcm-dma.c b/sound/soc/amd/vangogh/acp5x-pcm-dma.c index 29901ee4bfe3..587dec5bb33d 100644 --- a/sound/soc/amd/vangogh/acp5x-pcm-dma.c +++ b/sound/soc/amd/vangogh/acp5x-pcm-dma.c @@ -409,9 +409,9 @@ static int acp5x_audio_probe(struct platform_device *pdev) } pm_runtime_set_autosuspend_delay(&pdev->dev, 2000); pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - pm_runtime_allow(&pdev->dev); - return 0; } diff --git a/sound/soc/amd/yc/acp6x-pdm-dma.c b/sound/soc/amd/yc/acp6x-pdm-dma.c index d818eba48546..72c4591e451b 100644 --- a/sound/soc/amd/yc/acp6x-pdm-dma.c +++ b/sound/soc/amd/yc/acp6x-pdm-dma.c @@ -383,8 +383,9 @@ static int acp6x_pdm_audio_probe(struct platform_device *pdev) } pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS); pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_set_active(&pdev->dev); pm_runtime_enable(&pdev->dev); - pm_runtime_allow(&pdev->dev); return 0; }
pm_runtime_allow() is not needed for ACP child platform devices. Replace pm_runtime_allow() with pm_runtime_mark_last_busy() & pm_runtime_set_active() in pm_runtime enable sequence for ACP child platform drivers. Signed-off-by: Arun Gopal <arungopal.kondaveeti@amd.com> --- Changes since v1: -- Updated commit message --- sound/soc/amd/ps/ps-pdm-dma.c | 3 ++- sound/soc/amd/raven/acp3x-pcm-dma.c | 3 ++- sound/soc/amd/renoir/acp3x-pdm-dma.c | 3 ++- sound/soc/amd/vangogh/acp5x-pcm-dma.c | 4 ++-- sound/soc/amd/yc/acp6x-pdm-dma.c | 3 ++- 5 files changed, 10 insertions(+), 6 deletions(-)