mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
ASoC: rt722: add delay time to wait for the calibration procedure
The calibration procedure needs some time to finish. This patch adds the delay time to ensure the calibration procedure is completed correctly. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://patch.msgid.link/20241218091307.96656-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e8d0ba147d
commit
c9e3ebdc52
@ -1468,13 +1468,18 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
|
|||||||
0x008d);
|
0x008d);
|
||||||
/* check HP calibration FSM status */
|
/* check HP calibration FSM status */
|
||||||
for (loop_check = 0; loop_check < chk_cnt; loop_check++) {
|
for (loop_check = 0; loop_check < chk_cnt; loop_check++) {
|
||||||
|
usleep_range(10000, 11000);
|
||||||
ret = rt722_sdca_index_read(rt722, RT722_VENDOR_CALI,
|
ret = rt722_sdca_index_read(rt722, RT722_VENDOR_CALI,
|
||||||
RT722_DAC_DC_CALI_CTL3, &calib_status);
|
RT722_DAC_DC_CALI_CTL3, &calib_status);
|
||||||
if (ret < 0 || loop_check == chk_cnt)
|
if (ret < 0)
|
||||||
dev_dbg(&rt722->slave->dev, "calibration failed!, ret=%d\n", ret);
|
dev_dbg(&rt722->slave->dev, "calibration failed!, ret=%d\n", ret);
|
||||||
if ((calib_status & 0x0040) == 0x0)
|
if ((calib_status & 0x0040) == 0x0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (loop_check == chk_cnt)
|
||||||
|
dev_dbg(&rt722->slave->dev, "%s, calibration time-out!\n", __func__);
|
||||||
|
|
||||||
/* Set ADC09 power entity floating control */
|
/* Set ADC09 power entity floating control */
|
||||||
rt722_sdca_index_write(rt722, RT722_VENDOR_HDA_CTL, RT722_ADC0A_08_PDE_FLOAT_CTL,
|
rt722_sdca_index_write(rt722, RT722_VENDOR_HDA_CTL, RT722_ADC0A_08_PDE_FLOAT_CTL,
|
||||||
0x2a12);
|
0x2a12);
|
||||||
|
Loading…
Reference in New Issue
Block a user