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

Reply via email to