summaryrefslogtreecommitdiffstats
path: root/sound/soc/sof/amd/acp-stream.c
diff options
context:
space:
mode:
authorAjit Kumar Pandey <AjitKumar.Pandey@amd.com>2022-09-13 20:13:15 +0530
committerMark Brown <broonie@kernel.org>2022-09-20 19:38:01 +0100
commit4da6b033f5454ccbac2d5795d7edfb3f2a777104 (patch)
tree400e4add01c7d83ec05669ffcdcb31e9f62c1c55 /sound/soc/sof/amd/acp-stream.c
parent9f27530a7357c69865da6177db02d3eb230c33a1 (diff)
downloadlinux-stable-4da6b033f5454ccbac2d5795d7edfb3f2a777104.tar.gz
linux-stable-4da6b033f5454ccbac2d5795d7edfb3f2a777104.tar.bz2
linux-stable-4da6b033f5454ccbac2d5795d7edfb3f2a777104.zip
ASoC: SOF: amd: Make ACP core code generic for newer SOC transition
Newer AMD SOC differs slightly in terms of few registers offset and configuration. Add offsets into chip_info struct to make core ACP code more generic and resusable on newer SOC. Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20220913144319.1055302-2-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof/amd/acp-stream.c')
-rw-r--r--sound/soc/sof/amd/acp-stream.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/sof/amd/acp-stream.c b/sound/soc/sof/amd/acp-stream.c
index b3ca4a90dbf8..f71b4e660b14 100644
--- a/sound/soc/sof/amd/acp-stream.c
+++ b/sound/soc/sof/amd/acp-stream.c
@@ -26,6 +26,7 @@
int acp_dsp_stream_config(struct snd_sof_dev *sdev, struct acp_dsp_stream *stream)
{
+ const struct sof_amd_acp_desc *desc = get_chip_info(sdev->pdata);
unsigned int pte_reg, pte_size, phy_addr_offset, index;
int stream_tag = stream->stream_tag;
u32 low, high, offset, reg_val;
@@ -96,7 +97,7 @@ int acp_dsp_stream_config(struct snd_sof_dev *sdev, struct acp_dsp_stream *strea
phy_addr_offset, stream->reg_offset);
/* Group Enable */
- reg_val = ACP_SRAM_PTE_OFFSET + offset;
+ reg_val = desc->sram_pte_offset + offset;
snd_sof_dsp_write(sdev, ACP_DSP_BAR, pte_reg, reg_val | BIT(31));
snd_sof_dsp_write(sdev, ACP_DSP_BAR, pte_size, PAGE_SIZE_4K_ENABLE);