[alsa-devel] [PATCH] Enable HP output on nVidia Corporation MCP79 HDA (rev b1) (Macbook Pro 5, 5)
Hi,
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
Thanks for the previous efforts to make this work !
Stelian.
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index f552738..09be633 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -832,6 +832,12 @@ 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) { + if (hp_present) + snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 0x2); + else + snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 0x8); + } }
static void cs_automic(struct hda_codec *codec) @@ -1133,10 +1139,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; }
At Thu, 30 Jul 2009 14:44:27 +0200, Stelian Pop wrote:
Hi,
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
Thanks for the previous efforts to make this work !
Great, this is *the* missing piece!
I'm going to merge the hda-cirrus patch back to the (stable) sound GIT tree so that it'll be merged into the next 2.6.32 kernel.
Thanks!
Takashi
Stelian.
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index f552738..09be633 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -832,6 +832,12 @@ 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) {
if (hp_present)
snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 0x2);
else
snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA, 0x8);
- }
}
static void cs_automic(struct hda_codec *codec) @@ -1133,10 +1139,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;
break; }spec->gpio_dir = 0x0a;
-- Stelian Pop stelian@popies.net _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
On Thu, Jul 30, 2009 at 02:49:20PM +0200, Takashi Iwai wrote:
Great, this is *the* missing piece!
Yup. Everything seems to work fine now.
I'm going to merge the hda-cirrus patch back to the (stable) sound GIT tree so that it'll be merged into the next 2.6.32 kernel.
Cool. Thanks !
Stelian.
At Thu, 30 Jul 2009 15:05:43 +0200, Stelian Pop wrote:
On Thu, Jul 30, 2009 at 02:49:20PM +0200, Takashi Iwai wrote:
Great, this is *the* missing piece!
Yup. Everything seems to work fine now.
I'm going to merge the hda-cirrus patch back to the (stable) sound GIT tree so that it'll be merged into the next 2.6.32 kernel.
Cool. Thanks !
Now it's done. You can use alsa-driver-snapshot (not unstable one) from now on. It might take some time until the server is sync'ed. But it's already out from my local machine :)
thanks,
Takashi
At Thu, 30 Jul 2009 15:07:39 +0200, I wrote:
At Thu, 30 Jul 2009 15:05:43 +0200, Stelian Pop wrote:
On Thu, Jul 30, 2009 at 02:49:20PM +0200, Takashi Iwai wrote:
Great, this is *the* missing piece!
Yup. Everything seems to work fine now.
I'm going to merge the hda-cirrus patch back to the (stable) sound GIT tree so that it'll be merged into the next 2.6.32 kernel.
Cool. Thanks !
Now it's done. You can use alsa-driver-snapshot (not unstable one) from now on. It might take some time until the server is sync'ed. But it's already out from my local machine :)
Oops, I forgot to update alsa-driver-build GIT tree, thus the snapshot tarball failed to build. Fixed now. Let me know if you still see the problems.
thanks,
Takashi
participants (2)
-
Stelian Pop
-
Takashi Iwai