Unverified Commit c9e3ebdc authored by Shuming Fan's avatar Shuming Fan Committed by Mark Brown
Browse files

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: default avatarShuming Fan <shumingf@realtek.com>
Link: https://patch.msgid.link/20241218091307.96656-1-shumingf@realtek.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e8d0ba14
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1468,13 +1468,18 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
		0x008d);
	/* check HP calibration FSM status */
	for (loop_check = 0; loop_check < chk_cnt; loop_check++) {
		usleep_range(10000, 11000);
		ret = rt722_sdca_index_read(rt722, RT722_VENDOR_CALI,
			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);
		if ((calib_status & 0x0040) == 0x0)
			break;
	}

	if (loop_check == chk_cnt)
		dev_dbg(&rt722->slave->dev, "%s, calibration time-out!\n", __func__);

	/* Set ADC09 power entity floating control */
	rt722_sdca_index_write(rt722, RT722_VENDOR_HDA_CTL, RT722_ADC0A_08_PDE_FLOAT_CTL,
		0x2a12);