ASoC: amd: acp: add platform and flag data to acp data structure
authorSyed Saba Kareem <Syed.SabaKareem@amd.com>
Sat, 21 Oct 2023 14:50:48 +0000 (20:20 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 25 Oct 2023 16:21:49 +0000 (17:21 +0100)
add name of the platform and flag data in private data structure.
name of the platform will be used to differentiate platforms where as
flag will be used to know what kind of endpoint configuration is selected
where its legacy(I2S + PDM) or only ACP PDM.

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

index 1bf7b2e68a118bde715cb75da250e251b71ad00e..ef5fe6438efdaac37cfdfbccc99d20ef82ab2344 100644 (file)
@@ -23,6 +23,8 @@
 #include <linux/pm_runtime.h>
 
 #include "amd.h"
+#include "../mach-config.h"
+#include "acp-mach.h"
 
 #define DRV_NAME "acp_asoc_rembrandt"
 
@@ -226,7 +228,8 @@ static int rembrandt_audio_probe(struct platform_device *pdev)
        adata->dai_driver = acp_rmb_dai;
        adata->num_dai = ARRAY_SIZE(acp_rmb_dai);
        adata->rsrc = &rsrc;
-
+       adata->platform = REMBRANDT;
+       adata->flag = chip->flag;
        adata->machines = snd_soc_acpi_amd_rmb_acp_machines;
        acp_machine_select(adata);
 
index b15cbdf7fa9b1436390cc5bd513c4ede8f286d2e..a591482a0726508e1d99b4388b5ca34598f2bec9 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/dma-mapping.h>
 
 #include "amd.h"
+#include "acp-mach.h"
 
 #define DRV_NAME "acp_asoc_renoir"
 
@@ -185,6 +186,8 @@ static int renoir_audio_probe(struct platform_device *pdev)
        adata->dai_driver = acp_renoir_dai;
        adata->num_dai = ARRAY_SIZE(acp_renoir_dai);
        adata->rsrc = &rsrc;
+       adata->platform = RENOIR;
+       adata->flag = chip->flag;
 
        adata->machines = snd_soc_acpi_amd_acp_machines;
        acp_machine_select(adata);
index f94348ad863d71c39a730b9f3f8c4c8888ffd49f..0cec6ecaadfae01b6a0af03a3b00b8e2402b83e6 100644 (file)
@@ -21,6 +21,8 @@
 #include <linux/pm_runtime.h>
 #include <linux/pci.h>
 #include "amd.h"
+#include "acp-mach.h"
+#include "../mach-config.h"
 
 #define DRV_NAME "acp_asoc_acp63"
 
@@ -237,6 +239,8 @@ static int acp63_audio_probe(struct platform_device *pdev)
        adata->dai_driver = acp63_dai;
        adata->num_dai = ARRAY_SIZE(acp63_dai);
        adata->rsrc = &rsrc;
+       adata->platform = ACP63;
+       adata->flag = chip->flag;
        adata->machines = snd_soc_acpi_amd_acp63_acp_machines;
        acp_machine_select(adata);
        dev_set_drvdata(dev, adata);
index 2ffe1effc6b523ff94ba2085e8b908ceee155225..62d0793027f216d4fc90cd088ba006057455edba 100644 (file)
@@ -187,6 +187,8 @@ struct acp_dev_data {
        u32 tdm_rx_fmt[3];
        u32 xfer_tx_resolution[3];
        u32 xfer_rx_resolution[3];
+       unsigned int flag;
+       unsigned int platform;
 };
 
 enum acp_config {