soundwire: amd: serialize amd manager resume sequence during pm_prepare
During pm_prepare callback, pm_request_resume() delays SoundWire manager D0 entry sequence. Synchronize runtime resume sequence for amd_manager instance prior to invoking child devices resume sequence for both the amd power modes(ClockStop Mode and Power off mode). Change the power_mode_mask check and use pm_runtime_resume() in amd_pm_prepare() callback. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20250530054447.1645807-3-Vijendar.Mukunda@amd.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
committed by
Vinod Koul
parent
5b8c1f39b5
commit
0383734179
@@ -1178,10 +1178,10 @@ static int __maybe_unused amd_pm_prepare(struct device *dev)
|
||||
* device is not in runtime suspend state, observed that device alerts are missing
|
||||
* without pm_prepare on AMD platforms in clockstop mode0.
|
||||
*/
|
||||
if (amd_manager->power_mode_mask & AMD_SDW_CLK_STOP_MODE) {
|
||||
ret = pm_request_resume(dev);
|
||||
if (amd_manager->power_mode_mask) {
|
||||
ret = pm_runtime_resume(dev);
|
||||
if (ret < 0) {
|
||||
dev_err(bus->dev, "pm_request_resume failed: %d\n", ret);
|
||||
dev_err(bus->dev, "pm_runtime_resume failed: %d\n", ret);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user