All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominik Brodowski <devel@brodo.de>
To: torvalds@transmeta.com
Cc: cpufreq@www.linux.org.uk, linux-kernel@vger.kernel.org
Subject: [PATCH][2.5.32] CPU frequency and voltage scaling (0/4)
Date: Wed, 28 Aug 2002 13:46:00 +0200	[thread overview]
Message-ID: <20020828134600.A19189@brodo.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 2508 bytes --]

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 
speed features of ARM, PPC and x86 CPUs.  

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

[-- Attachment #2: Type: application/pgp-signature, Size: 240 bytes --]

             reply	other threads:[~2002-08-28 11:49 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-28 11:46 Dominik Brodowski [this message]
2002-08-28 18:47 ` [PATCH][2.5.32] CPU frequency and voltage scaling (0/4) Linus Torvalds
2002-08-28 18:48   ` Cort Dougan
2002-08-28 19:25     ` Alan Cox
2002-08-28 19:32       ` Cort Dougan
2002-08-29 10:26         ` Zwane Mwaikambo
2002-08-28 19:41       ` Peter Riocreux
2002-08-28 19:58       ` Linus Torvalds
2002-08-29  9:51         ` Padraig Brady
2002-08-29 10:23     ` Zwane Mwaikambo
2002-08-28 19:21   ` Alan Cox
2002-08-28 19:49     ` Linus Torvalds
2002-08-28 20:25       ` Alan Cox
2002-08-28 20:29         ` Linus Torvalds
2002-08-28 23:26           ` Alan Cox
2002-08-28 23:49             ` Linus Torvalds
2002-08-30  0:39               ` jw schultz
2002-08-29  7:01             ` Dominik Brodowski
2002-08-28 20:39         ` Dominik Brodowski
2002-08-28 21:05           ` Linus Torvalds
2002-09-06 11:31             ` Pavel Machek
2002-08-28 20:27       ` Dominik Brodowski
2002-08-28 20:19   ` Dominik Brodowski
2002-08-28 20:43     ` Linus Torvalds
2002-08-28 20:53       ` Dominik Brodowski
2002-08-28 21:08         ` Linus Torvalds
2002-08-28 23:00           ` george anzinger
2002-08-28 23:30           ` Alan Cox
2002-08-29  0:08             ` Linus Torvalds
2002-08-29  7:07               ` Dominik Brodowski
2002-08-29 10:02               ` Padraig Brady
2002-08-29 10:53               ` Alan Cox
2002-08-29 13:38                 ` Dave Jones
2002-08-29 18:47                 ` Linus Torvalds
2002-08-29 19:24                   ` Alan Cox
2002-08-29 21:22                   ` george anzinger
2002-08-30  6:46                     ` David Gibson
2002-08-30  7:54                     ` Helge Hafting
2002-08-30  3:21                 ` David Lang
  -- strict thread matches above, loose matches on Subject: below --
2002-08-28 20:25 Grover, Andrew
2002-08-28 20:46 ` Linus Torvalds
2002-08-29 15:07 Pering, Trevor
2002-08-30  8:04 ` Helge Hafting
2002-08-30 11:53   ` Dave Jones
2002-08-30 12:36     ` Helge Hafting
2002-08-30 22:43       ` george anzinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020828134600.A19189@brodo.de \
    --to=devel@brodo.de \
    --cc=cpufreq@www.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.