Subject: Linux on Compaq Presario 710
From: "S. Bergeron" <...>
Date: 09 Apr 2002 08:05:33 +0000


--=-8UUuaI+Rhm2r0e6lYSnk
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

First, I'd like to thank you for the little tutorial; it was invaluable
to me in getting things up and running.  Also, I found a patch that
makes the sound work (requires 2.4.18), that I've attached.  It's still
a bit buggy with the levels, but it works otherwise.  Once you get
things set, it plays fine (he says as he listens to mp3's in the
background)...

Also, I recommend the ACPI patches from Sourceforge;
acpi.sourceforge.net they'll allow you to cat
/proc/acpi/battery/BAT0/status to tell you just how fast things are
going down.....need to figure out how to get the proc to step down. 
They also seem to make it poweroff and reset properly.

Again, thanks.  :-)

-----
Sean Bergeron


--=-8UUuaI+Rhm2r0e6lYSnk
Content-Disposition: attachment; filename=compaq.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-patch; name=compaq.diff; charset=ISO-8859-1

diff -u --new-file --recursive linux-2.4.18/drivers/sound/ac97_codec.c linu=
x/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);
=20
@@ -94,6 +95,7 @@
 static struct ac97_ops sigmatel_9721_ops =3D { sigmatel_9721_init, NULL, N=
ULL };
 static struct ac97_ops sigmatel_9744_ops =3D { sigmatel_9744_init, NULL, N=
ULL };
 static struct ac97_ops crystal_digital_ops =3D { NULL, eapd_control, cryst=
al_digital_control };
+static struct ac97_ops ad1886_ops =3D { ad1886_init, eapd_control, NULL };
=20
 /* 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;
 }
+
+
+
+/*=20
+ *	Presario700 workaround=20
+ * 	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;
+}
+
+
=20
=20
 /*



--=-8UUuaI+Rhm2r0e6lYSnk--