On 9/24/26 2:24 PM, David Heidelberg via B4 Relay wrote: > From: David Heidelberg <[email protected]> > > Both Left and Right codec DAIs were passing the same SPK_TDM_RX_MASK, > both speakers ended up on slot 0, breaking the one speaker in > configuration such as on Pixel 3. > > Split SPK_TDM_RX_MASK into per-speaker masks so that the Left codec > gets slot 0 (rx_mask=0x01) and the Right codec gets slot 1 > (rx_mask=0x02). > > This commit is here, so later CS35L36 receives correct slot for right > and left speakers. > > Assisted-by: Claude:claude-4.6-opus > Signed-off-by: David Heidelberg <[email protected]> > ---
Reviewed-by: Srinivas Kandagatla <[email protected]> > sound/soc/qcom/sdm845.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/qcom/sdm845.c b/sound/soc/qcom/sdm845.c > index d1cc825fc5cdc..59cfa3b26cd4d 100644 > --- a/sound/soc/qcom/sdm845.c > +++ b/sound/soc/qcom/sdm845.c > @@ -152,29 +152,29 @@ static int sdm845_tdm_snd_hw_params(struct > snd_pcm_substream *substream, > } > } > > for_each_rtd_codec_dais(rtd, j, codec_dai) { > > if (!strcmp(codec_dai->component->name_prefix, "Left")) { > ret = snd_soc_dai_set_tdm_slot( > codec_dai, LEFT_SPK_TDM_TX_MASK, > - SPK_TDM_RX_MASK, NUM_TDM_SLOTS, > + LEFT_SPK_TDM_RX_MASK, NUM_TDM_SLOTS, > slot_width); > if (ret < 0) { > dev_err(rtd->dev, > "DEV0 TDM slot err:%d\n", ret); > return ret; > } > } > > if (!strcmp(codec_dai->component->name_prefix, "Right")) { > ret = snd_soc_dai_set_tdm_slot( > codec_dai, RIGHT_SPK_TDM_TX_MASK, > - SPK_TDM_RX_MASK, NUM_TDM_SLOTS, > + RIGHT_SPK_TDM_RX_MASK, NUM_TDM_SLOTS, > slot_width); > if (ret < 0) { > dev_err(rtd->dev, > "DEV1 TDM slot err:%d\n", ret); > return ret; > } > } > } >

