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

Takashi Iwai tiwai at suse.de
Tue Aug 5 12:05:08 CEST 2008


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