@@ -1453,6 +1453,7 @@ static int parse_sdw_endpoints(struct snd_soc_card *card,
struct sof_sdw_endpoint *sof_ends)
{
struct device *dev = card->dev;
+ struct mc_private *ctx = snd_soc_card_get_drvdata(card);
struct snd_soc_acpi_mach *mach = dev_get_platdata(dev);
struct snd_soc_acpi_mach_params *mach_params = &mach->mach_params;
struct snd_soc_codec_conf *codec_conf = card->codec_conf;
@@ -1483,6 +1484,8 @@ static int parse_sdw_endpoints(struct snd_soc_card *card,
if (!codec_info)
return -EINVAL;
+ ctx->ignore_pch_dmic |= codec_info->ignore_pch_dmic;
+
codec_name = get_codec_name(dev, codec_info, adr_link, i);
if (!codec_name)
return -ENOMEM;
@@ -1630,8 +1633,6 @@ static int create_sdw_dailink(struct snd_soc_card *card,
if (!codec_info)
return -EINVAL;
- ctx->ignore_pch_dmic |= codec_info->ignore_pch_dmic;
-
for_each_pcm_streams(stream) {
char *name, *cpu_name;
int playback, capture;