linux_dsm_epyc7002/drivers/cpufreq
Viresh Kumar 7c30ed532c cpufreq: make sure frequency transitions are serialized
Whenever we are changing frequency of a cpu, we are calling PRECHANGE and
POSTCHANGE notifiers. They must be serialized. i.e. PRECHANGE or POSTCHANGE
shouldn't be called twice contiguously.

This can happen due to bugs in users of __cpufreq_driver_target() or actual
cpufreq drivers who are sending these notifiers.

This patch adds some protection against this. Now, we keep track of the last
transaction and see if something went wrong.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-06-27 21:49:55 +02:00
..
acpi-cpufreq.c Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
amd_freq_sensitivity.c cpufreq: AMD "frequency sensitivity feedback" powersave bias for ondemand governor 2013-04-10 13:19:26 +02:00
arm_big_little_dt.c cpufreq: arm_big_little_dt: Instantiate as platform_driver 2013-05-22 12:43:33 +02:00
arm_big_little.c cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:58 +05:30
arm_big_little.h cpufreq: ARM big LITTLE: Move cpu_to_cluster() to arm_big_little.h 2013-05-12 14:04:15 +02:00
at32ap-cpufreq.c cpufreq: AVR32: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
blackfin-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
cpufreq_conservative.c cpufreq: conservative: Use an inline function to evaluate freq_target 2013-04-01 01:11:36 +02:00
cpufreq_governor.c Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
cpufreq_governor.h cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq_ondemand.c cpufreq, ondemand: Remove leftover debug line 2013-05-13 14:02:31 +02:00
cpufreq_performance.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq_powersave.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq_stats.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq_userspace.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cpufreq-cpu0.c cpufreq: cpufreq-cpu0: use the exact frequency for clk_set_rate() 2013-06-05 13:51:29 +02:00
cpufreq-nforce2.c cpufreq: drivers: Remove unnecessary assignments of policy-> members 2013-04-02 15:26:32 +02:00
cpufreq.c cpufreq: make sure frequency transitions are serialized 2013-06-27 21:49:55 +02:00
cris-artpec3-cpufreq.c cpufreq: cris: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
cris-etraxfs-cpufreq.c cpufreq: cris: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
davinci-cpufreq.c cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:58 +05:30
dbx500-cpufreq.c cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:59 +05:30
e_powersaver.c cpufreq: e_powersaver: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 13:19:27 +02:00
elanfreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
exynos4x12-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos4210-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5250-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos5440-cpufreq.c cpufreq: exynos5440: Protect OPP search calls with RCU lock 2013-04-22 00:24:37 +02:00
exynos-cpufreq.c cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:18:59 +05:30
exynos-cpufreq.h arm-soc: cleanups 2013-02-21 14:58:40 -08:00
freq_table.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
gx-suspmod.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
highbank-cpufreq.c cpufreq: highbank: do not initialize array with a loop 2013-03-04 14:23:11 +01:00
ia64-acpi-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
imx6q-cpufreq.c cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:19:00 +05:30
integrator-cpufreq.c cpufreq: integrator: move cpufreq driver to drivers/cpufreq 2013-04-08 13:02:31 +02:00
intel_pstate.c cpufreq / intel_pstate: Add additional supported CPU ID 2013-05-22 00:28:44 +02:00
Kconfig cpufreq: Fix incorrect dependecies for ARM SA11xx drivers 2013-05-12 14:04:16 +02:00
Kconfig.arm Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
Kconfig.powerpc Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
Kconfig.x86 cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE 2013-06-18 13:53:11 +05:30
kirkwood-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
longhaul.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
longhaul.h sections: fix section conflicts in drivers/cpufreq 2012-09-14 21:10:46 +02:00
longrun.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
loongson2_cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
Makefile Merge branch 'pm-cpufreq-assorted' into pm-cpufreq 2013-06-27 21:46:45 +02:00
maple-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
mperf.c [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
mperf.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
omap-cpufreq.c cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 18:19:00 +05:30
p4-clockmod.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
pasemi-cpufreq.c cpufreq: powerpc: move cpufreq driver to drivers/cpufreq 2013-06-07 13:44:39 +02:00
pcc-cpufreq.c cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 13:26:39 +02:00
pmac32-cpufreq.c cpufreq: powerpc: move cpufreq driver to drivers/cpufreq 2013-06-07 13:44:39 +02:00
pmac64-cpufreq.c cpufreq: powerpc: move cpufreq driver to drivers/cpufreq 2013-06-07 13:44:39 +02:00
powernow-k6.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
powernow-k7.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
powernow-k7.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
powernow-k8.c cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases 2013-06-24 13:28:57 +02:00
powernow-k8.h cpufreq: Remove support for hardware P-state chips from powernow-k8 2012-09-09 22:05:30 +02:00
ppc_cbe_cpufreq_pervasive.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq_pmi.c cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc_cbe_cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
ppc_cbe_cpufreq.h cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00
ppc-corenet-cpufreq.c cpufreq: powerpc: Add cpufreq driver for Freescale e500mc SoCs 2013-06-05 14:19:28 +02:00
pxa2xx-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
pxa3xx-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
s3c64xx-cpufreq.c Merge branch 'pm-cpufreq-arm' into pm-cpufreq 2013-06-27 21:47:03 +02:00
s3c2416-cpufreq.c Merge branch 'pm-cpufreq-arm' into pm-cpufreq 2013-06-27 21:47:03 +02:00
s5pv210-cpufreq.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
sa1100-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sa1110-cpufreq.c cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:24 +02:00
sc520_freq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
sh-cpufreq.c cpufreq: sh: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:25 +02:00
sparc-us2e-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
sparc-us3-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
spear-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
speedstep-centrino.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-06-04 14:25:59 +02:00
speedstep-ich.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
speedstep-lib.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
speedstep-lib.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
speedstep-smi.c cpufreq: Notify all policy->cpus in cpufreq_notify_transition() 2013-04-02 15:24:00 +02:00
tegra-cpufreq.c Merge branch 'pm-cpufreq-arm' into pm-cpufreq 2013-06-27 21:47:03 +02:00
unicore2-cpufreq.c cpufreq: unicore2: move cpufreq driver to drivers/cpufreq 2013-04-10 13:19:26 +02:00