History log of /freebsd-9.3-release/sys/x86/cpufreq/p4tcc.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 250734 17-May-2013 hiren

MFC: r250487

Adding a detach method to p4tcc driver.

PR: 118739
Submitted by: Dan Lukes <dan@obluda.cz> (earlier version)
Reviewed by: jhb
Approved by: sbruno (mentor)


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 204309 25-Feb-2010 attilio

Introduce the new kernel sub-tree x86 which should contain all the code
shared and generalized between our current amd64, i386 and pc98.

This is just an initial step that should lead to a more complete effort.
For the moment, a very simple porting of cpufreq modules, BIOS calls and
the whole MD specific ISA bus part is added to the sub-tree but ideally
a lot of code might be added and more shared support should grow.

Sponsored by: Sandvine Incorporated
Reviewed by: emaste, kib, jhb, imp
Discussed on: arch
MFC: 3 weeks


# 193530 05-Jun-2009 jkim

Import ACPICA 20090521.


# 185331 26-Nov-2008 sobomax

Add Pentium D cores into the list that can't handle 12.5% and 25%
throttle. My SMP kernel hangs when one of those is selected by
powerd. Errata AA21 here:

ftp://download.intel.com/design/PentiumXE/specupdt/31030717.pdf

MFC after: 2 weeks


# 181691 13-Aug-2008 jhb

Attach the cpufreq child devices with specific orders to enforce relative
priority of some of the drivers that manage the same state (e.g. ichss0
vs est0). Specifically, powernow, est, and p4tcc are added at order 10,
ichss at order 20, and smist at order 30. Previously, some laptops were
seeing both ichss0 and est0 attaching and stomping on each other.

XXX: This isn't quite ideal, but works with the existing hacks, I think
what we really want instead is a single "speedstep0" device for CPUs
that the ichss, est, and smist drivers probe (but with differing
priorities).

MFC after: 1 week


# 177297 17-Mar-2008 phk

A cautionary XXX comment about seemingly bogus errata checks.


# 177295 17-Mar-2008 phk

Revert last commit and stop committing before morning tea.


# 177294 17-Mar-2008 phk

Increase time we wait for things to settle to 1 millisecond,
10 microseconds is too short.

Always set the cpu to the highest frequency so that we get through
boot and don't handicap cpus where powerd(8) is not used.


# 177287 16-Mar-2008 phk

Use correct bitmask for identifying chip family.


# 151593 23-Oct-2005 njl

Like acpi_throttle, set frequency to 100% in attach. Some BIOSen may set
this value lower, making the system quite slow after booting.


# 144877 10-Apr-2005 njl

Advertise p4tcc via acpi_get_features() _PDC support.


# 142625 27-Feb-2005 njl

Make a pass through all drivers checking specs for desired behavior on
SMP systems. It appears all drivers except ichss should attach to each
CPU and that settings should be performed on each CPU. Add comments about
this. Also, add a guard for p4tcc's identify method being called more than
once.


# 142308 23-Feb-2005 njl

Import a rewrite of p4tcc for the cpufreq(4) framework. This includes
a bugfix of clearing the On-Demand flag when going back to 100%. It
has been tested and works on an IBM R32. Note original work done by
Ted Unangst and sobomax@.


# 142306 23-Feb-2005 njl

Forced commit to note a repocopy of this file from sys/i386/i386/p4tcc.c

Thanks to: markm


# 141455 07-Feb-2005 sobomax

Fix the problem with incorrect throttling level reported immediately after
reboot. Safter the reboot the TCC is usually in the Automatic mode, in which
reading current performance level is likely to produce bogus results make sure
to switch it to the On-Demand mode and set to some known performance level.
Unfortunately there is no reliable way to check that TCC is in the Automatic
mode. Reading bit 4 of ACPI Thermal Monitor Control Register produces 0
regardless of the current mode.

MFC after: 1 week


# 139724 05-Jan-2005 imp

Start all license/copyright notice comments with /*-, per tradition


# 134200 23-Aug-2004 sobomax

o Fix whitespace bug introduced in the previous commit.

Submitted by: ru

o Simplify p4tcc_power_profile().

Submitted by: maxim


# 134199 23-Aug-2004 sobomax

o Extend boot output: print out mimimum/maximum performance value and number
of performance steps available;

o similarly to Enhanced SpeedStep driver, export list of all available steps
via hw.p4tcc.cpuperf_levels sysctl.


# 126412 29-Feb-2004 maxim

o Typo: Ternal -> Thermal.


# 124930 24-Jan-2004 sobomax

- Move performance-controlling sysctls into hw.p4tcc.* tree;

Suggested by: nate

- get rid of "magick" values in code and make sysctl's reflecting reality
on processor versions which have one or another frequency "forbidden"
due to errata.

MFC after: 2 weeks


# 124684 18-Jan-2004 sobomax

Add new CPU_ENABLE_TCC option, from NOTES:

CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some
Pentium(tm) 4 and (possibly) later CPUs. When enabled and detected,
TCC allows to restrict power consumption by using machdep.cpuperf*
sysctls. This operates independently of SpeedStep and is useful on
systems where other mechanisms such as apm(4) or acpi(4) don't work.

Given the fact that many, even modern, notebooks don't work properly
with Intel ACPI, this is indeed very useful option for notebook owners.

Obtained from: OpenBSD
MFC after: 2 weeks