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