[PATCH][2.5.32] CPU frequency and voltage scaling (0/4)

Dominik Brodowski (devel@brodo.de)
Wed, 28 Aug 2002 13:46:00 +0200


--G4iJoqBmSsgzjUCe
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Linus, lkml,

The following patches add CPU frequency and volatage scaling
support (Intel SpeedStep, AMD PowerNow, etc.) to kernel 2.5.32

Patch 1/4: cpufreq-core
-----------------------
The cpufreq core offers a common interface to the CPU clock=20
speed features of ARM, PPC and x86 CPUs. =20

For communication with user space, sysctl entries are placed in
/proc/sys/cpu/{0,1,...,NR_CPUS-1}/ . Entries provided are:

speed-min (readonly)
speed-max (readonly)
speed-sync (readonly - all CPUs need the same frequency,
changes affect all CPUs)
speed (read/write)

In order for this code to be built, an architecture must define the
CONFIG_CPU_FREQ configuration symbol. The merged ARM code already
has the necessary configuration in place, the i386 code follows in
parts 2 and 3.

Specifically on ARM CPUs, the core is especially important, since
various ARM system on a chip implementations derive peripheral clocks
from the CPU clock (eg, LCD controllers, SDRAM controllers, etc).
The core allows these peripherals to take action either prior and/or
after the actual CPU clock adjustment so we don't go out of tolerance.

Patch 2/4: cpufreq-i386-core
----------------------------
The main part of this patch is a CPUFreq notifier in arch/i386/kernel/time.=
c.
It updates the i386-specific cpu_khz, cpu_data[].loops_per_jiffy and
fast_gettimeoffset_quotient on each frequency change.

Additionally, this patch allows "cpu_khz" to be exported (it is needed=20
for some cpufreq drivers) and adds some MSR #defines to asm-i386/msr.h

Patch 3/4: cpufreq-i386-drivers
-------------------------------
Four i386 CPUFreq drivers are ready to be merged this time. These are:
elanfreq.c: The AMD Elan CPU family offers extensive clock scaling
longhaul.c: VIA Longhaul processor clock + voltage scaling
powernow-k6.c: mobile AMD K6-2+ / mobile AMD K6-3+ clock scaling
speedstep.c: clock and voltage scaling on mobile Intel Pentium 3 and 4s,
but (unfortunately) only on ICH2-M or ICH3-M based
chipsets.

Support for mobile AMD K7 processors is still in development.

Patch 4/4: cpufreq-doc
----------------------
an entry to the CREDITS and the MAINTAINERS file, Config.help texts, and
extensive documentation in linux/Documentation/cpufreq

Comments welcome; however please ensure that the cpufreq development
list at cpufreq@www.linux.org.uk receives a copy of all comments.

Dominik

--G4iJoqBmSsgzjUCe
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Weitere Infos: siehe http://www.gnupg.org

iD8DBQE9bLf2Z8MDCHJbN8YRAsnKAJ9rSSwPj8SSaOjad8bfJRzjX1c+EQCgnwsa
9xaM7r/j48L336B7krSQbbc=
=Kuqv
-----END PGP SIGNATURE-----

--G4iJoqBmSsgzjUCe--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/