summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_cirrus.c
diff options
context:
space:
mode:
authorStelian Pop <stelian@popies.net>2009-07-30 14:44:27 +0200
committerTakashi Iwai <tiwai@suse.de>2009-07-30 14:57:25 +0200
commit3a38516750e176a18f76d605b401fbab2c72d648 (patch)
tree25ddeb33ebe7b0afdd99cf115a410348aa4f538c /sound/pci/hda/patch_cirrus.c
parentALSA: hda - don't build digital output controls if not exist (diff)
downloadlinux-3a38516750e176a18f76d605b401fbab2c72d648.tar.xz
linux-3a38516750e176a18f76d605b401fbab2c72d648.zip
ALSA: hda - Enable HP output with Macbook Pro 5, 5
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>
Diffstat (limited to 'sound/pci/hda/patch_cirrus.c')
-rw-r--r--sound/pci/hda/patch_cirrus.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
index f5527380a245..8ba306856d38 100644
--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -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;
}