<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/cpufreq, branch v3.14.9</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>intel_pstate: Improve initial busy calculation</title>
<updated>2014-06-11T18:54:13+00:00</updated>
<author>
<name>Doug Smythies</name>
<email>dsmythies@telus.net</email>
</author>
<published>2014-05-30T17:10:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f3c8fdbb9786e46ffc6d2e261c9bf903e37fd4a'/>
<id>9f3c8fdbb9786e46ffc6d2e261c9bf903e37fd4a</id>
<content type='text'>
commit bf8102228a8bf053051f311e5486042fe0542894 upstream.

This change makes the busy calculation using 64 bit math which prevents
overflow for large values of aperf/mperf.

Signed-off-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit bf8102228a8bf053051f311e5486042fe0542894 upstream.

This change makes the busy calculation using 64 bit math which prevents
overflow for large values of aperf/mperf.

Signed-off-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: add sample time scaling</title>
<updated>2014-06-11T18:54:13+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-05-29T16:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fb145ac9f30cf84d18a26b63e18c94849be54313'/>
<id>fb145ac9f30cf84d18a26b63e18c94849be54313</id>
<content type='text'>
commit c4ee841f602e5eef8eab673295c49c5b49d7732b upstream.

The PID assumes that samples are of equal time, which for a deferable
timers this is not true when the system goes idle.  This causes the
PID to take a long time to converge to the min P state and depending
on the pattern of the idle load can make the P state appear stuck.

The hold-off value of three sample times before using the scaling is
to give a grace period for applications that have high performance
requirements and spend a lot of time idle,  The poster child for this
behavior is the ffmpeg benchmark in the Phoronix test suite.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c4ee841f602e5eef8eab673295c49c5b49d7732b upstream.

The PID assumes that samples are of equal time, which for a deferable
timers this is not true when the system goes idle.  This causes the
PID to take a long time to converge to the min P state and depending
on the pattern of the idle load can make the P state appear stuck.

The hold-off value of three sample times before using the scaling is
to give a grace period for applications that have high performance
requirements and spend a lot of time idle,  The poster child for this
behavior is the ffmpeg benchmark in the Phoronix test suite.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Correct rounding in busy calculation</title>
<updated>2014-06-11T18:54:13+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-05-29T16:32:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=85db8604350ab6eb012a08fb6b81eb840201eb29'/>
<id>85db8604350ab6eb012a08fb6b81eb840201eb29</id>
<content type='text'>
commit f0fe3cd7e12d8290c82284b5c8aee723cbd0371a upstream.

Changing to fixed point math throughout the busy calculation in
commit e66c1768 (Change busy calculation to use fixed point
math.) Introduced some inaccuracies by rounding the busy value at two
points in the calculation.  This change removes roundings and moves
the rounding to the output of the PID where the calculations are
complete and the value returned as an integer.

Fixes: e66c17683746 (intel_pstate: Change busy calculation to use fixed point math.)
Reported-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f0fe3cd7e12d8290c82284b5c8aee723cbd0371a upstream.

Changing to fixed point math throughout the busy calculation in
commit e66c1768 (Change busy calculation to use fixed point
math.) Introduced some inaccuracies by rounding the busy value at two
points in the calculation.  This change removes roundings and moves
the rounding to the output of the PID where the calculations are
complete and the value returned as an integer.

Fixes: e66c17683746 (intel_pstate: Change busy calculation to use fixed point math.)
Reported-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Remove C0 tracking</title>
<updated>2014-06-11T18:54:13+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-05-29T16:32:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cba64e6cbf312042e124dbf669e0a1e1dee72522'/>
<id>cba64e6cbf312042e124dbf669e0a1e1dee72522</id>
<content type='text'>
commit adacdf3f2b8e65aa441613cf61c4f598e9042690 upstream.

Commit fcb6a15c (intel_pstate: Take core C0 time into account for core
busy calculation) introduced a regression referenced below.  The issue
with "lockup" after suspend that this commit was addressing is now dealt
with in the suspend path.

Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=66581
Link: https://bugzilla.kernel.org/show_bug.cgi?id=75121
Reported-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit adacdf3f2b8e65aa441613cf61c4f598e9042690 upstream.

Commit fcb6a15c (intel_pstate: Take core C0 time into account for core
busy calculation) introduced a regression referenced below.  The issue
with "lockup" after suspend that this commit was addressing is now dealt
with in the suspend path.

