linux-stable/drivers/cpufreq
Aaro Koskinen 45a428ebbf cpufreq: pmac64: speed up frequency switch
Some functions on switch path use msleep() which is inaccurate, and
depends on HZ. With HZ=100 msleep(1) takes actually over ten times longer.
Using usleep_range() we get more accurate sleeps.

I measured the "pfunc_slewing_done" polling to take 300us at max (on
2.3GHz dual-processor Xserve G5), so using 500us sleep there should
be fine.

With the patch, g5_switch_freq() duration drops from ~50ms to ~10ms on
Xserve with HZ=100.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-10-17 00:56:56 +02:00
..
acpi-cpufreq.c acpi-cpufreq: Add comment under ACPI_ADR_SPACE_SYSTEM_IO case 2013-10-16 23:58:10 +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.c cpufreq: arm-big-little: use clk_get instead of clk_get_sys 2013-10-16 23:19:17 +02:00
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
arm_big_little_dt.c cpufreq: arm_big_little: remove device tree parsing for cpu nodes 2013-08-21 10:29:55 +01:00
at32ap-cpufreq.c cpufreq: at32ap: don't initialize part of policy set by core 2013-10-16 00:50:28 +02:00
blackfin-cpufreq.c cpufreq: blackfin: don't initialize part of policy set by core 2013-10-16 00:50:28 +02:00
cpufreq-cpu0.c cpufreq: cpufreq-cpu0: use cpufreq_generic_init() 2013-10-16 00:50:33 +02:00
cpufreq-nforce2.c cpufreq: nforce2: don't initialize part of policy set by core 2013-10-16 00:50:29 +02:00
cpufreq.c cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
cpufreq_conservative.c cpufreq: governors: Remove duplicate check of target freq in supported range 2013-08-28 22:03:02 +02:00
cpufreq_governor.c cpufreq: Don't use smp_processor_id() in preemptible context 2013-08-29 22:19:23 +02:00
cpufreq_governor.h cpufreq: use cpufreq_driver->flags to mark CPUFREQ_HAVE_GOVERNOR_PER_POLICY 2013-10-16 00:50:23 +02:00
cpufreq_ondemand.c cpufreq: governors: Remove duplicate check of target freq in supported range 2013-08-28 22:03:02 +02:00
cpufreq_performance.c cpufreq: Clean up header files included in the core 2013-08-07 23:34:09 +02:00
cpufreq_powersave.c cpufreq: Clean up header files included in the core 2013-08-07 23:34:09 +02:00
cpufreq_stats.c cpufreq: Fix wrong time unit conversion 2013-09-10 02:49:46 +02:00
cpufreq_userspace.c cpufreq: Fix minor formatting issues 2013-06-21 01:06:34 +02:00
cris-artpec3-cpufreq.c cpufreq: cris: use cpufreq_generic_init() 2013-10-16 00:50:33 +02:00
cris-etraxfs-cpufreq.c cpufreq: cris: use cpufreq_generic_init() 2013-10-16 00:50:33 +02:00
davinci-cpufreq.c cpufreq: davinci: use cpufreq_generic_init() 2013-10-16 00:50:33 +02:00
dbx500-cpufreq.c cpufreq: dbx500: use cpufreq_generic_init() 2013-10-16 00:50:33 +02:00
e_powersaver.c cpufreq: e_powersaver: don't initialize part of policy set by core 2013-10-16 00:50:29 +02:00
elanfreq.c cpufreq: elanfreq: don't initialize part of policy set by core 2013-10-16 00:50:29 +02:00
exynos-cpufreq.c exynos-cpufreq: fix false return check from "regulator_set_voltage" 2013-10-17 00:43:48 +02:00
exynos-cpufreq.h cpufreq: fix EXYNOS drivers selection 2013-08-12 12:00:21 +05:30
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: exynos: Show a list of available frequencies 2013-10-16 23:17:25 +02:00
freq_table.c cpufreq: define generic .attr, .exit() and .verify() routines 2013-10-16 00:50:23 +02:00
gx-suspmod.c cpufreq: gx: don't initialize part of policy set by core 2013-10-16 00:50:30 +02:00
highbank-cpufreq.c cpufreq: highbank-cpufreq: Enable Midway/ECX-2000 2013-10-17 00:53:08 +02:00
ia64-acpi-cpufreq.c cpufreq: ia64-acpi: don't initialize part of policy set by core 2013-10-16 00:50:30 +02:00
imx6q-cpufreq.c cpufreq: imx6q: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
integrator-cpufreq.c cpufreq: integrator: don't initialize part of policy set by core 2013-10-16 00:50:30 +02:00
intel_pstate.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-10-16 00:50:23 +02:00
Kconfig cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
Kconfig.arm cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
Kconfig.powerpc cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
Kconfig.x86 cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
kirkwood-cpufreq.c cpufreq: kirkwood: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
longhaul.c cpufreq: longhaul: don't initialize part of policy set by core 2013-10-16 00:50:30 +02:00
longhaul.h cpufreq: delete __cpuinit usage from all cpufreq files 2013-07-14 19:36:57 -04:00
longrun.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-10-16 00:50:23 +02:00
loongson2_cpufreq.c cpufreq: loongson2: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
Makefile cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-10-16 00:50:33 +02:00
maple-cpufreq.c cpufreq: maple: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
omap-cpufreq.c cpufreq: omap: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
p4-clockmod.c cpufreq: p4: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
pasemi-cpufreq.c cpufreq: pasemi: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
pcc-cpufreq.c cpufreq: pcc: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
pmac32-cpufreq.c cpufreq: pmac32: use cpufreq_generic_init() 2013-10-16 00:50:34 +02:00
pmac64-cpufreq.c cpufreq: pmac64: speed up frequency switch 2013-10-17 00:56:56 +02:00
powernow-k6.c cpufreq: powernow: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
powernow-k7.c cpufreq: powernow: don't initialize part of policy set by core 2013-10-16 00:50:31 +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: don't initialize part of policy set by core 2013-10-16 00:50:31 +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-corenet-cpufreq.c cpufreq: ppc: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
ppc_cbe_cpufreq.c cpufreq: ppc_cbe: Use generic cpufreq routines 2013-10-16 00:50:27 +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_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
pxa2xx-cpufreq.c cpufreq: pxa: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
pxa3xx-cpufreq.c cpufreq: pxa: don't initialize part of policy set by core 2013-10-16 00:50:31 +02:00
s3c24xx-cpufreq-debugfs.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c24xx-cpufreq.c cpufreq: s3c: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
s3c64xx-cpufreq.c cpufreq: s3c: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
s3c2410-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c2412-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s3c2416-cpufreq.c cpufreq: s3c: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
s3c2440-cpufreq.c cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq 2013-05-20 23:04:28 +09:00
s5pv210-cpufreq.c cpufreq: s5pv210: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
sa1100-cpufreq.c cpufreq: sa11x0: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
sa1110-cpufreq.c cpufreq: sa11x0: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
sc520_freq.c cpufreq: sc520_freq: don't initialize part of policy set by core 2013-10-16 00:50:32 +02:00
sh-cpufreq.c cpufreq: sh: don't initialize part of policy set by core 2013-10-16 00:50:32 +02:00
sparc-us2e-cpufreq.c cpufreq: sparc: Use generic cpufreq routines 2013-10-16 00:50:27 +02:00
sparc-us3-cpufreq.c cpufreq: sparc: Use generic cpufreq routines 2013-10-16 00:50:27 +02:00
spear-cpufreq.c cpufreq: spear: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
speedstep-centrino.c speedstep-centrino: Remove unnecessary braces 2013-10-17 00:21:06 +02:00
speedstep-ich.c cpufreq: speedstep: don't initialize part of policy set by core 2013-10-16 00:50:32 +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: speedstep: don't initialize part of policy set by core 2013-10-16 00:50:32 +02:00
tegra-cpufreq.c cpufreq: tegra: use cpufreq_generic_init() 2013-10-16 00:50:35 +02:00
unicore2-cpufreq.c cpufreq: unicore2: don't initialize part of policy set by core 2013-10-16 00:50:32 +02:00