linux_dsm_epyc7002/drivers/cpufreq
Viresh Kumar 7bd353a995 cpufreq: Add per policy governor-init/exit infrastructure
Currently, there can't be multiple instances of single governor_type.
If we have a multi-package system, where we have multiple instances
of struct policy (per package), we can't have multiple instances of
same governor. i.e. We can't have multiple instances of ondemand
governor for multiple packages.

Governors directory in sysfs is created at /sys/devices/system/cpu/cpufreq/
governor-name/. Which again reflects that there can be only one
instance of a governor_type in the system.

This is a bottleneck for multicluster system, where we want different
packages to use same governor type, but with different tunables.

This patch is inclined towards providing this infrastructure. Because
we are required to allocate governor's resources dynamically now, we
must do it at policy creation and end. And so got
CPUFREQ_GOV_POLICY_INIT/EXIT.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-04-01 01:11:34 +02:00
..
acpi-cpufreq.c cpufreq: acpi-cpufreq: Don't set policy->related_cpus from .init() 2013-03-25 15:13:32 +01:00
cpufreq_conservative.c cpufreq: conservative: Fix typos in comments 2013-02-09 12:56:19 +01:00
cpufreq_governor.c cpufreq: governors: Fix WARN_ON() for multi-policy platforms 2013-02-09 01:21:13 +01:00
cpufreq_governor.h cpufreq: Fix a typo in comment 2013-03-04 14:23:11 +01:00
cpufreq_ondemand.c cpufreq: ondemand: Fix typos in comments 2013-02-09 12:56:19 +01:00
cpufreq_performance.c cpufreq: Improve debug prints 2012-11-15 00:33:06 +01:00
cpufreq_powersave.c cpufreq: Improve debug prints 2012-11-15 00:33:06 +01:00
cpufreq_stats.c cpufreq: stats: do cpufreq_cpu_put() corresponding to cpufreq_cpu_get() 2013-03-25 15:13:16 +01:00
cpufreq_userspace.c cpufreq: Don't check cpu_online(policy->cpu) 2013-02-09 01:18:34 +01:00
cpufreq-cpu0.c cpufreq: Remove unnecessary use of policy->shared_type 2013-02-02 01:29:32 +01:00
cpufreq-nforce2.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
cpufreq.c cpufreq: Add per policy governor-init/exit infrastructure 2013-04-01 01:11:34 +02:00
dbx500-cpufreq.c arm-soc: driver specific changes 2013-02-21 15:12:18 -08:00
e_powersaver.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
elanfreq.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08: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
exynos-cpufreq.c arm-soc: cleanups 2013-02-21 14:58:40 -08:00
exynos-cpufreq.h arm-soc: cleanups 2013-02-21 14:58:40 -08:00
freq_table.c cpufreq: Don't check cpu_online(policy->cpu) 2013-02-09 01:18:34 +01:00
gx-suspmod.c cpufreq/gx: Fix the compile error 2012-02-02 15:32:12 -08:00
highbank-cpufreq.c cpufreq: highbank: do not initialize array with a loop 2013-03-04 14:23:11 +01:00
imx6q-cpufreq.c imx6q-cpufreq: fix return value check in imx6q_cpufreq_probe() 2013-02-23 00:30:25 +01:00
intel_pstate.c intel-pstate: Use #defines instead of hard-coded values. 2013-03-25 15:13:07 +01:00
Kconfig cpufreq: instantiate cpufreq-cpu0 as a platform_driver 2013-02-02 00:01:16 +01:00
Kconfig.arm Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
Kconfig.powerpc powerpc/cpufreq: Add cpufreq driver for Momentum Maple boards 2011-07-19 15:13:04 +10:00
Kconfig.x86 Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
kirkwood-cpufreq.c cpufreq: kirkwood: Add a cpufreq driver for Marvell Kirkwood SoCs 2013-02-09 12:56:08 +01:00
longhaul.c cpufreq / Longhaul: Disable driver by default 2013-01-03 13:11:18 +01: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
Makefile arm-soc: driver specific changes 2013-02-21 15:12:18 -08:00
maple-cpufreq.c cpufreq: Set all cpus in policy->cpus for single cluster SoCs 2013-02-02 01:29:31 +01: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: Remove unnecessary use of policy->shared_type 2013-02-02 01:29:32 +01:00
p4-clockmod.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
pcc-cpufreq.c drivers/cpufreq/pcc-cpufreq.c: fix error return code 2012-08-08 20:49:25 +02:00
powernow-k6.c powernow-k6: Really enable auto-loading 2012-02-13 15:26:03 -08:00
powernow-k7.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
powernow-k7.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
powernow-k8.c powernow-k8: Cleanup init function 2013-02-02 00:01:15 +01:00
powernow-k8.h cpufreq: Remove support for hardware P-state chips from powernow-k8 2012-09-09 22:05:30 +02:00
s3c64xx-cpufreq.c [CPUFREQ] s3c64xx: Fix mis-cherry pick of VDDINT 2012-02-29 22:24:38 -05:00
s3c2416-cpufreq.c cpufreq: Fix typo in cpufreq driver 2012-07-20 10:37:40 +02:00
s5pv210-cpufreq.c [CPUFREQ] s5pv210: make needlessly global symbols static 2011-07-13 18:30:00 -04:00
sc520_freq.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
spear-cpufreq.c cpufreq: Set all cpus in policy->cpus for single cluster SoCs 2013-02-02 01:29:31 +01:00
speedstep-centrino.c cpufreq: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00
speedstep-ich.c cpufreq: Fix typo in cpufreq driver 2012-07-20 10:37:40 +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: Add support for x86 cpuinfo auto loading v4 2012-01-26 16:49:06 -08:00