Commit 99bf5b0b authored by Vitaly Rodionov's avatar Vitaly Rodionov Committed by Takashi Iwai
Browse files

ALSA: hda/cirrus: Fix broken audio on hardware with two CS42L42 codecs.

Recently in v6.3-rc1 there was a change affecting behaviour of hrtimers
(commit 0c52310f) and causing
few issues on platforms with two CS42L42 codecs. Canonical/Dell
has reported an issue with Vostro-3910.
We need to increase this value by 15ms.

Link: https://bugs.launchpad.net/somerville/+bug/2031060


Fixes: 9fb9fa18 ("ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock.")
Signed-off-by: default avatarVitaly Rodionov <vitalyr@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230904160033.908135-1-vitalyr@opensource.cirrus.com


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 4cbc7d9c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -888,7 +888,7 @@ static void cs42l42_resume(struct sub_codec *cs42l42)

	/* Initialize CS42L42 companion codec */
	cs8409_i2c_bulk_write(cs42l42, cs42l42->init_seq, cs42l42->init_seq_num);
	usleep_range(30000, 35000);
	msleep(CS42L42_INIT_TIMEOUT_MS);

	/* Clear interrupts, by reading interrupt status registers */
	cs8409_i2c_bulk_read(cs42l42, irq_regs, ARRAY_SIZE(irq_regs));
+1 −0
Original line number Diff line number Diff line
@@ -229,6 +229,7 @@ enum cs8409_coefficient_index_registers {
#define CS42L42_I2C_SLEEP_US			(2000)
#define CS42L42_PDN_TIMEOUT_US			(250000)
#define CS42L42_PDN_SLEEP_US			(2000)
#define CS42L42_INIT_TIMEOUT_MS			(45)
#define CS42L42_FULL_SCALE_VOL_MASK		(2)
#define CS42L42_FULL_SCALE_VOL_0DB		(1)
#define CS42L42_FULL_SCALE_VOL_MINUS6DB		(0)