<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/cpu/cpufreq, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-11-25T18:38:29Z</updated>
<entry>
<title>[CPUFREQ] powernow-k8: ignore out-of-range PstateStatus value</title>
<updated>2008-11-25T18:38:29Z</updated>
<author>
<name>Andreas Herrmann</name>
</author>
<published>2008-11-21T13:49:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a266d9f1253a38ec2d5655ebcd6846298b0554f4'/>
<id>urn:sha1:a266d9f1253a38ec2d5655ebcd6846298b0554f4</id>
<content type='text'>
A workaround for AMD CPU family 11h erratum 311 might cause that the
P-state Status Register shows a "current P-state" which is larger than
the "current P-state limit" in P-state Current Limit Register. For the
wrong P-state value there is no ACPI _PSS object defined and
powernow-k8/cpufreq can't determine the proper CPU frequency for that
state.

As a consequence this can cause a panic during boot (potentially with
all recent kernel versions -- at least I have reproduced it with
various 2.6.27 kernels and with the current .28 series), as an
example:

powernow-k8: Found 1 AMD Turion(tm)X2 Ultra DualCore Mobile ZM-82 processors (2 \
)
powernow-k8:    0 : pstate 0 (2200 MHz)
powernow-k8:    1 : pstate 1 (1100 MHz)
powernow-k8:    2 : pstate 2 (600 MHz)
BUG: unable to handle kernel paging request at ffff88086e7528b8
IP: [&lt;ffffffff80486361&gt;] cpufreq_stats_update+0x4a/0x5f
PGD 202063 PUD 0
Oops: 0002 [#1] SMP
last sysfs file:
CPU 1
Modules linked in:
Pid: 1, comm: swapper Not tainted 2.6.28-rc3-dirty #16
RIP: 0010:[&lt;ffffffff80486361&gt;]  [&lt;ffffffff80486361&gt;] cpufreq_stats_update+0x4a/0\
f
Synaptics claims to have extended capabilities, but I'm not able to read them.&lt;6\
6
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88006e7528c0
RDX: 00000000ffffffff RSI: ffff88006e54af00 RDI: ffffffff808f056c
RBP: 00000000fffee697 R08: 0000000000000003 R09: ffff88006e73f080
R10: 0000000000000001 R11: 00000000002191c0 R12: ffff88006fb83c10
R13: 00000000ffffffff R14: 0000000000000001 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88006fb50740(0000) knlGS:0000000000000000
Unable to initialize Synaptics hardware.
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: ffff88086e7528b8 CR3: 0000000000201000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process swapper (pid: 1, threadinfo ffff88006fb82000, task ffff88006fb816d0)
Stack:
 ffff88006e74da50 0000000000000000 ffff88006e54af00 ffffffff804863c7
 ffff88006e74da50 0000000000000000 00000000ffffffff 0000000000000000
 ffff88006fb83c10 ffffffff8024b46c ffffffff808f0560 ffff88006fb83c10
Call Trace:
 [&lt;ffffffff804863c7&gt;] ? cpufreq_stat_notifier_trans+0x51/0x83
 [&lt;ffffffff8024b46c&gt;] ? notifier_call_chain+0x29/0x4c
 [&lt;ffffffff8024b561&gt;] ? __srcu_notifier_call_chain+0x46/0x61
 [&lt;ffffffff8048496d&gt;] ? cpufreq_notify_transition+0x93/0xa9
 [&lt;ffffffff8021ab8d&gt;] ? powernowk8_target+0x1e8/0x5f3
 [&lt;ffffffff80486687&gt;] ? cpufreq_governor_performance+0x1b/0x20
 [&lt;ffffffff80484886&gt;] ? __cpufreq_governor+0x71/0xa8
 [&lt;ffffffff80484b21&gt;] ? __cpufreq_set_policy+0x101/0x13e
 [&lt;ffffffff80485bcd&gt;] ? cpufreq_add_dev+0x3f0/0x4cd
 [&lt;ffffffff8048577a&gt;] ? handle_update+0x0/0x8
 [&lt;ffffffff803c2062&gt;] ? sysdev_driver_register+0xb6/0x10d
 [&lt;ffffffff8056592c&gt;] ? powernowk8_init+0x0/0x7e
 [&lt;ffffffff8048604c&gt;] ? cpufreq_register_driver+0x8f/0x140
 [&lt;ffffffff80209056&gt;] ? _stext+0x56/0x14f
 [&lt;ffffffff802c2234&gt;] ? proc_register+0x122/0x17d
 [&lt;ffffffff802c23a0&gt;] ? create_proc_entry+0x73/0x8a
 [&lt;ffffffff8025c259&gt;] ? register_irq_proc+0x92/0xaa
 [&lt;ffffffff8025c2c8&gt;] ? init_irq_proc+0x57/0x69
 [&lt;ffffffff807fc85f&gt;] ? kernel_init+0x116/0x169
 [&lt;ffffffff8020cc79&gt;] ? child_rip+0xa/0x11
 [&lt;ffffffff807fc749&gt;] ? kernel_init+0x0/0x169
 [&lt;ffffffff8020cc6f&gt;] ? child_rip+0x0/0x11
Code: 05 c5 83 36 00 48 c7 c2 48 5d 86 80 48 8b 04 d8 48 8b 40 08 48 8b 34 02 48\

RIP  [&lt;ffffffff80486361&gt;] cpufreq_stats_update+0x4a/0x5f
 RSP &lt;ffff88006fb83b20&gt;
CR2: ffff88086e7528b8
---[ end trace 0678bac75e67a2f7 ]---
Kernel panic - not syncing: Attempted to kill init!

In short, aftereffect of the wrong P-state is that
cpufreq_stats_update() uses "-1" as index for some array in

cpufreq_stats_update (unsigned int cpu)
{
...
     if (stat-&gt;time_in_state)
                stat-&gt;time_in_state[stat-&gt;last_index] =
                        cputime64_add(stat-&gt;time_in_state[stat-&gt;last_index],
                                      cputime_sub(cur_time, stat-&gt;last_time));
...
}

Fortunately, the wrong P-state value is returned only if the core is
in P-state 0. This fix solves the problem by detecting the
out-of-range P-state, ignoring it, and using "0" instead.

Cc: Mark Langsdorf &lt;mark.langsdorf@amd.com&gt;
Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into test</title>
<updated>2008-10-23T04:11:07Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2008-10-23T03:57:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=057316cc6a5b521b332a1d7ccc871cd60c904c74'/>
<id>urn:sha1:057316cc6a5b521b332a1d7ccc871cd60c904c74</id>
<content type='text'>
Conflicts:
	MAINTAINERS
	arch/x86/kernel/acpi/boot.c
	arch/x86/kernel/acpi/sleep.c
	drivers/acpi/Kconfig
	drivers/pnp/Makefile
	drivers/pnp/quirks.c

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'yinghai' into test</title>
<updated>2008-10-23T03:35:56Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2008-10-23T03:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b79b27da172d6c868746135feeb71de4ddd0646'/>
<id>urn:sha1:1b79b27da172d6c868746135feeb71de4ddd0646</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'FW_BUG' into test</title>
<updated>2008-10-23T03:19:45Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2008-10-23T03:19:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b3c4f8b9c417541c561155bf6b2150a81b5d5eb'/>
<id>urn:sha1:6b3c4f8b9c417541c561155bf6b2150a81b5d5eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update email addresses.</title>
<updated>2008-10-20T19:50:03Z</updated>
<author>
<name>Dave Jones</name>
</author>
<published>2008-10-20T17:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4432c5caec5fa95ea7eefd00f8e6cee17e2e023'/>
<id>urn:sha1:f4432c5caec5fa95ea7eefd00f8e6cee17e2e023</id>
<content type='text'>
Update assorted email addresses and related info to point
to a single current, valid address.

additionally
- trivial CREDITS entry updates. (Not that this file means much any more)
- remove arjans dead redhat.com address from powernow driver

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq</title>
<updated>2008-10-11T15:49:34Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2008-10-11T15:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=098ef215b1e87cff51f983bae4e4e1358b932ec9'/>
<id>urn:sha1:098ef215b1e87cff51f983bae4e4e1358b932ec9</id>
<content type='text'>
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code
  [CPUFREQ] Don't export governors for default governor
  [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor
  [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor
  [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential
  [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting
  [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination
  [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg()
  [CPUFREQ] use deferrable delayed work init in conservative governor
  [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put
  [CPUFREQ] add error handling for cpufreq_register_governor() error
  [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error
  [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c
  [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c
</content>
</entry>
<entry>
<title>ACPI: don't load acpi_cpufreq if acpi=off</title>
<updated>2008-10-11T03:45:38Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2008-09-25T02:04:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee297533279a802eac8b1cbea8e65b24b36a1aac'/>
<id>urn:sha1:ee297533279a802eac8b1cbea8e65b24b36a1aac</id>
<content type='text'>
Signed-off-by: Yinghai Lu &lt;yhlu.kernel@gmail.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>[CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg()</title>
<updated>2008-10-09T17:52:43Z</updated>
<author>
<name>venkatesh.pallipadi@intel.com</name>
</author>
<published>2008-08-04T18:59:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bf0b90e357c883e8efd72954432efe652de74c76'/>
<id>urn:sha1:bf0b90e357c883e8efd72954432efe652de74c76</id>
<content type='text'>
Add a cpu parameter to __cpufreq_driver_getavg(). This is needed for software
cpufreq coordination where policy-&gt;cpu may not be same as the CPU on which we
want to getavg frequency.

A follow-on patch will use this parameter to getavg freq from all cpus
in policy-&gt;cpus.

Change since last patch. Fix the offline/online and suspend/resume
oops reported by Youquan Song &lt;youquan.song@intel.com&gt;

Signed-off-by: Venkatesh Pallipadi &lt;venkatesh.pallipadi@intel.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>[CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error</title>
<updated>2008-10-09T17:52:42Z</updated>
<author>
<name>Akinobu Mita</name>
</author>
<published>2008-07-14T02:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=847aef6ffd85787b62395b64719f8f7c5975bf1b'/>
<id>urn:sha1:847aef6ffd85787b62395b64719f8f7c5975bf1b</id>
<content type='text'>
add error handling for cpufreq_register_driver() error

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Cc: cpufreq@lists.linux.org.uk
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>[CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c</title>
<updated>2008-10-09T17:52:42Z</updated>
<author>
<name>Paolo Ciarrocchi</name>
</author>
<published>2008-07-28T19:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d2d2051e50c4ca0207a42b243369e22f7d90a5c'/>
<id>urn:sha1:8d2d2051e50c4ca0207a42b243369e22f7d90a5c</id>
<content type='text'>
Before:
total: 11 errors, 15 warnings, 255 lines checked

After:
total: 0 errors, 6 warnings, 254 lines checked

paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/powernow-k6.o.*
476932f5e1ffe365db9d1dfb3f860369  /tmp/powernow-k6.o.after
476932f5e1ffe365db9d1dfb3f860369  /tmp/powernow-k6.o.before

Signed-off-by: Paolo Ciarrocchi &lt;paolo.ciarrocchi@gmail.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
</feed>
