From owner-acpi-jp@jp.freebsd.org  Mon Sep 18 07:58:33 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id HAA14381;
	Mon, 18 Sep 2000 07:58:33 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (daemon@tasogare.imasy.or.jp [202.227.24.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id HAA14376
	for <acpi-jp@jp.freebsd.org>; Mon, 18 Sep 2000 07:58:32 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (iwasaki.imasy.or.jp [202.227.24.92])
	by tasogare.imasy.or.jp (8.10.2+3.3W/3.7W-tasogare/smtpfeed 1.07) with ESMTP id e8HMwUr61533
	for <acpi-jp@jp.freebsd.org>; Mon, 18 Sep 2000 07:58:30 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
To: acpi-jp@jp.freebsd.org
In-Reply-To: <20000918055713A.iwasaki@jp.FreeBSD.org>
References: <20000916181444U.iwasaki@jp.FreeBSD.org>
	<20000916181454J.iwasaki@jp.FreeBSD.org>
	<20000918055713A.iwasaki@jp.FreeBSD.org>
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20000918075726A.iwasaki@jp.FreeBSD.org>
Date: Mon, 18 Sep 2000 07:57:26 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 20000228(IM140)
Lines: 56
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: acpi-jp 643
Subject: [acpi-jp 643] Re: zzz and ACPI (was: Re: acpi_send_pm_event())
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

> $B$?$@$7!"(BS1 $B$+$i$NI|5"$N$?$a$K(B PowerButton $B$r2!$9$s$G$9$,!"$3$N;~$K(B
> acpiconf -e $B$7$F$k$H(B pm1 $B$N(B event $B$H$7$F3d$j9~$_$,H/@8$7!"7k2L$H$7$F(B
> shutdonw $B$7$F$7$^$7$^$9(B :-(
> $B$$$m$$$m;n$7$F$_$^$9$,!"2?$+;W$$$D$$$?$i65$($F$/$@$5$$!#(B

sleep $BA0$K(B PM1 $B$N(B $B%\%?%s4X78$r(B disable $B$9$k$h$&$K$7$F$b!"(Bacpi_resume() 
$B$G$N(B acpi event $B$N:F=i4|2=8e$KF1MM$G$7$?!#(B
sleep $BCf$K(B SCI $B3d$j9~$_$rH/@8$5$;$J$$$h$&$K$9$l$P!"$H$j$"$($:(B
$B2sHr$G$-$^$9$,!"%G%P%$%9$N(B wake capability $B$r9MN8$9$k$H%@%a$G$9$h$M(B...
# $B$H$j$"$($:%Q%C%A$O$D$1$F$*$-$^$9(B
$B<!$N(B PowerButton $B%$%Y%s%H$O0l2s$@$1L5;k$9$k$h$&$K$7$?J}$,$h$$$G$9$+$M(B?
$B2?$+$$$$J}K!$O$"$j$^$;$s$+(B?

Index: acpi.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.8
diff -u -r1.8 acpi.c
--- acpi.c	2000/09/14 23:29:37	1.8
+++ acpi.c	2000/09/17 22:25:36
@@ -813,13 +813,15 @@
 {
 	u_int8_t	slp_typx;
 	u_int32_t	val_a, val_b;
-	int		debug, count;
+	int		debug, count, enabled;
 	u_long		ef;
 
 	/* XXX should be MI */
 	ef = read_eflags();
 	disable_intr();
 
+	enabled = sc->enabled;
+
 	if (state > ACPI_S_STATE_S0) {
 		/* clear WAK_STS bit by writing a one */
 		acpi_io_pm1_status(sc, ACPI_REGISTERS_INPUT, &val_a, &val_b);
@@ -834,6 +836,10 @@
 		val_a = ACPI_PM1_WAK_STS;
 		val_b = ACPI_PM1_WAK_STS;
 		acpi_io_pm1_status(sc, ACPI_REGISTERS_OUTPUT, &val_a, &val_b);
+
+		if (enabled) {
+			acpi_enable_disable(sc, 0);
+		}
 	}
 
 	acpi_io_pm1_control(sc, ACPI_REGISTERS_INPUT, &val_a, &val_b);
@@ -875,6 +881,7 @@
 	acpi_debug = debug;	/* Restore debug level */
 
 sleep_done:
+	sc->enabled = enabled;
 	/* XXX should be MI */
 	write_eflags(ef);
 }
