android_kernel_lge_bullhead/drivers/cpufreq
Sultanxda a93eac4dd9 qcom-cpufreq: Use CLKFLAG_NO_RATE_CACHE
After a CPU comes online, clk_set_rate() silently refuses to change said CPU's
frequency to the frequency it was running at before going offline (since it
thinks that we are setting the same frequency redundantly). By default, each CPU
runs at its minimum frequency when coming online, so if the governor decides to
keep a CPU running at the frequency it used before going offline, then
clk_set_rate() will ignore the frequency change request and the CPU will stay
stuck running at its minimum frequency for a potentially long period of time
(i.e. until the governor decides to change the frequency to something
different). This can cause severe lag when a device is woken up from deep sleep.

In order to prevent a CPU from being stuck at its default frequency for a
potentially long period of time, set the CLKFLAG_NO_RATE_CACHE flag so that the
governor's frequency change requests will always be honored right after a CPU
comes online.

Note that this requires a CPU's component clocks to be using CLKFLAG_NO_RATE_CACHE
as well in order to fix the issue.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
2019-08-26 17:03:32 +02:00
..
Kconfig sched: window-stats: Enhance cpu busy time accounting 2014-10-03 14:03:51 -07:00
Kconfig.arm cpufreq: Kconfig: Move CPU_FREQ_MSM from arch to cpufreq 2014-03-18 11:41:48 -07:00
Kconfig.powerpc cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-12-20 19:07:16 -08:00
Kconfig.x86 cpufreq: remove CONFIG_CPU_FREQ_TABLE 2013-12-20 19:07:16 -08:00
Makefile cpufreq: Delete interactive_pro governor 2014-08-27 16:33:04 -07:00
acpi-cpufreq.c bludgeon the qualcomm kernel until it builds on i386 for qemu testing 2015-06-15 15:10:00 -07: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: move freq change notifications to cpufreq core 2013-12-20 19:07:19 -08:00
arm_big_little.h cpufreq: arm_big_little: add in-kernel switching (IKS) support 2013-12-20 19:07:17 -08:00
arm_big_little_dt.c PM / OPP: rename header to linux/pm_opp.h 2013-12-20 19:07:11 -08:00
at32ap-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
blackfin-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
cpu-boost.c cpufreq: cpu-boost: Force most/all tasks to big cluster on input event 2014-08-12 12:05:42 -07:00
cpufreq-cpu0.c PM / OPP: rename header to linux/pm_opp.h 2013-12-20 19:07:11 -08:00
cpufreq-nforce2.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00
cpufreq.c This is the 3.10.107 stable release 2018-01-25 17:57:41 -07:00
cpufreq_conservative.c This is the 3.10.108 stable release 2018-01-25 17:57:49 -07:00
cpufreq_governor.c cpufreq: ondemand: Change the calculation of target frequency 2014-10-09 12:18:43 -07:00
cpufreq_governor.h cpufreq: ondemand: Change the calculation of target frequency 2014-10-09 12:18:43 -07:00
cpufreq_interactive.c cpufreq: interactive: prevents the frequency to directly raise above the 2015-11-19 10:48:29 -08:00
cpufreq_ondemand.c cpufreq: ondemand: Change the calculation of target frequency 2014-10-09 12:18:43 -07:00
cpufreq_performance.c cpufreq: Clean up header files included in the core 2013-12-20 19:07:02 -08:00
cpufreq_persistent_stats.c Introducing per-task/per-process cpufreq statistics. 2016-03-02 18:02:13 -08:00
cpufreq_powersave.c cpufreq: Clean up header files included in the core 2013-12-20 19:07:02 -08:00
cpufreq_stats.c cpufreq: stats: Fix memory leaks when updating stats table 2019-08-26 16:01:14 +02:00
cpufreq_userspace.c cpufreq / governor: Remove fossil comment 2013-12-20 19:07:16 -08:00
cris-artpec3-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
cris-etraxfs-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
davinci-cpufreq.c cpufreq: Implement light weight ->target_index() routine 2013-12-20 19:07:16 -08:00
dbx500-cpufreq.c cpufreq: delete __cpuinit usage from all cpufreq files 2013-12-20 19:06:58 -08:00
e_powersaver.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
elanfreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
exynos-cpufreq.c cpufreq: Use sizeof(*ptr) convetion for computing sizes 2013-12-20 19:07:03 -08:00
exynos-cpufreq.h arm-soc: cleanups 2013-02-21 14:58:40 -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
exynos5440-cpufreq.c cpufreq: distinguish drivers that do asynchronous notifications 2013-12-20 19:07:19 -08:00
freq_table.c cpufreq: define generic .attr, .exit() and .verify() routines 2013-12-20 19:07:14 -08:00
gx-suspmod.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
highbank-cpufreq.c cpufreq: highbank-cpufreq: Enable Midway/ECX-2000 2013-12-04 10:57:18 -08:00
ia64-acpi-cpufreq.c cpufreq: move freq change notifications to cpufreq core 2013-12-20 19:07:19 -08:00
imx6q-cpufreq.c PM / OPP: rename header to linux/pm_opp.h 2013-12-20 19:07:11 -08:00
integrator-cpufreq.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00
intel_pstate.c This is the 3.10.67 stable release 2015-05-01 13:34:57 -07:00
kirkwood-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
longhaul.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
longhaul.h cpufreq: delete __cpuinit usage from all cpufreq files 2013-12-20 19:06:58 -08:00
longrun.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00
loongson2_cpufreq.c Merge upstream linux-stable v3.10.28 into msm-3.10 2014-03-24 14:28:34 -07:00
maple-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08: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 PM / OPP: rename header to linux/pm_opp.h 2013-12-20 19:07:11 -08:00
p4-clockmod.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
pcc-cpufreq.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00
powernow-k6.c Merge upstream tag 'v3.10.40' into msm-3.10 2014-06-18 13:10:54 -07:00
powernow-k7.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
powernow-k7.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
powernow-k8.c Merge upstream linux-stable v3.10.36 into msm-3.10 2014-04-23 16:23:49 -07: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.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08: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: rename index as driver_data in cpufreq_frequency_table 2013-12-20 19:06:56 -08:00
pxa3xx-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-12-20 19:06:56 -08:00
qcom-cpufreq.c qcom-cpufreq: Use CLKFLAG_NO_RATE_CACHE 2019-08-26 17:03:32 +02:00
s3c64xx-cpufreq.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
s3c2416-cpufreq.c This is the 3.10.108 stable release 2018-01-25 17:57:49 -07: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: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
sh-cpufreq.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00
sparc-us2e-cpufreq.c cpufreq: move freq change notifications to cpufreq core 2013-12-20 19:07:19 -08:00
sparc-us3-cpufreq.c cpufreq: move freq change notifications to cpufreq core 2013-12-20 19:07:19 -08:00
spear-cpufreq.c cpufreq: rename index as driver_data in cpufreq_frequency_table 2013-12-20 19:06:56 -08:00
speedstep-centrino.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
speedstep-ich.c cpufreq: Drop the owner field from struct cpufreq_driver 2013-12-20 19:07:04 -08:00
speedstep-lib.c cpufreq: speedstep-smi: enable interrupts when waiting 2015-03-06 14:40:48 -08:00
speedstep-lib.h [CPUFREQ] Move x86 drivers to drivers/cpufreq/ 2011-05-19 18:51:07 -04:00
speedstep-smi.c This is the 3.10.73 stable release 2015-05-01 13:49:45 -07:00
tegra-cpufreq.c cpufreq: tegra: Move driver to drivers/cpufreq 2013-04-08 13:02:30 +02:00
unicore2-cpufreq.c cpufreq: add new routine cpufreq_verify_within_cpu_limits() 2013-12-20 19:07:14 -08:00