[ALSA] hda-codec - add snd_hda_codec_stereo() function

Added snd_hda_codec_amp_stereo() function that changes both of stereo
channels with the same mask and value bits.  It simplifies most of
amp-handling codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
Takashi Iwai
2007-08-10 17:11:07 +02:00
committed by Jaroslav Kysela
parent 82beb8fd36
commit 47fd830acf
7 changed files with 205 additions and 278 deletions

View File

@@ -2408,13 +2408,13 @@ static int vaio_master_vol_put(struct snd_kcontrol *kcontrol,
int change;
change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0,
0x7f, valp[0] & 0x7f);
HDA_AMP_VOLMASK, valp[0]);
change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0,
0x7f, valp[1] & 0x7f);
HDA_AMP_VOLMASK, valp[1]);
snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0,
0x7f, valp[0] & 0x7f);
HDA_AMP_VOLMASK, valp[0]);
snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0,
0x7f, valp[1] & 0x7f);
HDA_AMP_VOLMASK, valp[1]);
return change;
}
@@ -2427,13 +2427,15 @@ static int vaio_master_sw_put(struct snd_kcontrol *kcontrol,
int change;
change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0,
0x80, (valp[0] ? 0 : 0x80));
HDA_AMP_MUTE,
(valp[0] ? 0 : HDA_AMP_MUTE));
change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0,
0x80, (valp[1] ? 0 : 0x80));
HDA_AMP_MUTE,
(valp[1] ? 0 : HDA_AMP_MUTE));
snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0,
0x80, (valp[0] ? 0 : 0x80));
HDA_AMP_MUTE, (valp[0] ? 0 : HDA_AMP_MUTE));
snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0,
0x80, (valp[1] ? 0 : 0x80));
HDA_AMP_MUTE, (valp[1] ? 0 : HDA_AMP_MUTE));
return change;
}