<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/cpufreq, branch v3.2.41</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.2.41</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/cpufreq?h=v3.2.41'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-20T15:03:29Z</updated>
<entry>
<title>Fix memory leak in cpufreq stats.</title>
<updated>2013-03-20T15:03:29Z</updated>
<author>
<name>Tu, Xiaobing</name>
<email>xiaobing.tu@intel.com</email>
</author>
<published>2012-10-22T23:03:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8885a53947b37ab206c8e3d8ca30ee06cb179ddf'/>
<id>urn:sha1:8885a53947b37ab206c8e3d8ca30ee06cb179ddf</id>
<content type='text'>
commit e37736777254ce1abc85493a5cacbefe5983b896 upstream.

When system enters sleep, non-boot CPUs will be disabled.
Cpufreq stats sysfs is created when the CPU is up, but it is not
freed when the CPU is going down. This will cause memory leak.

Signed-off-by: xiaobing tu &lt;xiaobing.tu@intel.com&gt;
Signed-off-by: guifang tang &lt;guifang.tang@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>cpufreq / powernow-k8: Remove usage of smp_processor_id() in preemptible code</title>
<updated>2012-10-30T23:26:54Z</updated>
<author>
<name>Andreas Herrmann</name>
<email>andreas.herrmann3@amd.com</email>
</author>
<published>2012-10-22T22:55:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05366b68ce37e1664b4df70912507453c7729d9b'/>
<id>urn:sha1:05366b68ce37e1664b4df70912507453c7729d9b</id>
<content type='text'>
commit e4df1cbcc1f329e53a1fff7450b2229e0addff20 upstream.

Commit 6889125b8b4e09c5e53e6ecab3433bed1ce198c9
(cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to another CPU)
causes powernow-k8 to trigger a preempt warning, e.g.:

  BUG: using smp_processor_id() in preemptible [00000000] code: cpufreq/3776
  caller is powernowk8_target+0x20/0x49
  Pid: 3776, comm: cpufreq Not tainted 3.6.0 #9
  Call Trace:
   [&lt;ffffffff8125b447&gt;] debug_smp_processor_id+0xc7/0xe0
   [&lt;ffffffff814877e7&gt;] powernowk8_target+0x20/0x49
   [&lt;ffffffff81482b02&gt;] __cpufreq_driver_target+0x82/0x8a
   [&lt;ffffffff81484fc6&gt;] cpufreq_governor_performance+0x4e/0x54
   [&lt;ffffffff81482c50&gt;] __cpufreq_governor+0x8c/0xc9
   [&lt;ffffffff81482e6f&gt;] __cpufreq_set_policy+0x1a9/0x21e
   [&lt;ffffffff814839af&gt;] store_scaling_governor+0x16f/0x19b
   [&lt;ffffffff81484f16&gt;] ? cpufreq_update_policy+0x124/0x124
   [&lt;ffffffff8162b4a5&gt;] ? _raw_spin_unlock_irqrestore+0x2c/0x49
   [&lt;ffffffff81483640&gt;] store+0x60/0x88
   [&lt;ffffffff811708c0&gt;] sysfs_write_file+0xf4/0x130
   [&lt;ffffffff8111243b&gt;] vfs_write+0xb5/0x151
   [&lt;ffffffff811126e0&gt;] sys_write+0x4a/0x71
   [&lt;ffffffff816319a9&gt;] system_call_fastpath+0x16/0x1b

Fix this by by always using work_on_cpu().

Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to another CPU</title>
<updated>2012-10-10T02:30:49Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2012-09-18T21:24:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec42753a3fcc0347d2cd7aab8cac8a340682c127'/>
<id>urn:sha1:ec42753a3fcc0347d2cd7aab8cac8a340682c127</id>
<content type='text'>
commit 6889125b8b4e09c5e53e6ecab3433bed1ce198c9 upstream.

powernowk8_target() runs off a per-cpu work item and if the
cpufreq_policy-&gt;cpu is different from the current one, it migrates the
kworker to the target CPU by manipulating current-&gt;cpus_allowed.  The
function migrates the kworker back to the original CPU but this is
still broken.  Workqueue concurrency management requires the kworkers
to stay on the same CPU and powernowk8_target() ends up triggerring
BUG_ON(rq != this_rq()) in try_to_wake_up_local() if it contends on
fidvid_mutex and sleeps.

