svn commit: r191733 - in head/sys: amd64/isa isa

M. Warner Losh imp at bsdimp.com
Sat May 2 21:40:03 UTC 2009


In message: <200905012143.n41Lh4uS054073 at svn.freebsd.org>
            Alexander Motin <mav at FreeBSD.org> 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),
: 


More information about the svn-src-all mailing list