Skip to content

Commit 99bf5b0

Browse files
Vitaly Rodionovtiwai
authored andcommitted
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 0c52310) 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: 9fb9fa1 ("ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock.") Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230904160033.908135-1-vitalyr@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 4cbc7d9 commit 99bf5b0

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

sound/pci/hda/patch_cs8409.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,7 @@ static void cs42l42_resume(struct sub_codec *cs42l42)
888888

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

893893
/* Clear interrupts, by reading interrupt status registers */
894894
cs8409_i2c_bulk_read(cs42l42, irq_regs, ARRAY_SIZE(irq_regs));

sound/pci/hda/patch_cs8409.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ enum cs8409_coefficient_index_registers {
229229
#define CS42L42_I2C_SLEEP_US (2000)
230230
#define CS42L42_PDN_TIMEOUT_US (250000)
231231
#define CS42L42_PDN_SLEEP_US (2000)
232+
#define CS42L42_INIT_TIMEOUT_MS (45)
232233
#define CS42L42_FULL_SCALE_VOL_MASK (2)
233234
#define CS42L42_FULL_SCALE_VOL_0DB (1)
234235
#define CS42L42_FULL_SCALE_VOL_MINUS6DB (0)

0 commit comments

Comments
 (0)