ALSA: hda - Flush dirty amp caches before writing inv_dmic fix
The inverted dmic fix overwrites the right channel amp value, but it would work only when the amp values have been already actually written. Put snd_hda_codec_resume_amp() before the amp write for flushing caches. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
3bcce5c0d9
commit
c4f3ebed3c
1 changed files with 3 additions and 0 deletions
|
@ -633,6 +633,9 @@ static void alc_inv_dmic_sync_adc(struct hda_codec *codec, int adc_idx)
|
|||
parm = AC_AMP_SET_RIGHT |
|
||||
(dir == HDA_OUTPUT ? AC_AMP_SET_OUTPUT : AC_AMP_SET_INPUT);
|
||||
|
||||
/* flush all cached amps at first */
|
||||
snd_hda_codec_resume_amp(codec);
|
||||
|
||||
/* we care only right channel */
|
||||
val = snd_hda_codec_amp_read(codec, nid, 1, dir, 0);
|
||||
if (val & 0x80) /* if already muted, we don't need to touch */
|
||||
|
|
Loading…
Reference in a new issue