Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Feb 2005 19:27:19 -0800
From:      Nate Lawson <nate@root.org>
To:        Pawel Worach <pawel.worach@telia.com>
Cc:        acpi@freebsd.org
Subject:   Re: HEADSUP: cpufreq import complete, acpi_throttling changed
Message-ID:  <4206E017.9020802@root.org>
In-Reply-To: <4206B5A6.20100@telia.com>
References:  <42068A5C.1030300@root.org> <4206B5A6.20100@telia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070801020103010809050103
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

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

--------------070801020103010809050103
Content-Type: text/plain;
 name="px_delay.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="px_delay.diff"

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);

--------------070801020103010809050103--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4206E017.9020802>