Hi, Oleksandr, I have a question about this patch. Could you give me some ideas? Thanks. In this patch, snd_soc_component_update_bits is used instead of snd_soc_component_write. Although EN_HP_ZCD and EN_ADC_ZCD are enabled in ANA_CTRL register, MUTE_LO, MUTE_HP and MUTE_ADC bits are remained as the default value. It causes LO, HP and ADC are all muted after driver probe. BTW, in the original code, snd_soc_component_write is used and MUTE_LO, MUTE_HP and MUTE_ADC are all set as zero (unmute). I saw the above phenomenon on the latest linux-next. For LO and HP are muted, no sound can be heard. Best Regards, Alison Wang > Subject: [v6,5/6] ASoC: sgtl5000: Fix of unmute outputs on probe > > To enable "zero cross detect" for ADC/HP, change HP_ZCD_EN/ADC_ZCD_EN > bits only instead of writing the whole CHIP_ANA_CTRL register. > > Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@xxxxxxxxxxx> > Reviewed-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx> > Reviewed-by: Igor Opaniuk <igor.opaniuk@xxxxxxxxxxx> > Reviewed-by: Fabio Estevam <festevam@xxxxxxxxx> > > --- > > Changes in v6: None > Changes in v5: None > Changes in v4: None > Changes in v3: None > Changes in v2: > - Fix patch formatting > > sound/soc/codecs/sgtl5000.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > > diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index > b65232521ea8..23f4ae2f0723 100644 > --- a/sound/soc/codecs/sgtl5000.c > +++ b/sound/soc/codecs/sgtl5000.c > @@ -1453,6 +1453,7 @@ static int sgtl5000_probe(struct > snd_soc_component *component) > int ret; > u16 reg; > struct sgtl5000_priv *sgtl5000 = > snd_soc_component_get_drvdata(component); > + unsigned int zcd_mask = SGTL5000_HP_ZCD_EN | > SGTL5000_ADC_ZCD_EN; > > /* power up sgtl5000 */ > ret = sgtl5000_set_power_regs(component); > @@ -1480,9 +1481,8 @@ static int sgtl5000_probe(struct > snd_soc_component *component) > 0x1f); > snd_soc_component_write(component, SGTL5000_CHIP_PAD_STRENGTH, > reg); > > - snd_soc_component_write(component, SGTL5000_CHIP_ANA_CTRL, > - SGTL5000_HP_ZCD_EN | > - SGTL5000_ADC_ZCD_EN); > + snd_soc_component_update_bits(component, > SGTL5000_CHIP_ANA_CTRL, > + zcd_mask, zcd_mask); > > snd_soc_component_update_bits(component, > SGTL5000_CHIP_MIC_CTRL, > SGTL5000_BIAS_R_MASK, > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel