@@ -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