Commit 0e82229f authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown

ASoC: intel: sof_sdw: Update DLC index each time one is added

In create_sdw_dailink, rather than bulk updating the index into the
DAI link components array, at the end of processing a link, do so each
time the code adds a new component. This simplifies things slightly,
as an intermediate variable is no longer needed to track the current
place in the DAI link components array.
Reviewed-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230808132013.889419-7-ckeepax@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent c3d7e29a
......@@ -1387,7 +1387,7 @@ static int create_sdw_dailink(struct snd_soc_card *card, int *link_index,
}
for (j = adr_index; j < adr_link_next->num_adr; j++) {
int codec_index, comp_index;
int codec_index;
u64 adr = adr_link_next->adr_d[j].adr;
codec_index = find_codec_info_part(adr);
......@@ -1399,24 +1399,22 @@ static int create_sdw_dailink(struct snd_soc_card *card, int *link_index,
}
_codec_index = codec_index;
comp_index = j - adr_index + codec_dlc_index;
ret = fill_sdw_codec_dlc(dev, adr_link_next,
&codecs[comp_index],
&codecs[codec_dlc_index],
codec_index, j, dai_index);
if (ret)
return ret;
codec_conf[*codec_conf_index].dlc = codecs[comp_index];
codec_conf[*codec_conf_index].dlc = codecs[codec_dlc_index];
codec_conf[*codec_conf_index].name_prefix =
adr_link_next->adr_d[j].name_prefix;
codec_dlc_index++;
(*codec_conf_index)++;
}
/* check next link to create codec dai in the processed group */
i++;
codec_dlc_index += adr_link_next->num_adr;
}
/* find codec info to create BE DAI */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment