diff --git a/sound/soc/amd/renoir/rn-pci-acp3x.c b/sound/soc/amd/renoir/rn-pci-acp3x.c
index 362409ef0d85..6d013a1bffa6 100644
--- a/sound/soc/amd/renoir/rn-pci-acp3x.c
+++ b/sound/soc/amd/renoir/rn-pci-acp3x.c
@@ -10,6 +10,7 @@
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
+#include <linux/pm_runtime.h>
#include "rn_acp3x.h"
@@ -233,6 +234,12 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
ret = PTR_ERR(adata->pdev);
goto unregister_devs;
}
+ pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS);
+ pm_runtime_use_autosuspend(&pci->dev);
+ pm_runtime_set_active(&pci->dev);
is the set_active() needed? I haven't seen this in the other PCI audio
drivers?
+ pm_runtime_put_noidle(&pci->dev);
+ pm_runtime_enable(&pci->dev);
same, is the _enable() needed()?
+ pm_runtime_allow(&pci->dev);
return 0;
unregister_devs:
@@ -250,6 +257,42 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
return ret;
}