struct amd_sdw_manager *amd_manager = dev_get_drvdata(dev);
        struct sdw_bus *bus = &amd_manager->bus;
        int ret;
+       u32 val;
 
        if (bus->prop.hw_disabled) {
                dev_dbg(bus->dev, "SoundWire manager %d is disabled,\n",
                ret = amd_sdw_set_device_state(amd_manager, AMD_SDW_DEVICE_STATE_D3);
                if (ret)
                        return ret;
+               if (amd_manager->wake_en_mask) {
+                       val = readl(amd_manager->acp_mmio + ACP_PME_EN);
+                       if (!val) {
+                               writel(1, amd_manager->acp_mmio + ACP_PME_EN);
+                               val = readl(amd_manager->acp_mmio + ACP_PME_EN);
+                               dev_dbg(amd_manager->dev, "ACP_PME_EN:0x%x\n", val);
+                       }
+               }
        }
        return 0;
 }
 
 #define AMD_SDW1_DEVICE_STATE_MASK                     GENMASK(3, 2)
 #define AMD_SDW_DEVICE_STATE_D0                                0
 #define AMD_SDW_DEVICE_STATE_D3                                3
+#define ACP_PME_EN                                     0x0001400
 
 static u32 amd_sdw_freq_tbl[AMD_SDW_MAX_FREQ_NUM] = {
        AMD_SDW_DEFAULT_CLK_FREQ,