Dies ist ein Patch für den Compaq Presario 700, damit der Mixer sich hochdrehen läßt. Die Vorgeschichte, bis ich zu diesem Patch gekommen bin, gibt es unter http://slash.jensbenecke.de/article.php3?story_id=65.


 Date: 07 Apr 2002 02:09:02 +0200
 From: Raul Sanchez Sanchez <raul@dif.um.es>
 To: Undisclosed-Recipient: ;
 Subject: Re: Patch de Sonido Compaq Presario
 X-Mailer: Ximian Evolution 1.0.3
 Message-Id: <1018138142.479.15.camel@siroco>

Hola Santiago:

Funciona perfectamente :) muchas gracias por el parche.

Saludos

El vie, 05-04-2002 a las 18:01, Santiago Nullo escribió:

 > Hola Raul, me gustaria pedirte que pruebes este patch que acabo de generar para resolver  la falta de audio en la Presario serie 700.
 > A mi me dio resultado. Esta hecho contra el kernel 2.4.18
 > Luego de aplicarlo, compila el kernel con soporte para via82cxxx e inserta el modulo.
 >
 > Eso deberia bastar  :)
 >
 > Saludos
 >
 > 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;
 > +}
 > +
 > +
 >
 >
 >  /*
 >