From owner-svn-src-head@FreeBSD.ORG Sat May 2 21:40:03 2009 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02C57106564A; Sat, 2 May 2009 21:40:03 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 8CFA78FC16; Sat, 2 May 2009 21:40:02 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.3/8.14.1) with ESMTP id n42Lc1s6029173; Sat, 2 May 2009 15:38:02 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 02 May 2009 15:38:08 -0600 (MDT) Message-Id: <20090502.153808.-896932641.imp@bsdimp.com> To: mav@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <200905012143.n41Lh4uS054073@svn.freebsd.org> References: <200905012143.n41Lh4uS054073@svn.freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r191733 - in head/sys: amd64/isa isa X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 May 2009 21:40:03 -0000 In message: <200905012143.n41Lh4uS054073@svn.freebsd.org> Alexander Motin writes: : Author: mav : Date: Fri May 1 21:43:04 2009 : New Revision: 191733 : URL: http://svn.freebsd.org/changeset/base/191733 : : Log: : Add resume methods to i8254 and atrtc devices. This likely obviates the need for pmtimer.c now. You might want to investigate... : Modified: : head/sys/amd64/isa/clock.c : head/sys/isa/atrtc.c Shouldn't there be one for i386 too? Warner : Modified: head/sys/amd64/isa/clock.c : ============================================================================== : --- head/sys/amd64/isa/clock.c Fri May 1 21:31:39 2009 (r191732) : +++ head/sys/amd64/isa/clock.c Fri May 1 21:43:04 2009 (r191733) : @@ -376,6 +376,17 @@ set_i8254_freq(u_int freq, int intr_freq : mtx_unlock_spin(&clock_lock); : } : : +static void : +i8254_restore(void) : +{ : + : + mtx_lock_spin(&clock_lock); : + outb(TIMER_MODE, TIMER_SEL0 | TIMER_RATEGEN | TIMER_16BIT); : + outb(TIMER_CNTR0, i8254_real_max_count & 0xff); : + outb(TIMER_CNTR0, i8254_real_max_count >> 8); : + mtx_unlock_spin(&clock_lock); : +} : + : /* This is separate from startrtclock() so that it can be called early. */ : void : i8254_init(void) : @@ -558,6 +569,14 @@ attimer_attach(device_t dev) : return(0); : } : : +static int : +attimer_resume(device_t dev) : +{ : + : + i8254_restore(); : + return(0); : +} : + : static device_method_t attimer_methods[] = { : /* Device interface */ : DEVMETHOD(device_probe, attimer_probe), : @@ -565,7 +584,7 @@ static device_method_t attimer_methods[] : DEVMETHOD(device_detach, bus_generic_detach), : DEVMETHOD(device_shutdown, bus_generic_shutdown), : DEVMETHOD(device_suspend, bus_generic_suspend), : - DEVMETHOD(device_resume, bus_generic_resume), : + DEVMETHOD(device_resume, attimer_resume), : { 0, 0 } : }; : : : Modified: head/sys/isa/atrtc.c : ============================================================================== : --- head/sys/isa/atrtc.c Fri May 1 21:31:39 2009 (r191732) : +++ head/sys/isa/atrtc.c Fri May 1 21:43:04 2009 (r191733) : @@ -190,6 +190,13 @@ atrtc_attach(device_t dev) : return(0); : } : : +static int : +atrtc_resume(device_t dev) : +{ : + : + atrtc_restore(); : + return(0); : +} : : static int : atrtc_settime(device_t dev __unused, struct timespec *ts) : @@ -264,8 +271,7 @@ static device_method_t atrtc_methods[] = : DEVMETHOD(device_shutdown, bus_generic_shutdown), : DEVMETHOD(device_suspend, bus_generic_suspend), : /* XXX stop statclock? */ : - DEVMETHOD(device_resume, bus_generic_resume), : - /* XXX restart statclock? */ : + DEVMETHOD(device_resume, atrtc_resume), : : /* clock interface */ : DEVMETHOD(clock_gettime, atrtc_gettime), :