Date: Tue, 27 Mar 2001 16:52:31 +0900 From: Taku YAMAMOTO <taku@cent.saitama-u.ac.jp> To: David Wolfskill <david@catwhisker.org> Cc: mobile@freebsd.org Subject: Re: Reality check on ESS Technology Maestro-2E h/w "mute" function? Message-ID: <rtg1yrjvebk.wl@dhcp-1.cent.saitama-u.ac.jp> In-Reply-To: <200103270658.f2R6w2c13898@bunrab.catwhisker.org> References: <200103270658.f2R6w2c13898@bunrab.catwhisker.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <taku@cent.saitama-u.ac.jp>
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--
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?rtg1yrjvebk.wl>
