Fujitsu P8010: est: CPU supports Enhanced Speedstep,
but is not recognized
Yousif Hassan
yousif at alumni.jmu.edu
Mon Mar 3 19:40:08 UTC 2008
Jan-Olof Lindqvist" wrote:
> Even if it does attach the est-driver, I don't think it receives the
> correct voltage to the processor. For example on my laptop I have been
> running FreeBSD i386 and now amd64 with the Core 2 duo T7700, the fan
> runs constantly and it feels hot where the processor is located. This is
> not the case when running for ex Linux.
There are probably two issues we're talking about here.
The first issue is the one you mentioned above, which is that the voltage
information is not accurate for Core 2 processors. This is probably true.
I looked in the datasheets, it looks like Core 2s have more than one VID
with a different setting in each. I suspect this means, as Nate Lawson has
commented in the source, that the frequency/voltage table method won't work.
So unfortunately I doubt it's as simple as adding some new tables. I don't
know how Linux deals with this, but I downloaded the Linux kernel and will
have a look. This probably explains why the frequencies available to my
Core 2 (T7500) are different on FreeBSD. In this case it must be using the
acpi_perf settings. Those do work pretty well in terms of keeping my
temperature low, so I wonder what is happening in your case. Did you
experience the heat issues even with the i386 kernel, or just amd64?
The second issue is why est won't attach at all on amd64, like Anish's issue
(and mine).
Looks like the logic is something like this:
if (acpi_perf is actively managing things)
use it;
else //try to enable est
{
if (there's a match in est tables)
use it;
else //try to use acpi_perf "read-only" settings
{
if (acpi_perf is attached)
good, read frequencies from it;
else
refuse to attach est;
}
}
It would seem that on both i386 and amd64, the table method will fail, since
the info is not there. So that can't be the reason for a difference. This
means est will resort to querying acpi_perf. acpi_perf, if it attaches in
"silent" mode, will provide the frequency info to the est driver, which est
then uses. So the question is - why does this fallback method not work for
amd64? I need to play around with it and use some printfs / debugger to
verify the logic. I might be missing something.
> Maybe we should PR this?
Probably, but more info would be helpful first.
--Yousif
More information about the freebsd-acpi
mailing list