[alsa-devel] [PATCH] ac97 mono-out w/internal speaker

george pee georgepee at gmail.com
Tue Aug 5 15:33:34 CEST 2008


It works!

The reason that I did it the other way is because I didn't know if all
alc203 users want that pin used that way,
and since I hadn't seen any issues, I figured that it be better to make it
something that I could turn on just for my device.


On Tue, Aug 5, 2008 at 5:05 AM, Takashi Iwai <tiwai at suse.de> wrote:

> At Mon, 4 Aug 2008 11:46:28 -0500,
> george pee wrote:
> >
> > I have a wireless tablet (webdt310)
> > http://dtresearch.com/product/wt310/index.htm
> >
> > It has cs5536 audio and a realtek alc203 codec.
> >
> > The headphone jack works perfectly, but the internal speaker was not.
> >
> > After a bit a twiddling and reading the ALC203 data sheet, I finally
> figured
> > out that the function of Pin 37 had to be changed to MONO-OUT to get
> sound
> > out of the
> > internal speaker.
> >
> > I'm not sure that this is the best approach (maybe there could be some
> pin
> > sensing?)
> > but I added this as an ac97 quirk.  Here's the patch.
>
> I prefer this kind of change with ac97->patch().
> How about the patch below (untested)?
>
>
> thanks,
>
> Takashi
>
> ---
> diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
> index f6a7d72..171559c 100644
> --- a/sound/pci/ac97/ac97_codec.c
> +++ b/sound/pci/ac97/ac97_codec.c
> @@ -122,7 +122,7 @@ static const struct ac97_codec_id snd_ac97_codec_ids[]
> = {
>  { 0x414c4740, 0xfffffff0, "ALC202",            NULL,           NULL },
>  { 0x414c4750, 0xfffffff0, "ALC250",            NULL,           NULL },
>  { 0x414c4760, 0xfffffff0, "ALC655",            patch_alc655,   NULL },
> -{ 0x414c4770, 0xfffffff0, "ALC203",            NULL,           NULL },
> +{ 0x414c4770, 0xfffffff0, "ALC203",            patch_alc203,   NULL },
>  { 0x414c4781, 0xffffffff, "ALC658D",           NULL,   NULL }, /* already
> patched */
>  { 0x414c4780, 0xfffffff0, "ALC658",            patch_alc655,   NULL },
>  { 0x414c4790, 0xfffffff0, "ALC850",            patch_alc850,   NULL },
> diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c
> index f4fbc79..bb028f8 100644
> --- a/sound/pci/ac97/ac97_patch.c
> +++ b/sound/pci/ac97/ac97_patch.c
> @@ -2560,6 +2560,14 @@ static int patch_ad1986(struct snd_ac97 * ac97)
>        return 0;
>  }
>
> +/*
> + * realtek ALC203: use mono-out for pin 37
> + */
> +static int patch_alc203(struct snd_ac97 *ac97)
> +{
> +       snd_ac97_update_bits(ac97, 0x7a, 0x400, 0x400);
> +       return 0;
> +}
>
>  /*
>  * realtek ALC65x/850 codecs
>


More information about the Alsa-devel mailing list