return;
        }
 
+       /* Group Enable */
+       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_BASE_ADDR_GRP_1,
+                         ACP_SRAM_PTE_OFFSET | BIT(31));
+       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1,
+                         PAGE_SIZE_4K_ENABLE);
+
        for (page_idx = 0; page_idx < num_pages; page_idx++) {
                low = lower_32_bits(addr);
                high = upper_32_bits(addr);
                offset += 8;
                addr += PAGE_SIZE;
        }
+
+       /* Flush ATU Cache after PTE Update */
+       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_CTRL, ACP_ATU_CACHE_INVALID);
 }
 
 /* pre fw run operations */
 
        return 0;
 }
 
-static void configure_acp_groupregisters(struct acp_dev_data *adata)
-{
-       struct snd_sof_dev *sdev = adata->dev;
-
-       /* Group Enable */
-       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_BASE_ADDR_GRP_1,
-                         ACP_SRAM_PTE_OFFSET | BIT(31));
-       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1,
-                         PAGE_SIZE_4K_ENABLE);
-
-       snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACPAXI2AXI_ATU_CTRL, ACP_ATU_CACHE_INVALID);
-}
-
 static void init_dma_descriptor(struct acp_dev_data *adata)
 {
        struct snd_sof_dev *sdev = adata->dev;
 
        snd_sof_dsp_update_bits(sdev, ACP_DSP_BAR, ACP_DSP_SW_INTR_CNTL,
                                ACP_DSP_INTR_EN_MASK, ACP_DSP_INTR_EN_MASK);
-       configure_acp_groupregisters(adata);
        init_dma_descriptor(adata);
 
        return 0;