Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb956c16d92c6c8c8d30e938cce5c17cf737b646
Commit:     fb956c16d92c6c8c8d30e938cce5c17cf737b646
Parent:     43a23389003f92cc26a84a680008330e094db38d
Author:     Takashi Iwai <[EMAIL PROTECTED]>
AuthorDate: Wed Apr 18 23:03:56 2007 +0200
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Fri May 11 16:56:07 2007 +0200

    [ALSA] hda-codec - Fix surround output on AD1986A
    
    Fix surround output on AD1986A codec 3stack model.
    The following bugs are fixed:
    - init verbs for 3stack disabled the shared surround outputs
    - a channel mode change resulted in the mute of surrounds
    
    Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/pci/hda/patch_analog.c |   40 ++++++++++++++++------------------------
 1 files changed, 16 insertions(+), 24 deletions(-)

diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index fa194f2..2654097 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -751,42 +751,35 @@ static struct hda_verb ad1986a_init_verbs[] = {
        { } /* end */
 };
 
-/* additional verbs for 3-stack model */
-static struct hda_verb ad1986a_3st_init_verbs[] = {
-       /* Mic selector, mix C/LFE (backmic) and Mic (frontmic) */
-       {0x0f, AC_VERB_SET_CONNECT_SEL, 0x4},
-       /* Line-in selectors */
-       {0x10, AC_VERB_SET_CONNECT_SEL, 0x1},
-       { } /* end */
-};
-
 static struct hda_verb ad1986a_ch2_init[] = {
        /* Surround out -> Line In */
-       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
-       { 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
+       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN },
+       /* Line-in selectors */
+       { 0x10, AC_VERB_SET_CONNECT_SEL, 0x1 },
        /* CLFE -> Mic in */
-       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
-       { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
+       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
+       /* Mic selector, mix C/LFE (backmic) and Mic (frontmic) */
+       { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x4 },
        { } /* end */
 };
 
 static struct hda_verb ad1986a_ch4_init[] = {
        /* Surround out -> Surround */
-       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
-       { 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
+       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+       { 0x10, AC_VERB_SET_CONNECT_SEL, 0x0 },
        /* CLFE -> Mic in */
-       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
-       { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080},
+       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 },
+       { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x4 },
        { } /* end */
 };
 
 static struct hda_verb ad1986a_ch6_init[] = {
        /* Surround out -> Surround out */
-       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
-       { 0x1c, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
+       { 0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+       { 0x10, AC_VERB_SET_CONNECT_SEL, 0x0 },
        /* CLFE -> CLFE */
-       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
-       { 0x1d, AC_VERB_SET_AMP_GAIN_MUTE, 0xb000},
+       { 0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+       { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x0 },
        { } /* end */
 };
 
@@ -895,9 +888,8 @@ static int patch_ad1986a(struct hda_codec *codec)
        case AD1986A_3STACK:
                spec->num_mixers = 2;
                spec->mixers[1] = ad1986a_3st_mixers;
-               spec->num_init_verbs = 3;
-               spec->init_verbs[1] = ad1986a_3st_init_verbs;
-               spec->init_verbs[2] = ad1986a_ch2_init;
+               spec->num_init_verbs = 2;
+               spec->init_verbs[1] = ad1986a_ch2_init;
                spec->channel_mode = ad1986a_modes;
                spec->num_channel_mode = ARRAY_SIZE(ad1986a_modes);
                spec->need_dac_fix = 1;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to