[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <4A1B1E6A.7060205@superonline.com>
Date: Mon, 25 May 2009 18:40:42 -0400
From: "M. Vefa Bicakci" <bicave@...eronline.com>
To: linux-kernel@...r.kernel.org
Subject: Re: [Bisected regression] Microphone no longer works on Toshiba
Satellite A100
Takashi Iwai wrote:
>>> [snip]
> Thanks. Does the patch below work?
Yes, I just tried it by compiling alsa-driver-1.0.20 after applying
the patch you provided, and I can happily say that it works beautifully.
Thank you so much! I really hope that this patch will be included in
the next ALSA release and the next -rc release for 2.6.30.
>
> (snip)
>> When one first boots this laptop, alsamixer does not show PCM playback and
>> Digital Input capture channels. However, if I run a ALSA-compatible program
>> which uses the PCM playback (such as mpg321) or the Digital Input capture
>> channel (such as arecord), then the respective channels appear in alsamixer.
>> Does this mean that a new "model=..." quirk needs to be written for this
>> this laptop? ("model=toshiba" does not work properly.)
>
> The PCM and Digital Capture Volume are implemented in alsa-lib softvol
> plugin and is irrelevant with the driver model. They appear either
> when you first use PCM via alsa-lib with that configuration, or when
> you restore the previous volume setting via alsactl.
>
> Usually distro udev or init script restores the previous volume via
> alsactl, so this will appear after the very first use after the
> installation...
That clears up a lot of things. I am sorry if this was already documented
in the ALSA documentation/wiki and I missed it.
> thanks,
>
> Takashi
Thank you once again,
M. Vefa Bicakci
> ---
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index bcbb736..0fd258e 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid,
> pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT;
> if (pincap & AC_PINCAP_VREF_80)
> val = PIN_VREF80;
> + else if (pincap & AC_PINCAP_VREF_50)
> + val = PIN_VREF50;
> + else if (pincap & AC_PINCAP_VREF_100)
> + val = PIN_VREF100;
> + else if (pincap & AC_PINCAP_VREF_GRD)
> + val = PIN_VREFGRD;
> }
> snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val);
> }
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists