ASoC: amd: acp: remove acp poweroff function
authorSyed Saba Kareem <Syed.SabaKareem@amd.com>
Thu, 22 Jun 2023 15:23:41 +0000 (20:53 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 22 Jun 2023 22:31:27 +0000 (23:31 +0100)
BIOS invokes ACP Power off sequence based on ACP device state.
Remove redundant code from ACP PCI driver for ACP Power off sequence.

Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
Link: https://lore.kernel.org/r/Message-Id:
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp/acp-rembrandt.c
sound/soc/amd/acp/acp-renoir.c

index 5c455cc..1b99783 100644 (file)
@@ -204,23 +204,6 @@ static int acp6x_power_on(void __iomem *base)
        return -ETIMEDOUT;
 }
 
-static int acp6x_power_off(void __iomem *base)
-{
-       u32 val;
-       int timeout;
-
-       writel(ACP_PGFSM_CNTL_POWER_OFF_MASK,
-              base + ACP6X_PGFSM_CONTROL);
-       timeout = 0;
-       while (++timeout < 500) {
-               val = readl(base + ACP6X_PGFSM_STATUS);
-               if ((val & ACP_PGFSM_STATUS_MASK) == ACP_POWERED_OFF)
-                       return 0;
-               udelay(1);
-       }
-       return -ETIMEDOUT;
-}
-
 static int acp6x_reset(void __iomem *base)
 {
        u32 val;
@@ -299,14 +282,6 @@ static int rmb_acp_deinit(void __iomem *base)
        }
 
        writel(0x00, base + ACP_CONTROL);
-
-       /* power off */
-       ret = acp6x_power_off(base);
-       if (ret) {
-               pr_err("ACP power off failed\n");
-               return ret;
-       }
-
        return 0;
 }
 
index b3cbc7f..f188365 100644 (file)
@@ -169,17 +169,6 @@ static int acp3x_power_on(void __iomem *base)
        return readl_poll_timeout(base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP_TIMEOUT);
 }
 
-static int acp3x_power_off(void __iomem *base)
-{
-       u32 val;
-
-       writel(ACP_PWR_OFF_MASK, base + ACP_PGFSM_CONTROL);
-
-       return readl_poll_timeout(base + ACP_PGFSM_STATUS, val,
-                                 (val & ACP_PGFSM_STAT_MASK) == ACP_POWERED_OFF,
-                                 DELAY_US, ACP_TIMEOUT);
-}
-
 static int acp3x_reset(void __iomem *base)
 {
        u32 val;
@@ -246,12 +235,6 @@ static int rn_acp_deinit(void __iomem *base)
                return ret;
 
        writel(0x00, base + ACP_CONTROL);
-
-       /* power off */
-       ret = acp3x_power_off(base);
-       if (ret)
-               return ret;
-
        return 0;
 }
 static int renoir_audio_probe(struct platform_device *pdev)