It is unclear why this bug is being reported now.  Duncan says it
appeared to be a regression of 3.6-rc1 and couldn't reproduce it on
3.5.  Bisection seemed to point to 63d95a91 "workqueue: use @pool
instead of @gcwq or @cpu where applicable" which is an non-functional
change.  Given that the reproduce case sometimes took upto days to
trigger, it's easy to be misled while bisecting.  Maybe something made
contention on fidvid_mutex more likely?  I don't know.

This patch fixes the bug by using work_on_cpu() instead if @pol-&gt;cpu
isn't the same as the current one.  The code assumes that
cpufreq_policy-&gt;cpu is kept online by the caller, which Rafael tells
me is the case.

stable: ed48ece27c ("workqueue: reimplement work_on_cpu() using
        system_wq") should be applied before this; otherwise, the
        behavior could be horrible.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reported-by: Duncan &lt;1i5t5.duncan@cox.net&gt;
Tested-by: Duncan &lt;1i5t5.duncan@cox.net&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Cc: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47301
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>powernow-k8: Fix indexing issue</title>
<updated>2012-02-13T19:17:04Z</updated>
<author>
<name>Andreas Herrmann</name>
<email>andreas.herrmann3@amd.com</email>
</author>
<published>2012-01-06T14:57:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8f44619e1e633884c5f0bfcf6ae05d7b0304cca3'/>
<id>urn:sha1:8f44619e1e633884c5f0bfcf6ae05d7b0304cca3</id>
<content type='text'>
commit a8eb28480e9b637cc78b9aa5e08612ba97e1317a upstream.

The driver uses the pstate number from the status register as index in
its table of ACPI pstates (powernow_table). This is wrong as this is
not a 1-to-1 mapping.

For example we can have _PSS information to just utilize Pstate 0 and
Pstate 4, ie.

  powernow-k8: Core Performance Boosting: on.
  powernow-k8:    0 : pstate 0 (2200 MHz)
  powernow-k8:    1 : pstate 4 (1400 MHz)

In this example the driver's powernow_table has just 2 entries. Using
the pstate number (4) as index into this table is just plain wrong.

Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powernow-k8: Avoid Pstate MSR accesses on systems supporting CPB</title>
<updated>2012-02-13T19:17:04Z</updated>
<author>
<name>Andreas Herrmann</name>
<email>andreas.herrmann3@amd.com</email>
</author>
<published>2012-01-06T14:56:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=af2ff521425c83a3043af8a600b62d32443031dd'/>
<id>urn:sha1:af2ff521425c83a3043af8a600b62d32443031dd</id>
<content type='text'>
commit 201bf0f129e1715a33568d1563d9a75b840ab4d3 upstream.

Due to CPB we can't directly map SW Pstates to Pstate MSRs. Get rid of
the paranoia check. (assuming that the ACPI Pstate information is
correct.)

Signed-off-by: Andreas Herrmann &lt;andreas.herrmann3@amd.com&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>[CPUFREQ] db8500: fix build error due to undeclared i variable</title>
<updated>2011-11-12T03:28:33Z</updated>
<author>
<name>Axel Lin</name>
<email>axel.lin@gmail.com</email>
</author>
<published>2011-11-04T12:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eb0b38a5d2c063cd8dc9e44415ce08e30d95f571'/>
<id>urn:sha1:eb0b38a5d2c063cd8dc9e44415ce08e30d95f571</id>
<content type='text'>
The variable i is removed by commit ded8433
"[CPUFREQ] db8500: remove unneeded for loop iteration over freq_table",
but current code to print available frequencies still uses the i variable.
Thus add the i variable back to fix below buld error:

  CC      drivers/cpufreq/db8500-cpufreq.o
drivers/cpufreq/db8500-cpufreq.c: In function 'db8500_cpufreq_init':
drivers/cpufreq/db8500-cpufreq.c:123: error: 'i' undeclared (first use in this function)
drivers/cpufreq/db8500-cpufreq.c:123: error: (Each undeclared identifier is reported only once
drivers/cpufreq/db8500-cpufreq.c:123: error: for each function it appears in.)
make[2]: *** [drivers/cpufreq/db8500-cpufreq.o] Error 1
make[1]: *** [drivers/cpufreq] Error 2
make: *** [drivers] Error 2

This patch also fixes using uninitialized i variable as array index.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux</title>
<updated>2011-11-07T03:44:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-07T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32aaeffbd4a7457bf2f7448b33b5946ff2a960eb'/>
<id>urn:sha1:32aaeffbd4a7457bf2f7448b33b5946ff2a960eb</id>
<content type='text'>
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
  Revert "tracing: Include module.h in define_trace.h"
  irq: don't put module.h into irq.h for tracking irqgen modules.
  bluetooth: macroize two small inlines to avoid module.h
  ip_vs.h: fix implicit use of module_get/module_put from module.h
  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
  include: replace linux/module.h with "struct module" wherever possible
  include: convert various register fcns to macros to avoid include chaining
  crypto.h: remove unused crypto_tfm_alg_modname() inline
  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
  pm_runtime.h: explicitly requires notifier.h
  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
  miscdevice.h: fix up implicit use of lists and types
  stop_machine.h: fix implicit use of smp.h for smp_processor_id
  of: fix implicit use of errno.h in include/linux/of.h
  of_platform.h: delete needless include &lt;linux/module.h&gt;
  acpi: remove module.h include from platform/aclinux.h
  miscdevice.h: delete unnecessary inclusion of module.h
  device_cgroup.h: delete needless include &lt;linux/module.h&gt;
  net: sch_generic remove redundant use of &lt;linux/module.h&gt;
  net: inet_timewait_sock doesnt need &lt;linux/module.h&gt;
  ...

Fix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in
 - drivers/media/dvb/frontends/dibx000_common.c
 - drivers/media/video/{mt9m111.c,ov6650.c}
 - drivers/mfd/ab3550-core.c
 - include/linux/dmaengine.h
</content>
</entry>
<entry>
<title>Merge branch 'next' of git://github.com/kernelslacker/cpufreq</title>
<updated>2011-11-03T16:59:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-03T16:59:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70c9f18ca8f3652c7dcf715e9f0d41c399fe130d'/>
<id>urn:sha1:70c9f18ca8f3652c7dcf715e9f0d41c399fe130d</id>
<content type='text'>
* 'next' of git://github.com/kernelslacker/cpufreq:
  [CPUFREQ] db8500: support all frequencies
  [CPUFREQ] db8500: remove unneeded for loop iteration over freq_table
  [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders
  [CPUFREQ] ARM: ux500: send cpufreq notification for all cpus
  [CPUFREQ] e_powersaver: Allow user to lower maximum voltage
  [CPUFREQ] e_powersaver: Check BIOS limit for CPU frequency
  [CPUFREQ] e_powersaver: Additional checks
  [CPUFREQ] exynos4210: Show list of available frequencies
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6</title>
<updated>2011-11-03T16:40:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-03T16:40:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a0a4194c943bc64dd7b6e26cccb036cb26b81363'/>
<id>urn:sha1:a0a4194c943bc64dd7b6e26cccb036cb26b81363</id>
<content type='text'>
* 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
  mfd: Fix missing abx500 header file updates
  mfd: Add missing &lt;linux/io.h&gt; include to intel_msic
  x86, mrst: add platform support for MSIC MFD driver
  mfd: Expose TurnOnStatus in ab8500 sysfs
  mfd: Remove support for early drop ab8500 chip
  mfd: Add support for ab8500 v3.3
  mfd: Add ab8500 interrupt disable hook
  mfd: Convert db8500-prcmu panic() into pr_crit()
  mfd: Refactor db8500-prcmu request_clock() function
  mfd: Rename db8500-prcmu init function
  mfd: Fix db5500-prcmu defines
  mfd: db8500-prcmu voltage domain consumers additions
  mfd: db8500-prcmu reset code retrieval
  mfd: db8500-prcmu tweak for modem wakeup
  mfd: Add db8500-pcmu watchdog accessor functions for watchdog
  mfd: hwacc power state db8500-prcmu accessor
  mfd: Add db8500-prcmu accessors for PLL and SGA clock
  mfd: Move to the new db500 PRCMU API
  mfd: Create a common interface for dbx500 PRCMU drivers
  mfd: Initialize DB8500 PRCMU regs
  ...

Fix up trivial conflicts in
	arch/arm/mach-imx/mach-mx31moboard.c
	arch/arm/mach-omap2/board-omap3beagle.c
	arch/arm/mach-u300/include/mach/irqs.h
	drivers/mfd/wm831x-spi.c
</content>
</entry>
<entry>
<title>cpufreq: Fix build of s3c64xx cpufreq driver for header change</title>
<updated>2011-10-31T23:31:32Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@opensource.wolfsonmicro.com</email>
</author>
<published>2011-07-29T15:19:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a6ee87790b708dc4cdd3643104417793f0d985ec'/>
<id>urn:sha1:a6ee87790b708dc4cdd3643104417793f0d985ec</id>
<content type='text'>
The header change has removed an implicit include of module.h, breaking
the build due to the use of THIS_MODULE. Fix that.

Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
</feed>
