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@xxxxxxx> 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 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel