Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c26a8de23a4417f556250c4c099b048b26c430be
Commit:     c26a8de23a4417f556250c4c099b048b26c430be
Parent:     1fc273b88e59092466b6503e46d9227976254e10
Author:     Randy Cushman <[EMAIL PROTECTED]>
AuthorDate: Fri Mar 9 11:32:22 2007 +0100
Committer:  Jaroslav Kysela <[EMAIL PROTECTED]>
CommitDate: Wed Mar 14 08:24:16 2007 +0100

    [ALSA] ac97 - fix AD shared shared jack control logic
    
    This patch fixes the control logic for shared
    Microphone in/Center+LFE out and Line in/Surround out jacks
    for Analog Devices AD1888, AD1980 and AD1985 AC '97 CODECs.
    
    Signed-off-by: Randy Cushman <[EMAIL PROTECTED]>
    Signed-off-by: Takashi Iwai <[EMAIL PROTECTED]>
    Signed-off-by: Jaroslav Kysela <[EMAIL PROTECTED]>
---
 sound/pci/ac97/ac97_patch.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
index 37fabf7..b188a4d 100644
--- a/sound/pci/ac97/ac97_patch.c
+++ b/sound/pci/ac97/ac97_patch.c
@@ -1962,9 +1962,11 @@ static int snd_ac97_ad1888_downmix_put(struct 
snd_kcontrol *kcontrol, struct snd
 static void ad1888_update_jacks(struct snd_ac97 *ac97)
 {
        unsigned short val = 0;
-       if (! is_shared_linein(ac97))
+       /* clear LODIS if shared jack is to be used for Surround out */
+       if (is_shared_linein(ac97))
                val |= (1 << 12);
-       if (! is_shared_micin(ac97))
+       /* clear CLDIS if shared jack is to be used for C/LFE out */
+       if (is_shared_micin(ac97))
                val |= (1 << 11);
        /* shared Line-In */
        snd_ac97_update_bits(ac97, AC97_AD_MISC, (1 << 11) | (1 << 12), val);
@@ -2136,8 +2138,9 @@ static const struct snd_kcontrol_new 
snd_ac97_ad1985_controls[] = {
 static void ad1985_update_jacks(struct snd_ac97 *ac97)
 {
        ad1888_update_jacks(ac97);
+       /* clear OMS if shared jack is to be used for C/LFE out */
        snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 1 << 9,
-                            is_shared_micin(ac97) ? 0 : 1 << 9);
+                            is_shared_micin(ac97) ? 1 << 9 : 0);
 }
 
 static int patch_ad1985_specific(struct snd_ac97 *ac97)
@@ -2418,9 +2421,9 @@ static void ad1986_update_jacks(struct snd_ac97 *ac97)
        unsigned short ser_val;
 
        /* disable SURROUND and CENTER/LFE if not surround mode */
-       if (! is_surround_on(ac97))
+       if (!is_surround_on(ac97))
                misc_val |= AC97_AD1986_SODIS;
-       if (! is_clfe_on(ac97))
+       if (!is_clfe_on(ac97))
                misc_val |= AC97_AD1986_CLDIS;
 
        /* select line input (default=LINE_IN, SURROUND or MIC_1/2) */
-
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