Fixes: fcb6a15c2e7e (intel_pstate: Take core C0 time into account for core busy calculation)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=66581
Link: https://bugzilla.kernel.org/show_bug.cgi?id=75121
Reported-by: Doug Smythies &lt;dsmythies@telus.net&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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: remove unneeded sample buffers</title>
<updated>2014-06-11T18:54:13+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-02-12T18:01:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e89856b6c32bf5ac6a7312c9401c7bba0fbcb675'/>
<id>e89856b6c32bf5ac6a7312c9401c7bba0fbcb675</id>
<content type='text'>
commit d37e2b764499e092ebc493d6f980827feb952e23 upstream.

Remove unneeded sample buffers, intel_pstate operates on the most
recent sample only.  This save some memory and make the code more
readable.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d37e2b764499e092ebc493d6f980827feb952e23 upstream.

Remove unneeded sample buffers, intel_pstate operates on the most
recent sample only.  This save some memory and make the code more
readable.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq: remove race while accessing cur_policy</title>
<updated>2014-06-11T18:54:10+00:00</updated>
<author>
<name>Bibek Basu</name>
<email>bbasu@nvidia.com</email>
</author>
<published>2014-05-19T04:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=89571e8509f62d950715faca2251eb2273b530a0'/>
<id>89571e8509f62d950715faca2251eb2273b530a0</id>
<content type='text'>
commit c5450db85b828d0c46ac8fc570fb8a51bf07ac40 upstream.

