Commit 7ba6546b authored by Trevor Wu's avatar Trevor Wu Committed by Mark Brown

ASoC: mediatek: mt8195: update audio tuner settings

Audio tuner is used to handle clock drift between 26M and APLL domain.

It's expected when abs(chg_cnt) equals to upper bound, tuner updates pcw
setting automatically, and then abs(chg_cnt) decreases.
In the stress test, we found abs(chg_cnt) possibly equals to 2 at the
unexpected timing. This results in wrong pcw updating.
Finally, abs(chg_cnt) will always be larger than upper bound,

As a result, we update the upper bound to 3 to handle the corner case.
Signed-off-by: default avatarTrevor Wu <trevor.wu@mediatek.com>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220927151141.11846-1-trevor.wu@mediatek.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 16b51447
...@@ -117,7 +117,7 @@ static struct mt8195_afe_tuner_cfg mt8195_afe_tuner_cfgs[MT8195_AUD_PLL_NUM] = { ...@@ -117,7 +117,7 @@ static struct mt8195_afe_tuner_cfg mt8195_afe_tuner_cfgs[MT8195_AUD_PLL_NUM] = {
.upper_bound_reg = AFE_APLL_TUNER_CFG, .upper_bound_reg = AFE_APLL_TUNER_CFG,
.upper_bound_shift = 8, .upper_bound_shift = 8,
.upper_bound_maskbit = 0xff, .upper_bound_maskbit = 0xff,
.upper_bound_default = 0x2, .upper_bound_default = 0x3,
}, },
[MT8195_AUD_PLL2] = { [MT8195_AUD_PLL2] = {
.id = MT8195_AUD_PLL2, .id = MT8195_AUD_PLL2,
...@@ -135,7 +135,7 @@ static struct mt8195_afe_tuner_cfg mt8195_afe_tuner_cfgs[MT8195_AUD_PLL_NUM] = { ...@@ -135,7 +135,7 @@ static struct mt8195_afe_tuner_cfg mt8195_afe_tuner_cfgs[MT8195_AUD_PLL_NUM] = {
.upper_bound_reg = AFE_APLL_TUNER_CFG1, .upper_bound_reg = AFE_APLL_TUNER_CFG1,
.upper_bound_shift = 8, .upper_bound_shift = 8,
.upper_bound_maskbit = 0xff, .upper_bound_maskbit = 0xff,
.upper_bound_default = 0x2, .upper_bound_default = 0x3,
}, },
[MT8195_AUD_PLL3] = { [MT8195_AUD_PLL3] = {
.id = MT8195_AUD_PLL3, .id = MT8195_AUD_PLL3,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment