aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-08-10 11:11:07 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-16 09:58:43 -0400
commit47fd830acf0b6b5bc75db55d0f2cc64f59a23b5f (patch)
tree920b7e2cdce7120ff96417d74b911c3d5b95c21b /sound/pci/hda/patch_sigmatel.c
parent82beb8fd365afe3891b277c46425083f13e23c56 (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.c18
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