Subject: port-i386/28790: speedstep does the wrong thing after 'resume'
To: None <,,>
From: None <>
List: netbsd-bugs
Date: 12/27/2004 17:42:01
>Number:         28790
>Category:       port-i386
>Synopsis:       with speedstep, the CPU frequency is high after a 'resume'
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 27 17:42:01 +0000 2004
>Originator:     Steven M. Bellovin
>Release:        NetBSD 2.99.11
System: NetBSD 2.99.11 NetBSD 2.99.11 (BERKSHIRE) #0: Sat Dec 25 08:54:22 EST 2004 i386
Architecture: i386
Machine: i386
	On a Thinkpad T42 with ENHANCED_SPEEDSTEP enabled, the CPU frequency 
	seems to be reset to maximum after a resume.  I ran a loop checking the 
	current frequency every 5 seconds.  I went to battery; the CPU speed 
	dropped appropriately, via my /etc/apm/batter script.  I then suspended
	the machine; when I resumed, the CPU speed was set to maximum.

	I think (but haven't verified) that the system misses transitions to/
	from line power on a resume.
	Go to battery; use sysctl to check the current frequency.
	Suspend, resume, then check again.
	My work-around is to include this text in /etc/apm/resume:

	case `apm -d -a` in
		0|2) sh /etc/apm/battery;;
		1) sh /etc/apm/line;;