ASoC: amd: acp: update tdm channels for specific DAI
authorHemalatha Pinnamreddy <hemalatha.pinnamreddy2@amd.com>
Wed, 3 Dec 2025 12:01:34 +0000 (17:31 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 10 Dec 2025 00:17:53 +0000 (09:17 +0900)
TDM channel updates were applied to all DAIs, causing configurations
to overwrite for unrelated streams. The logic is modified to update
channels only for targeted DAI. This prevents corruption of other DAI
settings and resolves audio issues observed during system suspend and
resume cycles.

Fixes: 12229b7e50cf ("ASoC: amd: acp: Add TDM support for acp i2s stream")
Signed-off-by: Hemalatha Pinnamreddy <hemalatha.pinnamreddy2@amd.com>
Signed-off-by: Raghavendra Prasad Mallela <raghavendraprasad.mallela@amd.com>
Link: https://patch.msgid.link/20251203120136.2591395-1-raghavendraprasad.mallela@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp/acp-i2s.c

index 4ba0a66..283a674 100644 (file)
@@ -157,6 +157,8 @@ static int acp_i2s_set_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask, u32 rx_mas
 
        spin_lock_irq(&chip->acp_lock);
        list_for_each_entry(stream, &chip->stream_list, list) {
+               if (dai->id != stream->dai_id)
+                       continue;
                switch (chip->acp_rev) {
                case ACP_RN_PCI_ID:
                case ACP_RMB_PCI_ID: