At Tue, 17 Feb 2004 08:20:41 +0200, Ville Syrjälä wrote: > > [1 <text/plain; iso-8859-1 (quoted-printable)>] > The attached patch fixes hardware volume buttons on my Dell Inspiron 7000 > laptop. The chip is ESS Maestro2 (0x125d:0x1968). > > I have no idea if this will break things for someone else. Since the > datasheet didn't help me understand the registers involved I just printed > their contents and came up with the used bits. > > All registers had the following values in my tests: > mute: 0x99 > vol down: 0x77 > vol up: 0xBB
these values (9, 7, b) are consistent always? i'm also not sure whether it's hardware specific... Takashi > -- > Ville Syrjälä > [EMAIL PROTECTED] > http://www.sci.fi/~syrjala/ > [2 maestro_hwvol.patch <text/plain; us-ascii (7bit)>] > --- alsa-driver-0.9.8/alsa-kernel/pci/es1968.c.orig 2003-10-14 16:59:20.000000000 > +0300 > +++ alsa-driver-0.9.8/alsa-kernel/pci/es1968.c 2004-02-17 08:06:22.000000000 > +0200 > @@ -1967,14 +1967,14 @@ > > /* FIXME: more clean up is needed.. */ > val = chip->ac97->regs[AC97_MASTER]; > - if (x & 1) { > + if (!(x & 2)) { > /* mute */ > snd_ac97_write_cache(chip->ac97, AC97_MASTER, val ^ 0x8000); > snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, > &chip->master_switch->id); > } else { > val &= 0x7fff; > - if (((x>>1) & 7) > 4) { > + if (!(x & 4)) { > /* volume up */ > if ((val & 0xff) > 0) > val--; ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel