public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Compaq Presario 700 Sound Fix (Patch)
@ 2002-04-05 16:46 Santiago Nullo
  0 siblings, 0 replies; 2+ messages in thread
From: Santiago Nullo @ 2002-04-05 16:46 UTC (permalink / raw)
  To: linux-kernel

The problem regarding the Compaq Presario series 700 sound (no sound output, driver working properly) has been solved by initializing the JackSense JSM register.
This properly sets the AD1886 on Compaq Presario 700 series and alows audio to actually came out.
Sometimes a saturated sound cames out from PCM playback...adjusting volume seems to solve it. But this is at least a beggining of support for the 700 sound. I'll post again when I solve this minos issue.



diff -u --new-file --recursive linux-2.4.18/drivers/sound/ac97_codec.c linux/drivers/sound/ac97_codec.c
--- linux-2.4.18/drivers/sound/ac97_codec.c	Mon Nov 12 15:02:54 2001
+++ linux/drivers/sound/ac97_codec.c	Fri Apr  5 03:12:56 2002
@@ -65,6 +65,7 @@
 static int sigmatel_9708_init(struct ac97_codec *codec);
 static int sigmatel_9721_init(struct ac97_codec *codec);
 static int sigmatel_9744_init(struct ac97_codec *codec);
+static int ad1886_init(struct ac97_codec *codec);
 static int eapd_control(struct ac97_codec *codec, int);
 static int crystal_digital_control(struct ac97_codec *codec, int mode);
 
@@ -94,6 +95,7 @@
 static struct ac97_ops sigmatel_9721_ops = { sigmatel_9721_init, NULL, NULL };
 static struct ac97_ops sigmatel_9744_ops = { sigmatel_9744_init, NULL, NULL };
 static struct ac97_ops crystal_digital_ops = { NULL, eapd_control, crystal_digital_control };
+static struct ac97_ops ad1886_ops = { ad1886_init, eapd_control, NULL };
 
 /* sorted by vendor/device id */
 static const struct {
@@ -106,6 +108,7 @@
 	{0x41445348, "Analog Devices AD1881A",	&null_ops},
 	{0x41445360, "Analog Devices AD1885",	&default_ops},
 	{0x41445460, "Analog Devices AD1885",	&default_ops},
+	{0x41445361, "Analog Devices AD1886",	&ad1886_ops},
 	{0x414B4D00, "Asahi Kasei AK4540",	&null_ops},
 	{0x414B4D01, "Asahi Kasei AK4542",	&null_ops},
 	{0x414B4D02, "Asahi Kasei AK4543",	&null_ops},
@@ -869,6 +872,26 @@
 	codec->codec_write(codec, 0x2C, 0XFFFF);
 	return 0;
 }
+
+
+
+/* 
+ *	Presario700 workaround 
+ * 	for Jack Sense/SPDIF Register misetting causing
+ *	no audible output
+ *	by Santiago Nullo 04/05/2002
+ */
+
+#define AC97_AD1886_JACK_SENSE 0x72
+
+static int ad1886_init(struct ac97_codec * codec)
+{
+	/* from AD1886 Specs */
+	codec->codec_write(codec, AC97_AD1886_JACK_SENSE, 0x0010);
+	return 0;
+}
+
+
 
 
 /*


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Compaq Presario 700 Sound Fix (Patch)
@ 2002-04-12  3:01 Bai Ao
  0 siblings, 0 replies; 2+ messages in thread
From: Bai Ao @ 2002-04-12  3:01 UTC (permalink / raw)
  To: linux-kernel

The patch works perfectly on my Compaq Presario 700US laptop.
Thanks for your great work!

_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail. 
http://www.hotmail.com


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-04-12  3:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-05 16:46 Compaq Presario 700 Sound Fix (Patch) Santiago Nullo
  -- strict thread matches above, loose matches on Subject: below --
2002-04-12  3:01 Bai Ao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox