[d-kernel] [PATCH 22/33] ASoC: codecs: ES8326: Solve a headphone detection issue after suspend and resume
kovalev на altlinux.org
kovalev на altlinux.org
Пн Июл 29 08:10:11 MSK 2024
From: Zhang Yi <zhangyi на everest-semi.com>
commit 6e5f5bf894eb9260f07ad0da4e2dd2efd616ed59 upstream.
We got a headphone detection issue after suspend and resume.
And we fixed it by modifying the configuration at es8326_suspend
and invoke es8326_irq at es8326_resume.
Signed-off-by: Zhang Yi <zhangyi на everest-semi.com>
Link: https://msgid.link/r/20240402062043.20608-4-zhangyi@everest-semi.com
Signed-off-by: Mark Brown <broonie на kernel.org>
Signed-off-by: Vasiliy Kovalev <kovalev на altlinux.org>
---
sound/soc/codecs/es8326.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/soc/codecs/es8326.c b/sound/soc/codecs/es8326.c
index 228822726fb799..4e132daeb6a2d5 100644
--- a/sound/soc/codecs/es8326.c
+++ b/sound/soc/codecs/es8326.c
@@ -1054,6 +1054,8 @@ static int es8326_resume(struct snd_soc_component *component)
es8326->hp = 0;
es8326->hpl_vol = 0x03;
es8326->hpr_vol = 0x03;
+
+ es8326_irq(es8326->irq, es8326);
return 0;
}
@@ -1064,6 +1066,9 @@ static int es8326_suspend(struct snd_soc_component *component)
cancel_delayed_work_sync(&es8326->jack_detect_work);
es8326_disable_micbias(component);
es8326->calibrated = false;
+ regmap_write(es8326->regmap, ES8326_CLK_MUX, 0x2d);
+ regmap_write(es8326->regmap, ES8326_DAC2HPMIX, 0x00);
+ regmap_write(es8326->regmap, ES8326_ANA_PDN, 0x3b);
regmap_write(es8326->regmap, ES8326_CLK_CTL, ES8326_CLK_OFF);
regcache_cache_only(es8326->regmap, true);
--
2.33.8
Подробная информация о списке рассылки devel-kernel