mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 19:26:01 -04:00
ASoC: amd: acp: fix for cpu dai index logic
Multi link aggregation is not supported for acp6.3 platform.
Below combinations are supported.
- one sdw BE DAI <---> one-cpu DAI <---> one-codec DAI
- one sdw BE DAI <---> one-cpu DAI <---> multi-codec DAIs
As Single cpu dai is going to be created, In create_sdw_dailink() function
cpu dai index won't be incremented.
Refactor cpu dai index logic to fix below smatch static checker warning.
sound/soc/amd/acp/acp-sdw-sof-mach.c:157 create_sdw_dailink()
warn: iterator 'i' not incremented.
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/a201e871-375e-43eb-960d-5c048956c2ff@amd.com/T/
Fixes: 6d8348ddc5 ("ASoC: amd: acp: refactor SoundWire machine driver code")
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://patch.msgid.link/20241007085321.3991149-3-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
914219d749
commit
7ce8e4d380
@@ -154,7 +154,7 @@ static int create_sdw_dailink(struct snd_soc_card *card,
|
||||
int num_cpus = hweight32(sof_dai->link_mask[stream]);
|
||||
int num_codecs = sof_dai->num_devs[stream];
|
||||
int playback, capture;
|
||||
int i = 0, j = 0;
|
||||
int j = 0;
|
||||
char *name;
|
||||
|
||||
if (!sof_dai->num_devs[stream])
|
||||
@@ -213,14 +213,14 @@ static int create_sdw_dailink(struct snd_soc_card *card,
|
||||
|
||||
int link_num = ffs(sof_end->link_mask) - 1;
|
||||
|
||||
cpus[i].dai_name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"SDW%d Pin%d",
|
||||
link_num, cpu_pin_id);
|
||||
dev_dbg(dev, "cpu[%d].dai_name:%s\n", i, cpus[i].dai_name);
|
||||
if (!cpus[i].dai_name)
|
||||
cpus->dai_name = devm_kasprintf(dev, GFP_KERNEL,
|
||||
"SDW%d Pin%d",
|
||||
link_num, cpu_pin_id);
|
||||
dev_dbg(dev, "cpu->dai_name:%s\n", cpus->dai_name);
|
||||
if (!cpus->dai_name)
|
||||
return -ENOMEM;
|
||||
|
||||
codec_maps[j].cpu = i;
|
||||
codec_maps[j].cpu = 0;
|
||||
codec_maps[j].codec = j;
|
||||
|
||||
codecs[j].name = sof_end->codec_name;
|
||||
|
||||
Reference in New Issue
Block a user