mirror of https://gitee.com/openkylin/linux.git
[ALSA] hda-codec - Fix LFE volume/switch
HDA Codec driver Fixed LFE volume/switch control. Signed-off-by: Nicolas Graziano <nicolas.graziano@wanadoo.fr> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
d827560c96
commit
b9f5a89c74
|
@ -749,12 +749,14 @@ int snd_hda_mixer_amp_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t
|
||||||
long *valp = ucontrol->value.integer.value;
|
long *valp = ucontrol->value.integer.value;
|
||||||
int change = 0;
|
int change = 0;
|
||||||
|
|
||||||
if (chs & 1)
|
if (chs & 1) {
|
||||||
change = snd_hda_codec_amp_update(codec, nid, 0, dir, idx,
|
change = snd_hda_codec_amp_update(codec, nid, 0, dir, idx,
|
||||||
0x7f, *valp);
|
0x7f, *valp);
|
||||||
|
valp++;
|
||||||
|
}
|
||||||
if (chs & 2)
|
if (chs & 2)
|
||||||
change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
|
change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
|
||||||
0x7f, valp[1]);
|
0x7f, *valp);
|
||||||
return change;
|
return change;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -796,12 +798,15 @@ int snd_hda_mixer_amp_switch_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t
|
||||||
long *valp = ucontrol->value.integer.value;
|
long *valp = ucontrol->value.integer.value;
|
||||||
int change = 0;
|
int change = 0;
|
||||||
|
|
||||||
if (chs & 1)
|
if (chs & 1) {
|
||||||
change = snd_hda_codec_amp_update(codec, nid, 0, dir, idx,
|
change = snd_hda_codec_amp_update(codec, nid, 0, dir, idx,
|
||||||
0x80, *valp ? 0 : 0x80);
|
0x80, *valp ? 0 : 0x80);
|
||||||
|
valp++;
|
||||||
|
}
|
||||||
if (chs & 2)
|
if (chs & 2)
|
||||||
change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
|
change |= snd_hda_codec_amp_update(codec, nid, 1, dir, idx,
|
||||||
0x80, valp[1] ? 0 : 0x80);
|
0x80, *valp ? 0 : 0x80);
|
||||||
|
|
||||||
return change;
|
return change;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue