At Fri, 19 Nov 2010 10:28:35 +0100, David Henningsson wrote: > > [1 <text/plain; ISO-8859-1 (7bit)>] > BugLink: http://launchpad.net/bugs/669092 > > ALC887 does not have any volume control ability on the mixer NIDs, > so put the volume controls on the dac NIDs instead. Without this > patch, ALC887 users cannot use alsamixer at all. > > Cc: stable@xxxxxxxxxx > Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> OK, this one seems necessary independently from other patches, so I applied this one now for 2.6.37. thanks, Takashi > > -- > David Henningsson, Canonical Ltd. > http://launchpad.net/~diwic > [2 0001-Create-mixers-on-ALC887.patch <text/x-patch (7bit)>] > >From 2418add610811b5763d96f8811ad5d303516bfa3 Mon Sep 17 00:00:00 2001 > From: David Henningsson <david.henningsson@xxxxxxxxxxxxx> > Date: Tue, 9 Nov 2010 14:35:30 +0100 > Subject: [PATCH 1/3] ALSA: HDA: Create mixers on ALC887 > > BugLink: http://launchpad.net/bugs/669092 > > ALC887 does not have any volume control ability on the mixer NIDs, > so put the volume controls on the dac NIDs instead. Without this > patch, ALC887 users cannot use alsamixer at all. > > Cc: stable@xxxxxxxxxx > Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> > --- > sound/pci/hda/patch_realtek.c | 10 ++++++++-- > 1 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index 788ac4b..ce4017e 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -10816,6 +10816,9 @@ static int alc_auto_add_mic_boost(struct hda_codec *codec) > return 0; > } > > +static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, > + const struct auto_pin_cfg *cfg); > + > /* almost identical with ALC880 parser... */ > static int alc882_parse_auto_config(struct hda_codec *codec) > { > @@ -10833,7 +10836,10 @@ static int alc882_parse_auto_config(struct hda_codec *codec) > err = alc880_auto_fill_dac_nids(spec, &spec->autocfg); > if (err < 0) > return err; > - err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); > + if (codec->vendor_id == 0x10ec0887) > + err = alc861vd_auto_create_multi_out_ctls(spec, &spec->autocfg); > + else > + err = alc880_auto_create_multi_out_ctls(spec, &spec->autocfg); > if (err < 0) > return err; > err = alc880_auto_create_extra_out(spec, spec->autocfg.hp_pins[0], > @@ -16955,7 +16961,7 @@ static void alc861vd_auto_init_analog_input(struct hda_codec *codec) > #define alc861vd_idx_to_mixer_switch(nid) ((nid) + 0x0c) > > /* add playback controls from the parsed DAC table */ > -/* Based on ALC880 version. But ALC861VD has separate, > +/* Based on ALC880 version. But ALC861VD and ALC887 have separate, > * different NIDs for mute/unmute switch and volume control */ > static int alc861vd_auto_create_multi_out_ctls(struct alc_spec *spec, > const struct auto_pin_cfg *cfg) > -- > 1.7.1 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel