HEADSUP: cpufreq import complete, acpi_throttling changed

Nate Lawson nate at root.org
Sun Feb 6 19:27:23 PST 2005


Pawel Worach wrote:
> Tried this on my ThinkPad T41, seems to work great except I managed to 
> produce
> this message one time.
> 
> -- Power is plugged in here, freq=1700
> acpi_acad0: Off Line
> cpu0: Performance states changed
> -- Power unplugged, power_profile adjusted freq to 75 :)
> acpi_acad0: On Line
> -- Power reconnected, freq stayed at 75
> acpi_perf0: Px transition to 1700 failed
> acpi_perf0: set freq failed, err 6
> stray irq7
> stray irq7
> stray irq7
> stray irq7
> too many stray irq 7's: not logging anymore
> cpu0: Performance states changed
> -- Manually pushed freq back to 1700 without problems

I think at 75 Mhz your system just ran out of time while doing the 
transition.  Try the attached patch.  If it doesn't fix the problem, try 
  adjusting the 1000s up or down until you get an idea where the problem 
starts to occur.

In general, running a P4-M at 75 Mhz is not going to be too useful.  :)

-- 
Nate
-------------- next part --------------
Index: acpi_perf.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_perf.c,v
retrieving revision 1.4
diff -u -r1.4 acpi_perf.c
--- acpi_perf.c	6 Feb 2005 20:12:28 -0000	1.4
+++ acpi_perf.c	7 Feb 2005 03:25:08 -0000
@@ -414,13 +414,13 @@
 
 	/* Try for up to 1 ms to verify the desired state was selected. */
 	sts_val = sc->px_states[i].sts_val;
-	for (tries = 0; tries < 100; tries++) {
+	for (tries = 0; tries < 1000; tries++) {
 		status = PX_GET_REG(sc->perf_status);
 		if (status == sts_val)
 			break;
 		DELAY(10);
 	}
-	if (tries == 100) {
+	if (tries == 1000) {
 		device_printf(dev, "Px transition to %d failed\n",
 		    sc->px_states[i].core_freq);
 		return (ENXIO);


More information about the freebsd-acpi mailing list