While accessing cur_policy during executing events
CPUFREQ_GOV_START, CPUFREQ_GOV_STOP, CPUFREQ_GOV_LIMITS,
same mutex lock is not taken, dbs_data-&gt;mutex, which leads
to race and data corruption while running continious suspend
resume test. This is seen with ondemand governor with suspend
resume test using rtcwake.

 Unable to handle kernel NULL pointer dereference at virtual address 00000028
 pgd = ed610000
 [00000028] *pgd=adf11831, *pte=00000000, *ppte=00000000
 Internal error: Oops: 17 [#1] PREEMPT SMP ARM
 Modules linked in: nvhost_vi
 CPU: 1 PID: 3243 Comm: rtcwake Not tainted 3.10.24-gf5cf9e5 #1
 task: ee708040 ti: ed61c000 task.ti: ed61c000
 PC is at cpufreq_governor_dbs+0x400/0x634
 LR is at cpufreq_governor_dbs+0x3f8/0x634
 pc : [&lt;c05652b8&gt;] lr : [&lt;c05652b0&gt;] psr: 600f0013
 sp : ed61dcb0 ip : 000493e0 fp : c1cc14f0
 r10: 00000000 r9 : 00000000 r8 : 00000000
 r7 : eb725280 r6 : c1cc1560 r5 : eb575200 r4 : ebad7740
 r3 : ee708040 r2 : ed61dca8 r1 : 001ebd24 r0 : 00000000
 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
 Control: 10c5387d Table: ad61006a DAC: 00000015
 [&lt;c05652b8&gt;] (cpufreq_governor_dbs+0x400/0x634) from [&lt;c055f700&gt;] (__cpufreq_governor+0x98/0x1b4)
 [&lt;c055f700&gt;] (__cpufreq_governor+0x98/0x1b4) from [&lt;c0560770&gt;] (__cpufreq_set_policy+0x250/0x320)
 [&lt;c0560770&gt;] (__cpufreq_set_policy+0x250/0x320) from [&lt;c0561dcc&gt;] (cpufreq_update_policy+0xcc/0x168)
 [&lt;c0561dcc&gt;] (cpufreq_update_policy+0xcc/0x168) from [&lt;c0561ed0&gt;] (cpu_freq_notify+0x68/0xdc)
 [&lt;c0561ed0&gt;] (cpu_freq_notify+0x68/0xdc) from [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c)
 [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c) from [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68)
 [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68) from [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28)
 [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28) from [&lt;c00aac6c&gt;] (pm_qos_update_bounded_target+0xd8/0x310)
 [&lt;c00aac6c&gt;] (pm_qos_update_bounded_target+0xd8/0x310) from [&lt;c00ab3b0&gt;] (__pm_qos_update_request+0x64/0x70)
 [&lt;c00ab3b0&gt;] (__pm_qos_update_request+0x64/0x70) from [&lt;c004b4b8&gt;] (tegra_pm_notify+0x114/0x134)
 [&lt;c004b4b8&gt;] (tegra_pm_notify+0x114/0x134) from [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c)
 [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c) from [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68)
 [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68) from [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28)
 [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28) from [&lt;c00ac228&gt;] (pm_notifier_call_chain+0x1c/0x34)
 [&lt;c00ac228&gt;] (pm_notifier_call_chain+0x1c/0x34) from [&lt;c00ad38c&gt;] (enter_state+0xec/0x128)
 [&lt;c00ad38c&gt;] (enter_state+0xec/0x128) from [&lt;c00ad400&gt;] (pm_suspend+0x38/0xa4)
 [&lt;c00ad400&gt;] (pm_suspend+0x38/0xa4) from [&lt;c00ac114&gt;] (state_store+0x70/0xc0)
 [&lt;c00ac114&gt;] (state_store+0x70/0xc0) from [&lt;c027b1e8&gt;] (kobj_attr_store+0x14/0x20)
 [&lt;c027b1e8&gt;] (kobj_attr_store+0x14/0x20) from [&lt;c019cd9c&gt;] (sysfs_write_file+0x104/0x184)
 [&lt;c019cd9c&gt;] (sysfs_write_file+0x104/0x184) from [&lt;c0143038&gt;] (vfs_write+0xd0/0x19c)
 [&lt;c0143038&gt;] (vfs_write+0xd0/0x19c) from [&lt;c0143414&gt;] (SyS_write+0x4c/0x78)
 [&lt;c0143414&gt;] (SyS_write+0x4c/0x78) from [&lt;c000f080&gt;] (ret_fast_syscall+0x0/0x30)
 Code: e1a00006 eb084346 e59b0020 e5951024 (e5903028)
 ---[ end trace 0488523c8f6b0f9d ]---

Signed-off-by: Bibek Basu &lt;bbasu@nvidia.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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c5450db85b828d0c46ac8fc570fb8a51bf07ac40 upstream.

While accessing cur_policy during executing events
CPUFREQ_GOV_START, CPUFREQ_GOV_STOP, CPUFREQ_GOV_LIMITS,
same mutex lock is not taken, dbs_data-&gt;mutex, which leads
to race and data corruption while running continious suspend
resume test. This is seen with ondemand governor with suspend
resume test using rtcwake.

 Unable to handle kernel NULL pointer dereference at virtual address 00000028
 pgd = ed610000
 [00000028] *pgd=adf11831, *pte=00000000, *ppte=00000000
 Internal error: Oops: 17 [#1] PREEMPT SMP ARM
 Modules linked in: nvhost_vi
 CPU: 1 PID: 3243 Comm: rtcwake Not tainted 3.10.24-gf5cf9e5 #1
 task: ee708040 ti: ed61c000 task.ti: ed61c000
 PC is at cpufreq_governor_dbs+0x400/0x634
 LR is at cpufreq_governor_dbs+0x3f8/0x634
 pc : [&lt;c05652b8&gt;] lr : [&lt;c05652b0&gt;] psr: 600f0013
 sp : ed61dcb0 ip : 000493e0 fp : c1cc14f0
 r10: 00000000 r9 : 00000000 r8 : 00000000
 r7 : eb725280 r6 : c1cc1560 r5 : eb575200 r4 : ebad7740
 r3 : ee708040 r2 : ed61dca8 r1 : 001ebd24 r0 : 00000000
 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
 Control: 10c5387d Table: ad61006a DAC: 00000015
 [&lt;c05652b8&gt;] (cpufreq_governor_dbs+0x400/0x634) from [&lt;c055f700&gt;] (__cpufreq_governor+0x98/0x1b4)
 [&lt;c055f700&gt;] (__cpufreq_governor+0x98/0x1b4) from [&lt;c0560770&gt;] (__cpufreq_set_policy+0x250/0x320)
 [&lt;c0560770&gt;] (__cpufreq_set_policy+0x250/0x320) from [&lt;c0561dcc&gt;] (cpufreq_update_policy+0xcc/0x168)
 [&lt;c0561dcc&gt;] (cpufreq_update_policy+0xcc/0x168) from [&lt;c0561ed0&gt;] (cpu_freq_notify+0x68/0xdc)
 [&lt;c0561ed0&gt;] (cpu_freq_notify+0x68/0xdc) from [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c)
 [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c) from [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68)
 [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68) from [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28)
 [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28) from [&lt;c00aac6c&gt;] (pm_qos_update_bounded_target+0xd8/0x310)
 [&lt;c00aac6c&gt;] (pm_qos_update_bounded_target+0xd8/0x310) from [&lt;c00ab3b0&gt;] (__pm_qos_update_request+0x64/0x70)
 [&lt;c00ab3b0&gt;] (__pm_qos_update_request+0x64/0x70) from [&lt;c004b4b8&gt;] (tegra_pm_notify+0x114/0x134)
 [&lt;c004b4b8&gt;] (tegra_pm_notify+0x114/0x134) from [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c)
 [&lt;c008eff8&gt;] (notifier_call_chain+0x4c/0x8c) from [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68)
 [&lt;c008f3d4&gt;] (__blocking_notifier_call_chain+0x50/0x68) from [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28)
 [&lt;c008f40c&gt;] (blocking_notifier_call_chain+0x20/0x28) from [&lt;c00ac228&gt;] (pm_notifier_call_chain+0x1c/0x34)
 [&lt;c00ac228&gt;] (pm_notifier_call_chain+0x1c/0x34) from [&lt;c00ad38c&gt;] (enter_state+0xec/0x128)
 [&lt;c00ad38c&gt;] (enter_state+0xec/0x128) from [&lt;c00ad400&gt;] (pm_suspend+0x38/0xa4)
 [&lt;c00ad400&gt;] (pm_suspend+0x38/0xa4) from [&lt;c00ac114&gt;] (state_store+0x70/0xc0)
 [&lt;c00ac114&gt;] (state_store+0x70/0xc0) from [&lt;c027b1e8&gt;] (kobj_attr_store+0x14/0x20)
 [&lt;c027b1e8&gt;] (kobj_attr_store+0x14/0x20) from [&lt;c019cd9c&gt;] (sysfs_write_file+0x104/0x184)
 [&lt;c019cd9c&gt;] (sysfs_write_file+0x104/0x184) from [&lt;c0143038&gt;] (vfs_write+0xd0/0x19c)
 [&lt;c0143038&gt;] (vfs_write+0xd0/0x19c) from [&lt;c0143414&gt;] (SyS_write+0x4c/0x78)
 [&lt;c0143414&gt;] (SyS_write+0x4c/0x78) from [&lt;c000f080&gt;] (ret_fast_syscall+0x0/0x30)
 Code: e1a00006 eb084346 e59b0020 e5951024 (e5903028)
 ---[ end trace 0488523c8f6b0f9d ]---

Signed-off-by: Bibek Basu &lt;bbasu@nvidia.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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>cpufreq: cpu0: drop wrong devm usage</title>
<updated>2014-06-11T18:54:09+00:00</updated>
<author>
<name>Lucas Stach</name>
<email>l.stach@pengutronix.de</email>
</author>
<published>2014-05-16T10:20:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=834a64fa1283c0d48a1ca76bd45eae527ad9ea2c'/>
<id>834a64fa1283c0d48a1ca76bd45eae527ad9ea2c</id>
<content type='text'>
commit e3beb0ac521d50d158a9d253373eae8421ac3998 upstream.

This driver is using devres managed calls incorrectly, giving the cpu0
device as first parameter instead of the cpufreq platform device.
This results in resources not being freed if the cpufreq platform device
is unbound, for example if probing has to be deferred for a missing
regulator.

Signed-off-by: Lucas Stach &lt;l.stach@pengutronix.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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e3beb0ac521d50d158a9d253373eae8421ac3998 upstream.

This driver is using devres managed calls incorrectly, giving the cpu0
device as first parameter instead of the cpufreq platform device.
This results in resources not being freed if the cpufreq platform device
is unbound, for example if probing has to be deferred for a missing
regulator.

Signed-off-by: Lucas Stach &lt;l.stach@pengutronix.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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: remove setting P state to MAX on init</title>
<updated>2014-06-07T17:28:27+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-05-08T19:57:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=23de3167679e331f65d9aebdfb07fbf4f2167a4c'/>
<id>23de3167679e331f65d9aebdfb07fbf4f2167a4c</id>
<content type='text'>
commit d40a63c45b506b0681918d7c62a15cc9d48c8681 upstream.

Setting the P state of the core to max at init time is a hold over
from early implementation of intel_pstate where intel_pstate disabled
cpufreq and loaded VERY early in the boot sequence.  This was to
ensure that intel_pstate did not affect boot time. This in not needed
now that intel_pstate is a cpufreq driver.

Removing this covers the case where a CPU has gone through a manual
CPU offline/online cycle and the P state is set to MAX on init and the
CPU immediately goes idle.  Due to HW coordination the P state request
on the idle CPU will drag all cores to MAX P state until the load is
reevaluated when to core goes non-idle.

Reported-by: Patrick Marlier &lt;patrick.marlier@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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d40a63c45b506b0681918d7c62a15cc9d48c8681 upstream.

Setting the P state of the core to max at init time is a hold over
from early implementation of intel_pstate where intel_pstate disabled
cpufreq and loaded VERY early in the boot sequence.  This was to
ensure that intel_pstate did not affect boot time. This in not needed
now that intel_pstate is a cpufreq driver.

Removing this covers the case where a CPU has gone through a manual
CPU offline/online cycle and the P state is set to MAX on init and the
CPU immediately goes idle.  Due to HW coordination the P state request
on the idle CPU will drag all cores to MAX P state until the load is
reevaluated when to core goes non-idle.

Reported-by: Patrick Marlier &lt;patrick.marlier@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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>intel_pstate: Set turbo VID for BayTrail</title>
<updated>2014-06-07T17:28:27+00:00</updated>
<author>
<name>Dirk Brandewie</name>
<email>dirk.j.brandewie@intel.com</email>
</author>
<published>2014-05-08T19:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dd4c4afb005de0415ea06e3586b017e193c1539e'/>
<id>dd4c4afb005de0415ea06e3586b017e193c1539e</id>
<content type='text'>
commit 21855ff5bcbdd075e1c99772827a84912ab083dd upstream.

A documentation update exposed that there is a separate set of VID
values that must be used in the turbo/boost P state range.  Add
enumerating and setting the correct VID for P states in the turbo
range.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 21855ff5bcbdd075e1c99772827a84912ab083dd upstream.

A documentation update exposed that there is a separate set of VID
values that must be used in the turbo/boost P state range.  Add
enumerating and setting the correct VID for P states in the turbo
range.

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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>MIPS/loongson2_cpufreq: Fix CPU clock rate setting</title>
<updated>2014-06-07T17:28:07+00:00</updated>
<author>
<name>Aaro Koskinen</name>
<email>aaro.koskinen@iki.fi</email>
</author>
<published>2014-04-03T19:24:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4236d29b5fc3e32a6c00ddf7ccf53ce5786730a8'/>
<id>4236d29b5fc3e32a6c00ddf7ccf53ce5786730a8</id>
<content type='text'>
commit 8e8acb32960f42c81b1d50deac56a2c07bb6a18a upstream.

Loongson2 has been using (incorrectly) kHz for cpu_clk rate. This has
been unnoticed, as loongson2_cpufreq was the only place where the rate
was set/get. After commit 652ed95d5fa6074b3c4ea245deb0691f1acb6656
(cpufreq: introduce cpufreq_generic_get() routine) things however broke,
and now loops_per_jiffy adjustments are incorrect (1000 times too long).
The patch fixes this by changing cpu_clk rate to Hz.

Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Cc: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: cpufreq@vger.kernel.org
Cc: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Patchwork: https://patchwork.linux-mips.org/patch/6678/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8e8acb32960f42c81b1d50deac56a2c07bb6a18a upstream.

Loongson2 has been using (incorrectly) kHz for cpu_clk rate. This has
been unnoticed, as loongson2_cpufreq was the only place where the rate
was set/get. After commit 652ed95d5fa6074b3c4ea245deb0691f1acb6656
(cpufreq: introduce cpufreq_generic_get() routine) things however broke,
and now loops_per_jiffy adjustments are incorrect (1000 times too long).
The patch fixes this by changing cpu_clk rate to Hz.

Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Cc: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: cpufreq@vger.kernel.org
Cc: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Patchwork: https://patchwork.linux-mips.org/patch/6678/
Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
</feed>
