<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/cpufreq, branch v3.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-04-08T20:09:23Z</updated>
<entry>
<title>cpufreq / intel_pstate: Set timer timeout correctly</title>
<updated>2013-04-08T20:09:23Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.brandewie@gmail.com</email>
</author>
<published>2013-04-04T17:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec376a2ab97ec3be52ca282dc6ac102e805d1005'/>
<id>urn:sha1:ec376a2ab97ec3be52ca282dc6ac102e805d1005</id>
<content type='text'>
The current calculation of the delay time is wrong and a cut and
paste error from a previous experimental driver.  This can result in
the timeout being set to jiffies + 1 which setup the driver to race
with itself if the APIC timer interrupt happens at just the right
time.

References: https://bugzilla.redhat.com/show_bug.cgi?id=920289
Reported-by: Adam Williamson &lt;awilliam@redhat.com&gt;
Reported-and-tested-by: Parag Warudkar &lt;parag.lkml@gmail.com&gt;
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: Correct header guards typo</title>
<updated>2013-04-02T13:14:29Z</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@suse.de</email>
</author>
<published>2013-04-02T12:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=beb0ff390e208e71668a1389e3db02631a88cff5'/>
<id>urn:sha1:beb0ff390e208e71668a1389e3db02631a88cff5</id>
<content type='text'>
It should be "governor".

Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: check OF node /cpus presence before dereferencing it</title>
<updated>2013-04-01T23:36:08Z</updated>
<author>
<name>Paolo Pisati</name>
<email>paolo.pisati@canonical.com</email>
</author>
<published>2013-03-28T09:24:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f5c3ef21db149ba573a3f079df287f3d8b05ee13'/>
<id>urn:sha1:f5c3ef21db149ba573a3f079df287f3d8b05ee13</id>
<content type='text'>
Check for the presence of the '/cpus' OF node before dereferencing it
blindly:

[    4.181793] Unable to handle kernel NULL pointer dereference at virtual address 0000001c
[    4.181793] pgd = c0004000
[    4.181823] [0000001c] *pgd=00000000
[    4.181823] Internal error: Oops: 5 [#1] SMP ARM
[    4.181823] Modules linked in:
[    4.181823] CPU: 1    Tainted: G        W     (3.8.0-15-generic #25~hbankD)
[    4.181854] PC is at of_get_next_child+0x64/0x70
[    4.181854] LR is at of_get_next_child+0x24/0x70
[    4.181854] pc : [&lt;c04fda18&gt;]    lr : [&lt;c04fd9d8&gt;]    psr: 60000113
[    4.181854] sp : ed891ec0  ip : ed891ec0  fp : ed891ed4
[    4.181884] r10: c04dafd0  r9 : c098690c  r8 : c0936208
[    4.181884] r7 : ed890000  r6 : c0a63d00  r5 : 00000000  r4 : 00000000
[    4.181884] r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : c0b2acc8
[    4.181884] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    4.181884] Control: 10c5387d  Table: adcb804a  DAC: 00000015
[    4.181915] Process swapper/0 (pid: 1, stack limit = 0xed890238)
[    4.181915] Stack: (0xed891ec0 to 0xed892000)
[    4.181915] 1ec0: c09b7b70 00000007 ed891efc ed891ed8 c04daff4 c04fd9c0 00000000 c09b7b70
[    4.181915] 1ee0: 00000007 c0a63d00 ed890000 c0936208 ed891f54 ed891f00 c00088e0 c04dafdc
[    4.181945] 1f00: ed891f54 ed891f10 c006e940 00000000 00000000 00000007 00000007 c08a4914
[    4.181945] 1f20: 00000000 c07dbd30 c0a63d00 c09b7b70 00000007 c0a63d00 000000bc c0936208
[    4.181945] 1f40: c098690c c0986914 ed891f94 ed891f58 c0936a40 c00087bc 00000007 00000007
[    4.181976] 1f60: c0936208 be8bda20 b6eea010 c0a63d00 c064547c 00000000 00000000 00000000
[    4.181976] 1f80: 00000000 00000000 ed891fac ed891f98 c0645498 c09368c8 00000000 00000000
[    4.181976] 1fa0: 00000000 ed891fb0 c0014658 c0645488 00000000 00000000 00000000 00000000
[    4.182006] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    4.182006] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[    4.182037] [&lt;c04fda18&gt;] (of_get_next_child+0x64/0x70) from [&lt;c04daff4&gt;] (cpu0_cpufreq_driver_init+0x24/0x284)
[    4.182067] [&lt;c04daff4&gt;] (cpu0_cpufreq_driver_init+0x24/0x284) from [&lt;c00088e0&gt;] (do_one_initcall+0x130/0x1b0)
[    4.182067] [&lt;c00088e0&gt;] (do_one_initcall+0x130/0x1b0) from [&lt;c0936a40&gt;] (kernel_init_freeable+0x184/0x24c)
[    4.182098] [&lt;c0936a40&gt;] (kernel_init_freeable+0x184/0x24c) from [&lt;c0645498&gt;] (kernel_init+0x1c/0xf4)
[    4.182128] [&lt;c0645498&gt;] (kernel_init+0x1c/0xf4) from [&lt;c0014658&gt;] (ret_from_fork+0x14/0x20)
[    4.182128] Code: f57ff04f e320f004 e89da830 e89da830 (e595001c)
[    4.182128] ---[ end trace 634903a22e8609cb ]---
[    4.182189] Kernel panic - not syncing: Attempted to kill init!  exitcode=0x0000000b
[    4.182189]
[    4.642395] CPU0: stopping

