Skip to content

Commit 46c862f

Browse files
KailangYangtiwai
authored andcommitted
ALSA: hda/realtek - fixed speaker no sound update
Fixed speaker has pop noise on Lenovo Thinkpad X11 Carbon Gen 12. Fixes: 630fbc6 ("ALSA: hda/realtek - fixed speaker no sound") Reported-and-tested-by: Jeremy Bethmont <[email protected]> Closes: https://lore.kernel.org/CAC88DfsHrhyhy0Pn1O-z9egBvMYu=6NYgcvcC6KCgwh_-Ldkxg@mail.gmail.com Signed-off-by: Kailang Yang <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
1 parent a7b56be commit 46c862f

1 file changed

Lines changed: 5 additions & 11 deletions

File tree

sound/hda/codecs/realtek/alc269.c

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3654,22 +3654,11 @@ static void alc287_alc1318_playback_pcm_hook(struct hda_pcm_stream *hinfo,
36543654
struct snd_pcm_substream *substream,
36553655
int action)
36563656
{
3657-
static const struct coef_fw dis_coefs[] = {
3658-
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC203),
3659-
WRITE_COEF(0x28, 0x0004), WRITE_COEF(0x29, 0xb023),
3660-
}; /* Disable AMP silence detection */
3661-
static const struct coef_fw en_coefs[] = {
3662-
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC203),
3663-
WRITE_COEF(0x28, 0x0084), WRITE_COEF(0x29, 0xb023),
3664-
}; /* Enable AMP silence detection */
3665-
36663657
switch (action) {
36673658
case HDA_GEN_PCM_ACT_OPEN:
3668-
alc_process_coef_fw(codec, dis_coefs);
36693659
alc_write_coefex_idx(codec, 0x5a, 0x00, 0x954f); /* write gpio3 to high */
36703660
break;
36713661
case HDA_GEN_PCM_ACT_CLOSE:
3672-
alc_process_coef_fw(codec, en_coefs);
36733662
alc_write_coefex_idx(codec, 0x5a, 0x00, 0x554f); /* write gpio3 as default value */
36743663
break;
36753664
}
@@ -3692,10 +3681,15 @@ static void alc287_fixup_lenovo_thinkpad_with_alc1318(struct hda_codec *codec,
36923681
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC301),
36933682
WRITE_COEF(0x28, 0x0001), WRITE_COEF(0x29, 0xb023),
36943683
};
3684+
static const struct coef_fw dis_coefs[] = {
3685+
WRITE_COEF(0x24, 0x0013), WRITE_COEF(0x25, 0x0000), WRITE_COEF(0x26, 0xC203),
3686+
WRITE_COEF(0x28, 0x0004), WRITE_COEF(0x29, 0xb023),
3687+
}; /* Disable AMP silence detection */
36953688

36963689
if (action != HDA_FIXUP_ACT_PRE_PROBE)
36973690
return;
36983691
alc_update_coef_idx(codec, 0x10, 1<<11, 1<<11);
3692+
alc_process_coef_fw(codec, dis_coefs);
36993693
alc_process_coef_fw(codec, coefs);
37003694
spec->power_hook = alc287_s4_power_gpio3_default;
37013695
spec->gen.pcm_playback_hook = alc287_alc1318_playback_pcm_hook;

0 commit comments

Comments
 (0)