Hi Srini, On Wed, Apr 17, 2024 at 6:43 AM Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> wrote: > > This is not the right fix, this can be determined from codec > clk_stop_mode1 flag. > > can you try this patch: > > ----------------------------->cut<----------------------------- > From: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > Date: Wed, 17 Apr 2024 12:38:49 +0100 > Subject: [PATCH] ASoC: codecs: wsa881x: set clk_stop_mode1 flag > > WSA881x codecs do not retain the state while clock is stopped, so mark > this with clk_stop_mode1 flag. > > Fixes: a0aab9e1404a ("ASoC: codecs: add wsa881x amplifier support") > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > --- > sound/soc/codecs/wsa881x.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sound/soc/codecs/wsa881x.c b/sound/soc/codecs/wsa881x.c > index 3c025dabaf7a..1253695bebd8 100644 > --- a/sound/soc/codecs/wsa881x.c > +++ b/sound/soc/codecs/wsa881x.c > @@ -1155,6 +1155,7 @@ static int wsa881x_probe(struct sdw_slave *pdev, > pdev->prop.sink_ports = GENMASK(WSA881X_MAX_SWR_PORTS, 0); > pdev->prop.sink_dpn_prop = wsa_sink_dpn_prop; > pdev->prop.scp_int1_mask = SDW_SCP_INT1_BUS_CLASH | SDW_SCP_INT1_PARITY; > + pdev->prop.clk_stop_mode1 = true; > gpiod_direction_output(wsa881x->sd_n, !wsa881x->sd_n_val); > > wsa881x->regmap = devm_regmap_init_sdw(pdev, &wsa881x_regmap_config); > -- > 2.21.0 > ----------------------------->cut<----------------------------- > > > thanks, > Srini > > > if (!found) { > > qcom_swrm_set_slave_dev_num(bus, NULL, i); > > sdw_slave_add(bus, &id, NULL); > I tested it here on my c630 and can confirm that your patch does fix the audio as well.