ALSA: hda - AD1988 codec - fix SPDIF-input mixer initialization (unmute)
The SPDIF-input pin 0x1c is muted by default in hardware. Unmute appropriate pin to get captured samples instead zeros. Tested on Lenovo Thinkstation. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
		
							parent
							
								
									c91a988dc6
								
							
						
					
					
						commit
						fd0b092a7b
					
				| @ -2458,6 +2458,12 @@ static struct hda_verb ad1988_spdif_init_verbs[] = { | ||||
| 	{ } | ||||
| }; | ||||
| 
 | ||||
| static struct hda_verb ad1988_spdif_in_init_verbs[] = { | ||||
| 	/* unmute SPDIF input pin */ | ||||
| 	{0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, | ||||
| 	{ } | ||||
| }; | ||||
| 
 | ||||
| /* AD1989 has no ADC -> SPDIF route */ | ||||
| static struct hda_verb ad1989_spdif_init_verbs[] = { | ||||
| 	/* SPDIF-1 out pin */ | ||||
| @ -3193,8 +3199,11 @@ static int patch_ad1988(struct hda_codec *codec) | ||||
| 				ad1988_spdif_init_verbs; | ||||
| 		} | ||||
| 	} | ||||
| 	if (spec->dig_in_nid && codec->vendor_id < 0x11d4989a) | ||||
| 	if (spec->dig_in_nid && codec->vendor_id < 0x11d4989a) { | ||||
| 		spec->mixers[spec->num_mixers++] = ad1988_spdif_in_mixers; | ||||
| 		spec->init_verbs[spec->num_init_verbs++] = | ||||
| 			ad1988_spdif_in_init_verbs; | ||||
| 	} | ||||
| 
 | ||||
| 	codec->patch_ops = ad198x_patch_ops; | ||||
| 	switch (board_config) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user