2021-12-21 16:58:28

by Ajit Kumar Pandey

[permalink] [raw]
Subject: [PATCH v2 1/3] ASoC: SOF: AMD: simplify return status handling

From: Pierre-Louis Bossart <[email protected]>

cppcheck warning:

sound/soc/sof/amd/acp.c:222:9: warning: Identical condition and return
expression 'ret', return value is always 0
[identicalConditionAfterEarlyExit]
return ret;
^
sound/soc/sof/amd/acp.c:213:6: note: If condition 'ret' is true, the
function will return/exit
if (ret)
^
sound/soc/sof/amd/acp.c:222:9: note: Returning identical expression 'ret'
return ret;
^

Just return 0; on success.

Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Reviewed-by: Péter Ujfalusi <[email protected]>
Signed-off-by: Ajit Kumar Pandey <[email protected]>
---
sound/soc/sof/amd/acp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sof/amd/acp.c b/sound/soc/sof/amd/acp.c
index 4c5550e8d364..fe9b7dc5bc86 100644
--- a/sound/soc/sof/amd/acp.c
+++ b/sound/soc/sof/amd/acp.c
@@ -219,7 +219,7 @@ int configure_and_run_sha_dma(struct acp_dev_data *adata, void *image_addr,
return -EINVAL;
}

- return ret;
+ return 0;
}

int acp_dma_status(struct acp_dev_data *adata, unsigned char ch)
--
2.25.1



2021-12-21 16:58:35

by Ajit Kumar Pandey

[permalink] [raw]
Subject: [PATCH v2 2/3] ASoC: amd: acp-config: Enable SOF audio for Google chrome boards.

We need to support sof audio on different variants of Google boards.
Add new entry in dmi table to enable SOF flag on Google chrome boards.
Also add newer machines to sof_machines list with codecs and amps acpi
id check to register sof sound cards on different variants.

Signed-off-by: Ajit Kumar Pandey <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Kai Vehmanen <[email protected]>
---
sound/soc/amd/acp-config.c | 53 ++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

diff --git a/sound/soc/amd/acp-config.c b/sound/soc/amd/acp-config.c
index 1493d52c9290..c0bbcdb1761d 100644
--- a/sound/soc/amd/acp-config.c
+++ b/sound/soc/amd/acp-config.c
@@ -35,6 +35,18 @@ static const struct config_entry config_table[] = {
{}
},
},
+ {
+ .flags = FLAG_AMD_SOF,
+ .device = ACP_PCI_DEV_ID,
+ .dmi_table = (const struct dmi_system_id []) {
+ {
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
+ },
+ },
+ {}
+ },
+ },
};

int snd_amd_acp_find_config(struct pci_dev *pci)
@@ -43,6 +55,10 @@ int snd_amd_acp_find_config(struct pci_dev *pci)
u16 device = pci->device;
int i;

+ /* Do not enable FLAGS on older platforms with Rev id zero */
+ if (!pci->revision)
+ return 0;
+
for (i = 0; i < ARRAY_SIZE(config_table); i++, table++) {
if (table->device != device)
continue;
@@ -56,7 +72,44 @@ int snd_amd_acp_find_config(struct pci_dev *pci)
}
EXPORT_SYMBOL(snd_amd_acp_find_config);

+static struct snd_soc_acpi_codecs amp_rt1019 = {
+ .num_codecs = 1,
+ .codecs = {"10EC1019"}
+};
+
+static struct snd_soc_acpi_codecs amp_max = {
+ .num_codecs = 1,
+ .codecs = {"MX98360A"}
+};
+
struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
+ {
+ .id = "10EC5682",
+ .drv_name = "rt5682-rt1019",
+ .pdata = (void *)&acp_quirk_data,
+ .machine_quirk = snd_soc_acpi_codec_list,
+ .quirk_data = &amp_rt1019,
+ .fw_filename = "sof-rn.ri",
+ .sof_tplg_filename = "sof-acp.tplg",
+ },
+ {
+ .id = "10EC5682",
+ .drv_name = "rt5682-max",
+ .pdata = (void *)&acp_quirk_data,
+ .machine_quirk = snd_soc_acpi_codec_list,
+ .quirk_data = &amp_max,
+ .fw_filename = "sof-rn.ri",
+ .sof_tplg_filename = "sof-acp.tplg",
+ },
+ {
+ .id = "RTL5682",
+ .drv_name = "rt5682s-max",
+ .pdata = (void *)&acp_quirk_data,
+ .machine_quirk = snd_soc_acpi_codec_list,
+ .quirk_data = &amp_max,
+ .fw_filename = "sof-rn.ri",
+ .sof_tplg_filename = "sof-acp.tplg",
+ },
{
.id = "AMDI1019",
.drv_name = "renoir-dsp",
--
2.25.1


2021-12-21 16:58:41

by Ajit Kumar Pandey

[permalink] [raw]
Subject: [PATCH v2 3/3] ASoC: amd: acp-config: Update sof_tplg_filename for SOF machines

SOF machines support different codec end points and hence required
different topologies configuration. Update tplg filename in machine
struct to load different topology files for SOF machines.

Signed-off-by: Ajit Kumar Pandey <[email protected]>
Reviewed-by: Curtis Malainey <[email protected]>
Reviewed-by: Pierre-Louis Bossart <[email protected]>
---
sound/soc/amd/acp-config.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/amd/acp-config.c b/sound/soc/amd/acp-config.c
index c0bbcdb1761d..c9e1c08364f3 100644
--- a/sound/soc/amd/acp-config.c
+++ b/sound/soc/amd/acp-config.c
@@ -90,7 +90,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
.machine_quirk = snd_soc_acpi_codec_list,
.quirk_data = &amp_rt1019,
.fw_filename = "sof-rn.ri",
- .sof_tplg_filename = "sof-acp.tplg",
+ .sof_tplg_filename = "sof-rn-rt5682-rt1019.tplg",
},
{
.id = "10EC5682",
@@ -99,7 +99,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
.machine_quirk = snd_soc_acpi_codec_list,
.quirk_data = &amp_max,
.fw_filename = "sof-rn.ri",
- .sof_tplg_filename = "sof-acp.tplg",
+ .sof_tplg_filename = "sof-rn-rt5682-max98360.tplg",
},
{
.id = "RTL5682",
@@ -108,7 +108,7 @@ struct snd_soc_acpi_mach snd_soc_acpi_amd_sof_machines[] = {
.machine_quirk = snd_soc_acpi_codec_list,
.quirk_data = &amp_max,
.fw_filename = "sof-rn.ri",
- .sof_tplg_filename = "sof-acp.tplg",
+ .sof_tplg_filename = "sof-rn-rt5682-max98360.tplg",
},
{
.id = "AMDI1019",
--
2.25.1