ASoC: Intel: sof_sdw: detect DMIC number based on mach params
authorRander Wang <rander.wang@intel.com>
Mon, 8 Feb 2021 23:33:30 +0000 (17:33 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 10 Feb 2021 17:22:48 +0000 (17:22 +0000)
Current driver create DMIC dai based on quirk for each platforms,
so we need to add quirk for new platforms. Now driver reports DMIC
number to machine driver and machine driver can create DMIC dai based
on this information. The old check is reserved for some platforms
may be failed to set the DMIC number in BIOS.

Reviewed-by: Bard Liao <bard.liao@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210208233336.59449-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c

index d1251a6ac3af0ec40d006e6dc65df2edc1c12cc1..06f07dd45fb469a9ac8ac1d1be2918950e44eb3a 100644 (file)
@@ -955,7 +955,7 @@ static int sof_card_dai_links_create(struct device *dev,
                ctx->idisp_codec = true;
 
        /* enable dmic01 & dmic16k */
-       dmic_num = (sof_sdw_quirk & SOF_SDW_PCH_DMIC) ? 2 : 0;
+       dmic_num = (sof_sdw_quirk & SOF_SDW_PCH_DMIC || mach_params->dmic_num) ? 2 : 0;
        comp_num += dmic_num;
 
        dev_dbg(dev, "sdw %d, ssp %d, dmic %d, hdmi %d", sdw_be_num, ssp_num,