]> Git Repo - J-linux.git/commitdiff
ASoC: rt722: add delay time to wait for the calibration procedure
authorShuming Fan <[email protected]>
Wed, 18 Dec 2024 09:13:07 +0000 (17:13 +0800)
committerMark Brown <[email protected]>
Wed, 18 Dec 2024 14:17:32 +0000 (14:17 +0000)
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 <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Mark Brown <[email protected]>
sound/soc/codecs/rt722-sdca.c

index 908846e994df346517d2c8c68dee0a9e13f01a0b..e17a142d03b999d2b2bb1b5d79d6c0a355712c6f 100644 (file)
@@ -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);
This page took 0.053173 seconds and 4 git commands to generate.