ASoC: amd: Allow I2S wake event after ACP is powerd On
authorAkshu Agrawal <akshu.agrawal@amd.com>
Wed, 26 Feb 2020 10:47:44 +0000 (16:17 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 26 Feb 2020 18:14:15 +0000 (18:14 +0000)
ACP_PME_EN allows wake interrupt to be generated when I2S wake
feature is enabled. On turning ACP On, ACP_PME_EN gets cleared.
Setting the bit back ensures that wake event can be received
when ACP is On.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
Link: https://lore.kernel.org/r/20200226104746.208656-1-akshu.agrawal@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/raven/pci-acp3x.c

index da60e2e..f25ce50 100644 (file)
@@ -38,8 +38,13 @@ static int acp3x_power_on(void __iomem *acp3x_base)
        timeout = 0;
        while (++timeout < 500) {
                val = rv_readl(acp3x_base + mmACP_PGFSM_STATUS);
-               if (!val)
+               if (!val) {
+                       /* Set PME_EN as after ACP power On,
+                        * PME_EN gets cleared
+                        */
+                       rv_writel(0x1, acp3x_base + mmACP_PME_EN);
                        return 0;
+               }
                udelay(1);
        }
        return -ETIMEDOUT;