[rjw: Changelog]
Signed-off-by: Paolo Pisati &lt;paolo.pisati@canonical.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: acpi-cpufreq: Don't set policy-&gt;related_cpus from .init()</title>
<updated>2013-03-25T14:13:32Z</updated>
<author>
<name>Viresh Kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-03-24T15:58:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa77a52764a92216b61a6c8079b5c01937c046cd'/>
<id>urn:sha1:aa77a52764a92216b61a6c8079b5c01937c046cd</id>
<content type='text'>
With the addition of following patch:

fcf8058 cpufreq: Simplify cpufreq_add_dev()

cpufreq driver's .init() routine must initialize policy-&gt;cpus with
mask of all possible CPUs (Online + Offline) that share the clock.
Then the core would copy this mask onto policy-&gt;related_cpus and will
reset policy-&gt;cpus to carry only online cpus.

acpi-cpufreq driver wasn't updated with this assumption and so
sometimes when we try to hot[un]plug CPUs at run time, sysfs
directories get corrupted.

This patch fixes acpi-cpufreq driver against this corruption.

Reported-and-tested-by: Maciej Rutecki &lt;maciej.rutecki@gmail.com&gt;
Tested-by: Borislav Petkov &lt;bp@suse.de&gt;
Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq: stats: do cpufreq_cpu_put() corresponding to cpufreq_cpu_get()</title>
<updated>2013-03-25T14:13:16Z</updated>
<author>
<name>viresh kumar</name>
<email>viresh.kumar@linaro.org</email>
</author>
<published>2013-03-22T10:13:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=187da1d97f3a949b967274d7ee2f95d3a4f39251'/>
<id>urn:sha1:187da1d97f3a949b967274d7ee2f95d3a4f39251</id>
<content type='text'>
In cpufreq_stats_free_sysfs() we aren't balancing calls to
cpufreq_cpu_get() with cpufreq_cpu_put(). This will never let us have
ref count to policy-&gt;kobj as zero.

We will get a hang if somehow cpufreq_driver_unregister() is called.
And that can happen when we compile our driver as module and
insmod/rmmod it.

Signed-off-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-by: Amit Kucheria &lt;amit.kucheria@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>intel-pstate: Use #defines instead of hard-coded values.</title>
<updated>2013-03-25T14:13:07Z</updated>
<author>
<name>Konrad Rzeszutek Wilk</name>
<email>konrad.wilk@oracle.com</email>
</author>
<published>2013-03-20T14:21:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05e99c8cf9d4e53ef6e016815db40a89a6156529'/>
<id>urn:sha1:05e99c8cf9d4e53ef6e016815db40a89a6156529</id>
<content type='text'>
They are defined in coreboot (MSR_PLATFORM) and the other
one is already defined in msr-index.h.

Let's use those.

Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Fix calculation of current frequency</title>
<updated>2013-03-25T14:12:59Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.brandewie@gmail.com</email>
</author>
<published>2013-03-23T23:54:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e6f3eb29be471c4b536a91daab76d4aeda72a261'/>
<id>urn:sha1:e6f3eb29be471c4b536a91daab76d4aeda72a261</id>
<content type='text'>
Use the correct pstate value to calculate the effective frequency.

References: https://bugzilla.redhat.com/show_bug.cgi?id=923942
Reported-by: Satish Balay &lt;balay@fastmail.fm&gt;
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Add function to check that all MSRs are valid</title>
<updated>2013-03-25T14:12:52Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.brandewie@gmail.com</email>
</author>
<published>2013-03-22T00:29:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b563b4e3f2dd601e19b46ada31bd176fc0a16efc'/>
<id>urn:sha1:b563b4e3f2dd601e19b46ada31bd176fc0a16efc</id>
<content type='text'>
Some VMs seem to try to implement some MSRs but not all the registers
the driver needs.  Check to make sure all the MSR that we need are
available. If any of the required MSRs are not available refuse to
load.

References: https://bugzilla.redhat.com/show_bug.cgi?id=922923
Reported-by: Josh Stone &lt;jistone@redhat.com&gt;
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Do not load on VM that does not report max P state.</title>
<updated>2013-03-06T22:40:11Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.brandewie@gmail.com</email>
</author>
<published>2013-03-05T22:15:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d3929b832833db870af72479666fa4e4d043e02e'/>
<id>urn:sha1:d3929b832833db870af72479666fa4e4d043e02e</id>
<content type='text'>
It seems some VMs support the P state MSRs but return zeros. Fail
gracefully if we are running in this environment.

References: https://bugzilla.redhat.com/show_bug.cgi?id=916833
Reported-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>cpufreq / intel_pstate: Fix intel_pstate_init() error path</title>
<updated>2013-03-06T22:34:58Z</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.brandewie@gmail.com</email>
</author>
<published>2013-03-05T22:15:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=907cc908108b16ae87b7165be992511c968159f0'/>
<id>urn:sha1:907cc908108b16ae87b7165be992511c968159f0</id>
<content type='text'>
If cpufreq_register_driver() fails just free memory that has been
allocated and return. intel_pstate_exit() function is removed since we
are built-in only now there is no reason for a module exit procedure.

Reported-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Dirk Brandewie &lt;dirk.j.brandewie@intel.com&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
</feed>
