@@ -338,6 +338,7 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
338338 case 0x10ec0288 :
339339 case 0x10ec0295 :
340340 case 0x10ec0298 :
341+ case 0x10ec0299 :
341342 alc_update_coef_idx (codec , 0x10 , 1 <<9 , 0 );
342343 break ;
343344 case 0x10ec0285 :
@@ -914,6 +915,7 @@ static struct alc_codec_rename_pci_table rename_pci_tbl[] = {
914915 { 0x10ec0256 , 0x1028 , 0 , "ALC3246" },
915916 { 0x10ec0225 , 0x1028 , 0 , "ALC3253" },
916917 { 0x10ec0295 , 0x1028 , 0 , "ALC3254" },
918+ { 0x10ec0299 , 0x1028 , 0 , "ALC3271" },
917919 { 0x10ec0670 , 0x1025 , 0 , "ALC669X" },
918920 { 0x10ec0676 , 0x1025 , 0 , "ALC679X" },
919921 { 0x10ec0282 , 0x1043 , 0 , "ALC3229" },
@@ -3721,6 +3723,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec)
37213723 break ;
37223724 case 0x10ec0225 :
37233725 case 0x10ec0295 :
3726+ case 0x10ec0299 :
37243727 alc_process_coef_fw (codec , coef0225 );
37253728 break ;
37263729 }
@@ -3823,6 +3826,7 @@ static void alc_headset_mode_mic_in(struct hda_codec *codec, hda_nid_t hp_pin,
38233826 break ;
38243827 case 0x10ec0225 :
38253828 case 0x10ec0295 :
3829+ case 0x10ec0299 :
38263830 alc_update_coef_idx (codec , 0x45 , 0x3f <<10 , 0x31 <<10 );
38273831 snd_hda_set_pin_ctl_cache (codec , hp_pin , 0 );
38283832 alc_process_coef_fw (codec , coef0225 );
@@ -3881,6 +3885,7 @@ static void alc_headset_mode_default(struct hda_codec *codec)
38813885 switch (codec -> core .vendor_id ) {
38823886 case 0x10ec0225 :
38833887 case 0x10ec0295 :
3888+ case 0x10ec0299 :
38843889 alc_process_coef_fw (codec , coef0225 );
38853890 break ;
38863891 case 0x10ec0236 :
@@ -3995,6 +4000,7 @@ static void alc_headset_mode_ctia(struct hda_codec *codec)
39954000 break ;
39964001 case 0x10ec0225 :
39974002 case 0x10ec0295 :
4003+ case 0x10ec0299 :
39984004 alc_process_coef_fw (codec , coef0225 );
39994005 break ;
40004006 }
@@ -4086,6 +4092,7 @@ static void alc_headset_mode_omtp(struct hda_codec *codec)
40864092 break ;
40874093 case 0x10ec0225 :
40884094 case 0x10ec0295 :
4095+ case 0x10ec0299 :
40894096 alc_process_coef_fw (codec , coef0225 );
40904097 break ;
40914098 }
@@ -4171,6 +4178,7 @@ static void alc_determine_headset_type(struct hda_codec *codec)
41714178 break ;
41724179 case 0x10ec0225 :
41734180 case 0x10ec0295 :
4181+ case 0x10ec0299 :
41744182 alc_process_coef_fw (codec , coef0225 );
41754183 msleep (800 );
41764184 val = alc_read_coef_idx (codec , 0x46 );
@@ -6233,6 +6241,7 @@ static int patch_alc269(struct hda_codec *codec)
62336241 break ;
62346242 case 0x10ec0225 :
62356243 case 0x10ec0295 :
6244+ case 0x10ec0299 :
62366245 spec -> codec_variant = ALC269_TYPE_ALC225 ;
62376246 break ;
62386247 case 0x10ec0234 :
@@ -7191,6 +7200,7 @@ static const struct hda_device_id snd_hda_id_realtek[] = {
71917200 HDA_CODEC_ENTRY (0x10ec0294 , "ALC294" , patch_alc269 ),
71927201 HDA_CODEC_ENTRY (0x10ec0295 , "ALC295" , patch_alc269 ),
71937202 HDA_CODEC_ENTRY (0x10ec0298 , "ALC298" , patch_alc269 ),
7203+ HDA_CODEC_ENTRY (0x10ec0299 , "ALC299" , patch_alc269 ),
71947204 HDA_CODEC_REV_ENTRY (0x10ec0861 , 0x100340 , "ALC660" , patch_alc861 ),
71957205 HDA_CODEC_ENTRY (0x10ec0660 , "ALC660-VD" , patch_alc861vd ),
71967206 HDA_CODEC_ENTRY (0x10ec0861 , "ALC861" , patch_alc861 ),
0 commit comments