[alsa-devel] [PATCH]alsa:patch_realtek.c Add support for the MacBookAir1, 1
Justin P. Mattock
justinmattock at gmail.com
Fri Jul 30 21:12:08 CEST 2010
On 07/30/2010 11:31 AM, Takashi Iwai wrote:
> Justin,
>
> At Tue, 8 Jun 2010 10:45:40 -0700,
> Justin P. Mattock wrote:
>>
>> This patch adds support for the MacBookAir1,1
>> Note:I do not have this machine on hand only the
>> codec#0 file for the machine.. located at
>> https://bugs.launchpad.net/mactel-support/+bug/268301
>> So please test if you have the appropriate equipment,
>> and report any issues to the alsa devel list
>> (alsa-devel at alsa-project.org).
>>
>> Signed-off-by: Justin P. Mattock<justinmattock at gmail.com>
>
> Any positive/negative feedbacks to your patches?
> I'd like to gather patches for 2.6.36 before too late.
>
>
> thanks,
>
> Takashi
>
no.. I haven't heard anything on these patches that I put out a few
weeks ago..
>> ---
>> Documentation/sound/alsa/HD-Audio-Models.txt | 1 +
>> sound/pci/hda/patch_realtek.c | 59 +++++++++++++++++++++++++-
>> 2 files changed, 58 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
>> index 1d38b0d..d3838b5 100644
>> --- a/Documentation/sound/alsa/HD-Audio-Models.txt
>> +++ b/Documentation/sound/alsa/HD-Audio-Models.txt
>> @@ -125,6 +125,7 @@ ALC882/883/885/888/889
>> macpro MacPro support
>> mb5 Macbook 5,1
>> macmini3 Macmini 3,1
>> + mba11 MacBook Air 1,1
>> mba21 Macbook Air 2,1
>> mbp3 Macbook Pro rev3
>> imac24 iMac 24'' with jack detection
>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>> index fc767b6..1dcf78c 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -209,6 +209,7 @@ enum {
>> ALC882_ASUS_A7J,
>> ALC882_ASUS_A7M,
>> ALC885_MACPRO,
>> + ALC885_MBA11,
>> ALC885_MBA21,
>> ALC885_MBP3,
>> ALC885_MB5,
>> @@ -7444,6 +7445,13 @@ static struct snd_kcontrol_new alc885_mba21_mixer[] = {
>> { }
>> };
>>
>> +/* MacBookAir1,1 not sure what/where things are(dont have the machine). */
>> +
>> +static struct snd_kcontrol_new alc885_mba11_mixer[] = {
>> + HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0c, 0x00, HDA_OUTPUT),
>> + HDA_BIND_MUTE("Speaker Playback Switch", 0x0c, 0x02, HDA_OUTPUT),
>> + { }
>> +};
>>
>> static struct snd_kcontrol_new alc885_mbp3_mixer[] = {
>> HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0c, 0x00, HDA_OUTPUT),
>> @@ -7929,6 +7937,40 @@ static struct hda_verb alc885_mba21_init_verbs[] = {
>> { }
>> };
>>
>> +static struct hda_verb alc885_mba11_init_verbs[] = {
>> + /*Internal and HP Speaker Mixer*/
>> + {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
>> + {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
>> + {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
>> + /* Main Speaker */
>> + {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, (PIN_OUT | AC_PINCTL_VREF_50) },
>> + {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
>> + {0x14, AC_VERB_SET_CONNECT_SEL, 0x00},
>> + /* HP jack */
>> + {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc4},
>> + {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
>> + {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
>> + {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, (ALC880_HP_EVENT | AC_USRSP_EN)},
>> + /* FIXME: Line in? (as well as the mic). */
>> + {0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, AC_PINCTL_VREF_50},
>> + {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
>> + /* 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In */
>> + {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
>> + {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
>> + {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
>> + {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
>> + /* 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In */
>> + {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
>> + {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
>> + {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
>> + {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
>> + /* 0x24 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In */
>> + {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
>> + {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)},
>> + {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)},
>> + {0x24, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
>> + { }
>> +};
>>
>> /* Macbook Pro rev3 */
>> static struct hda_verb alc885_mbp3_init_verbs[] = {
>> @@ -9298,6 +9340,7 @@ static const char *alc882_models[ALC882_MODEL_LAST] = {
>> [ALC885_MACPRO] = "macpro",
>> [ALC885_MB5] = "mb5",
>> [ALC885_MACMINI3] = "macmini3",
>> + [ALC885_MBA11] = "mba11",
>> [ALC885_MBA21] = "mba21",
>> [ALC885_MBP3] = "mbp3",
>> [ALC885_IMAC24] = "imac24",
>> @@ -9478,7 +9521,7 @@ static struct snd_pci_quirk alc882_ssid_cfg_tbl[] = {
>> SND_PCI_QUIRK(0x106b, 0x2c00, "MacbookPro rev3", ALC885_MBP3),
>> SND_PCI_QUIRK(0x106b, 0x3000, "iMac", ALC889A_MB31),
>> SND_PCI_QUIRK(0x106b, 0x3200, "iMac 7,1 Aluminum", ALC882_ASUS_A7M),
>> - SND_PCI_QUIRK(0x106b, 0x3400, "MacBookAir 1,1", ALC885_MBP3),
>> + SND_PCI_QUIRK(0x106b, 0x3400, "MacBookAir 1,1", ALC885_MBA11),
>> SND_PCI_QUIRK(0x106b, 0x3500, "MacBookAir 2,1", ALC885_MBA21),
>> SND_PCI_QUIRK(0x106b, 0x3600, "Macbook 3,1", ALC889A_MB31),
>> SND_PCI_QUIRK(0x106b, 0x3800, "MacbookPro 4,1", ALC885_MBP3),
>> @@ -9542,7 +9585,19 @@ static struct alc_config_preset alc882_presets[] = {
>> .input_mux =&alc882_capture_source,
>> .dig_out_nid = ALC882_DIGOUT_NID,
>> },
>> - [ALC885_MBA21] = {
>> + [ALC885_MBA11] = {
>> + .mixers = { alc885_mba11_mixer },
>> + .init_verbs = { alc885_mba11_init_verbs, alc880_gpio1_init_verbs },
>> + .num_dacs = 2,
>> + .dac_nids = alc882_dac_nids,
>> + .channel_mode = alc885_mba21_ch_modes,
>> + .num_channel_mode = ARRAY_SIZE(alc885_mba21_ch_modes),
>> + .input_mux =&alc882_capture_source,
>> + .unsol_event = alc_automute_amp_unsol_event,
>> + .setup = alc885_mbp3_setup,
>> + .init_hook = alc_automute_amp,
>> + },
>> + [ALC885_MBA21] = {
>> .mixers = { alc885_mba21_mixer },
>> .init_verbs = { alc885_mba21_init_verbs, alc880_gpio1_init_verbs },
>> .num_dacs = 2,
>> --
>> 1.7.1.rc1.21.gf3bd6
>>
>
More information about the Alsa-devel
mailing list