diff options
author | Stelian Pop <stelian@popies.net> | 2009-07-30 14:44:27 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-07-30 14:57:25 +0200 |
commit | 3a38516750e176a18f76d605b401fbab2c72d648 (patch) | |
tree | 25ddeb33ebe7b0afdd99cf115a410348aa4f538c /sound/pci/hda/patch_cirrus.c | |
parent | ALSA: hda - don't build digital output controls if not exist (diff) | |
download | linux-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.c | 13 |
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; } |