diff options
author | Takashi Iwai <tiwai@suse.de> | 2007-08-10 11:11:07 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2007-10-16 09:58:43 -0400 |
commit | 47fd830acf0b6b5bc75db55d0f2cc64f59a23b5f (patch) | |
tree | 920b7e2cdce7120ff96417d74b911c3d5b95c21b /sound/pci/hda/patch_sigmatel.c | |
parent | 82beb8fd365afe3891b277c46425083f13e23c56 (diff) |
[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>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 145a5f3c0632..1690726c1e13 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -2408,13 +2408,13 @@ static int vaio_master_vol_put(struct snd_kcontrol *kcontrol, | |||
2408 | int change; | 2408 | int change; |
2409 | 2409 | ||
2410 | change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0, | 2410 | change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0, |
2411 | 0x7f, valp[0] & 0x7f); | 2411 | HDA_AMP_VOLMASK, valp[0]); |
2412 | change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0, | 2412 | change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0, |
2413 | 0x7f, valp[1] & 0x7f); | 2413 | HDA_AMP_VOLMASK, valp[1]); |
2414 | snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0, | 2414 | snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0, |
2415 | 0x7f, valp[0] & 0x7f); | 2415 | HDA_AMP_VOLMASK, valp[0]); |
2416 | snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0, | 2416 | snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0, |
2417 | 0x7f, valp[1] & 0x7f); | 2417 | HDA_AMP_VOLMASK, valp[1]); |
2418 | return change; | 2418 | return change; |
2419 | } | 2419 | } |
2420 | 2420 | ||
@@ -2427,13 +2427,15 @@ static int vaio_master_sw_put(struct snd_kcontrol *kcontrol, | |||
2427 | int change; | 2427 | int change; |
2428 | 2428 | ||
2429 | change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0, | 2429 | change = snd_hda_codec_amp_update(codec, 0x02, 0, HDA_OUTPUT, 0, |
2430 | 0x80, (valp[0] ? 0 : 0x80)); | 2430 | HDA_AMP_MUTE, |
2431 | (valp[0] ? 0 : HDA_AMP_MUTE)); | ||
2431 | change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0, | 2432 | change |= snd_hda_codec_amp_update(codec, 0x02, 1, HDA_OUTPUT, 0, |
2432 | 0x80, (valp[1] ? 0 : 0x80)); | 2433 | HDA_AMP_MUTE, |
2434 | (valp[1] ? 0 : HDA_AMP_MUTE)); | ||
2433 | snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0, | 2435 | snd_hda_codec_amp_update(codec, 0x05, 0, HDA_OUTPUT, 0, |
2434 | 0x80, (valp[0] ? 0 : 0x80)); | 2436 | HDA_AMP_MUTE, (valp[0] ? 0 : HDA_AMP_MUTE)); |
2435 | snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0, | 2437 | snd_hda_codec_amp_update(codec, 0x05, 1, HDA_OUTPUT, 0, |
2436 | 0x80, (valp[1] ? 0 : 0x80)); | 2438 | HDA_AMP_MUTE, (valp[1] ? 0 : HDA_AMP_MUTE)); |
2437 | return change; | 2439 | return change; |
2438 | } | 2440 | } |
2439 | 2441 | ||