]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink
authorBard Liao <yung-chuan.liao@linux.intel.com>
Wed, 27 Oct 2021 02:18:20 +0000 (10:18 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 15 Nov 2021 13:26:55 +0000 (13:26 +0000)
We can apply the fixed dai link id for DMICs in create_sdw_dailink().
No need to set it in each DMIC's callback.
The fixed dai link id is not only for rt715 and rt715-sdca, but for all
DMICs, therefore we remove the SOF_RT715_DAI_ID_FIX check as well.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20211027021824.24776-7-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_rt715.c
sound/soc/intel/boards/sof_sdw_rt715_sdca.c

index 1be5c4754337d7b26f69d791c75e683967526c1d..b00c1731c2c326181f78498ff18b60ebe4c19216 100644 (file)
@@ -984,6 +984,14 @@ static int create_sdw_dailink(struct snd_soc_card *card,
            *link_id < SDW_AMP_DAI_ID)
                *link_id = SDW_AMP_DAI_ID;
 
+       /*
+        * DAI ID is fixed at SDW_DMIC_DAI_ID for MICs to
+        * keep sdw DMIC and HDMI setting static in UCM
+        */
+       if (codec_info_list[codec_index].codec_type == SOF_SDW_CODEC_TYPE_MIC &&
+           *link_id < SDW_DMIC_DAI_ID)
+               *link_id = SDW_DMIC_DAI_ID;
+
        cpu_dai_index = *cpu_id;
        for_each_pcm_streams(stream) {
                char *name, *cpu_name;
index c8af3780cbc3e0cb26d9fd5bd235931f0c680959..7c068dc6b9cf65467effec9efb25be77d90065f3 100644 (file)
@@ -30,13 +30,6 @@ int sof_sdw_rt715_init(struct snd_soc_card *card,
                       struct sof_sdw_codec_info *info,
                       bool playback)
 {
-       /*
-        * DAI ID is fixed at SDW_DMIC_DAI_ID for 715 to
-        * keep sdw DMIC and HDMI setting static in UCM
-        */
-       if (sof_sdw_quirk & SOF_RT715_DAI_ID_FIX)
-               dai_links->id = SDW_DMIC_DAI_ID;
-
        dai_links->init = rt715_rtd_init;
 
        return 0;
index 85d3d8c355cc1f2fc37c95ede71f3bf389fe499a..ca0cf3db2e4d8b238e3820d96acd5d41e1f22972 100644 (file)
@@ -30,13 +30,6 @@ int sof_sdw_rt715_sdca_init(struct snd_soc_card *card,
                            struct sof_sdw_codec_info *info,
                            bool playback)
 {
-       /*
-        * DAI ID is fixed at SDW_DMIC_DAI_ID for 715-SDCA to
-        * keep sdw DMIC and HDMI setting static in UCM
-        */
-       if (sof_sdw_quirk & SOF_RT715_DAI_ID_FIX)
-               dai_links->id = SDW_DMIC_DAI_ID;
-
        dai_links->init = rt715_sdca_rtd_init;
 
        return 0;