[alsa-devel] Macbook[Pro] 5 6ch support
Takashi Iwai
tiwai at suse.de
Tue Jun 2 01:52:59 CEST 2009
At Mon, 1 Jun 2009 20:21:27 +0200,
Kacper Szczesniak wrote:
>
> On Mon, Jun 1, 2009 at 6:54 PM, Takashi Iwai <tiwai at suse.de> wrote:
> > At Mon, 1 Jun 2009 15:36:35 +0200,
> > Kacper Szczesniak wrote:
> >>
> >> On Mon, Jun 1, 2009 at 10:54 AM, Takashi Iwai <tiwai at suse.de> wrote:
> >> > Hm, this patch changes the channel mapping completely.
> >> > Is it intentional?
> >> yes, 0xc/0xd/0xe for Front/LFE/Surr
> >>
> >> >> static struct snd_kcontrol_new alc885_mb5_mixer[] = {
> >> >> - HDA_CODEC_VOLUME("Front Playback Volume", 0x0d, 0x00, HDA_OUTPUT),
> >> >> - HDA_BIND_MUTE ("Front Playback Switch", 0x0d, 0x02, HDA_INPUT),
> >> >> - HDA_CODEC_VOLUME("Line-Out Playback Volume", 0x0c, 0x00, HDA_OUTPUT),
> >> >> - HDA_BIND_MUTE ("Line-Out Playback Switch", 0x0c, 0x02, HDA_INPUT),
> >> >> + HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x00, HDA_OUTPUT),
> >> >> + HDA_BIND_MUTE ("Front Playback Switch", 0x0c, 0x02, HDA_INPUT),
> >> >> + HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x00, HDA_OUTPUT),
> >> >> + HDA_BIND_MUTE ("Surround Playback Switch", 0x0d, 0x02, HDA_INPUT),
> >> >> + HDA_CODEC_VOLUME("LFE Playback Volume", 0x0e, 0x00, HDA_OUTPUT),
> >> >> + HDA_BIND_MUTE ("LFE Playback Switch", 0x0e, 0x02, HDA_INPUT),
> >> >> + HDA_CODEC_VOLUME("HP Playback Volume", 0x0f, 0x00, HDA_OUTPUT),
> >> >> + HDA_BIND_MUTE ("HP Playback Switch", 0x0f, 0x02, HDA_INPUT),
> >> >> HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
> >> >> HDA_CODEC_MUTE ("Line Playback Switch", 0x0b, 0x02, HDA_INPUT),
> >> >
> >> >
> >> > I'm wondering whether this breaks MB5, not MB5.1. If it's MB5.1
> >> > specific, please create another model instead of breaking the old
> >> > one.
> >> it's confirmed to work on MB5.1 MBP5.1 MBP52
> >
> > Hrm, then I wonder why the old mb5 model works as is although the
> > mapping is totally different...
>
> /* Front mixer */
> - {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
> - {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
> - {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
> - /* LineOut mixer */
> {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
> {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
> {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
> - /* Front Pin: output 0 (0x0d) */
> + /* Surround mixer */
> + {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
> + {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
> + {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
> + /* LFE mixer */
> + {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
> + {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
> + {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
> + /* HP mixer */
> + {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
> + {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
> + {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
> + /* Front Pin (0x0c) */
> {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | 0x01},
> {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
> - {0x18, AC_VERB_SET_CONNECT_SEL, 0x01},
> - /* HP Pin: output 0 (0x0c) */
> + {0x18, AC_VERB_SET_CONNECT_SEL, 0x00},
> + /* LFE Pin (0x0e) */
> + {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT | 0x01},
> + {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
> + {0x1a, AC_VERB_SET_CONNECT_SEL, 0x02},
> + /* HP Pin (0x0f) */
> {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
> {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
> - {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
> + {0x14, AC_VERB_SET_CONNECT_SEL, 0x03},
>
> connections are different also... I've changed mixer names and connected PINs to
> the right mixer nodes.
Fair enough. I merged the patch now to sound git tree.
Let me know if you see still any problem.
thanks,
Takashi
More information about the Alsa-devel
mailing list