aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_conexant.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-10-19 02:06:21 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-23 02:04:34 -0400
commitc8229c38c61b1acab1f3fc28275690da71907248 (patch)
treeab098451c8fa2a0edb452b84a92921be491e88bd /sound/pci/hda/patch_conexant.c
parent9a2a763e08889318d7ace9f59d7963661a46d393 (diff)
[ALSA] hda-codec - Fix Conexant 5045 volumes
Fixed the init verbs and added the missing volume controls so that the driver works again with Conexant 5045 codec chip. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/hda/patch_conexant.c')
-rw-r--r--sound/pci/hda/patch_conexant.c33
1 files changed, 19 insertions, 14 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 080e3001d9c5..7df9058b234c 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -554,10 +554,16 @@ static struct snd_kcontrol_new cxt5045_mixers[] = {
554 .get = conexant_mux_enum_get, 554 .get = conexant_mux_enum_get,
555 .put = conexant_mux_enum_put 555 .put = conexant_mux_enum_put
556 }, 556 },
557 HDA_CODEC_VOLUME("Int Mic Volume", 0x1a, 0x01, HDA_INPUT), 557 HDA_CODEC_VOLUME("Int Mic Capture Volume", 0x1a, 0x01, HDA_INPUT),
558 HDA_CODEC_MUTE("Int Mic Switch", 0x1a, 0x01, HDA_INPUT), 558 HDA_CODEC_MUTE("Int Mic Capture Switch", 0x1a, 0x01, HDA_INPUT),
559 HDA_CODEC_VOLUME("Ext Mic Volume", 0x1a, 0x02, HDA_INPUT), 559 HDA_CODEC_VOLUME("Ext Mic Capture Volume", 0x1a, 0x02, HDA_INPUT),
560 HDA_CODEC_MUTE("Ext Mic Switch", 0x1a, 0x02, HDA_INPUT), 560 HDA_CODEC_MUTE("Ext Mic Capture Switch", 0x1a, 0x02, HDA_INPUT),
561 HDA_CODEC_VOLUME("PCM Playback Volume", 0x17, 0x0, HDA_INPUT),
562 HDA_CODEC_MUTE("PCM Playback Switch", 0x17, 0x0, HDA_INPUT),
563 HDA_CODEC_VOLUME("Int Mic Playback Volume", 0x17, 0x1, HDA_INPUT),
564 HDA_CODEC_MUTE("Int Mic Playback Switch", 0x17, 0x1, HDA_INPUT),
565 HDA_CODEC_VOLUME("Ext Mic Playback Volume", 0x17, 0x2, HDA_INPUT),
566 HDA_CODEC_MUTE("Ext Mic Playback Switch", 0x17, 0x2, HDA_INPUT),
561 HDA_BIND_VOL("Master Playback Volume", &cxt5045_hp_bind_master_vol), 567 HDA_BIND_VOL("Master Playback Volume", &cxt5045_hp_bind_master_vol),
562 { 568 {
563 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 569 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -576,16 +582,15 @@ static struct hda_verb cxt5045_init_verbs[] = {
576 {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, 582 {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
577 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 }, 583 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN|AC_PINCTL_VREF_80 },
578 /* HP, Amp */ 584 /* HP, Amp */
579 {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP }, 585 {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
580 {0x17, AC_VERB_SET_CONNECT_SEL,0x01}, 586 {0x10, AC_VERB_SET_CONNECT_SEL, 0x1},
581 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, 587 {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
582 AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x01}, 588 {0x11, AC_VERB_SET_CONNECT_SEL, 0x1},
583 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, 589 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
584 AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x02}, 590 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
585 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, 591 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
586 AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x03}, 592 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
587 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, 593 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
588 AC_AMP_SET_OUTPUT|AC_AMP_SET_RIGHT|AC_AMP_SET_LEFT|0x04},
589 /* Record selector: Int mic */ 594 /* Record selector: Int mic */
590 {0x1a, AC_VERB_SET_CONNECT_SEL,0x1}, 595 {0x1a, AC_VERB_SET_CONNECT_SEL,0x1},
591 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, 596 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE,