ALSA: hda - Enable HP output with Macbook Pro 5, 5
authorStelian Pop <stelian@popies.net>
Thu, 30 Jul 2009 12:44:27 +0000 (14:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 30 Jul 2009 12:57:25 +0000 (14:57 +0200)
The patch below, to be applied on the latest sound-unstable-2.6.git,
enables headphones output on my MacBookPro 5,5, together with the
automuting feature.

Here is the exact soundcard id:
Vendor Id: 0x10134206
Subsystem Id: 0x106b4d00
Revision Id: 0x100301

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c

index f5527380a2456cb3ad9921528af4b7b769476272..8ba306856d38f649249de71ea33d999518294c09 100644 (file)
@@ -832,6 +832,11 @@ static void cs_automute(struct hda_codec *codec)
                                    AC_VERB_SET_PIN_WIDGET_CONTROL,
                                    hp_present ? 0 : PIN_OUT);
        }
+       if (spec->board_config == CS420X_MBP55) {
+               unsigned int gpio = hp_present ? 0x02 : 0x08;
+               snd_hda_codec_write(codec, 0x01, 0,
+                                   AC_VERB_SET_GPIO_DATA, gpio);
+       }
 }
 
 static void cs_automic(struct hda_codec *codec)
@@ -1133,10 +1138,10 @@ static int patch_cs420x(struct hda_codec *codec)
 
        switch (spec->board_config) {
        case CS420X_MBP55:
-               /* GPIO3 = EAPD? */
-               spec->gpio_mask = 0x08;
-               spec->gpio_dir = 0x08;
-               spec->gpio_data = 0x08;
+               /* GPIO1 = headphones */
+               /* GPIO3 = speakers */
+               spec->gpio_mask = 0x0a;
+               spec->gpio_dir = 0x0a;
                break;
        }