From owner-freebsd-mobile Tue Mar 27 0:17:19 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from dhcp-1.cent.saitama-u.ac.jp (dhcp-1.cent.saitama-u.ac.jp [133.38.4.27]) by hub.freebsd.org (Postfix) with SMTP id 9C80237B718 for ; Tue, 27 Mar 2001 00:14:51 -0800 (PST) (envelope-from taku@cent.saitama-u.ac.jp) Received: from dhcp-1.cent.saitama-u.ac.jp (localhost [127.0.0.1]) by maestro (8.11.3/8.11.2) with ESMTP id f2R7qX758863; Tue, 27 Mar 2001 16:52:41 +0900 (JST) (envelope-from taku@cent.saitama-u.ac.jp) Date: Tue, 27 Mar 2001 16:52:31 +0900 Message-ID: From: Taku YAMAMOTO To: David Wolfskill Cc: mobile@freebsd.org Subject: Re: Reality check on ESS Technology Maestro-2E h/w "mute" function? In-Reply-To: <200103270658.f2R6w2c13898@bunrab.catwhisker.org> References: <200103270658.f2R6w2c13898@bunrab.catwhisker.org> User-Agent: Wanderlust/2.4.0 (Rio) WEMI/1.13.7 (Shimada) FLIM/1.13.2 (Kasanui) MULE XEmacs/21.1 (patch 12) (Channel Islands) (i386--freebsd) Organization: Advanced Computer and Communication Enginerring Studies Society MIME-Version: 1.0 (generated by WEMI 1.13.7 - "Shimada") Content-Type: multipart/mixed; boundary="Multipart_Tue_Mar_27_16:52:31_2001-1" Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --Multipart_Tue_Mar_27_16:52:31_2001-1 Content-Type: text/plain; charset=US-ASCII According to datasheets, HWVOL_MUTE (== 0x99) came from HWVOL_NOP | 0x11, where 0x11 means "mute button pressed". But, since mute button is actually choded into UP-and-DOWN simultaneously, it may happen to misunderstand MUTE button as if an independent UP/DOWN event came first. (It is nothing more than my imagination, though.) So, perhaps 0x77 came from HWVOL_DOWN | 0x11, I imagine. Attached diff will make both 0x77 and 0x99 to be recognized as MUTE. (And, hopefully, 0xbb --- HWVOL_UP | 0x11 --- , too) -- YAMAMOTO, Taku Member of Advanced Computer and Communication Studies Society (ACCESS for short), Information Processing Center, Saitama Univ. --Multipart_Tue_Mar_27_16:52:31_2001-1 Content-Type: text/plain; type=patch; charset=US-ASCII Content-Disposition: attachment; filename="hwvol.diff" Content-Transfer-Encoding: 7bit --- sys/dev/sound/pci/maestro.c.orig Mon Mar 26 02:29:35 2001 +++ sys/dev/sound/pci/maestro.c Tue Mar 27 16:28:06 2001 @@ -850,9 +850,6 @@ event = bus_space_read_1(ess->st, ess->sh, PORT_HWVOL_MASTER); switch (event) { - case HWVOL_MUTE: - mixer_hwvol_mute(ess->dev); - break; case HWVOL_UP: mixer_hwvol_step(ess->dev, 1, 1); break; @@ -862,6 +859,10 @@ case HWVOL_NOP: break; default: + if (event & HWVOL_MUTE) { + mixer_hwvol_mute(ess->dev); + break; + } device_printf(ess->dev, "%s: unknown HWVOL event 0x%x\n", device_get_nameunit(ess->dev), event); } --- sys/dev/sound/pci/maestro_reg.h.orig Wed Jan 3 10:32:57 2001 +++ sys/dev/sound/pci/maestro_reg.h Tue Mar 27 16:28:29 2001 @@ -140,7 +140,7 @@ #define PORT_HWVOL_MASTER_SHADOW 0x1e /* BYTE RW */ #define PORT_HWVOL_MASTER 0x1f /* BYTE RW */ #define HWVOL_NOP 0x88 -#define HWVOL_MUTE 0x99 +#define HWVOL_MUTE 0x11 #define HWVOL_UP 0xaa #define HWVOL_DOWN 0x66 --Multipart_Tue_Mar_27_16:52:31_2001-1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message