linux/drivers/cpufreq
Rafael J. Wysocki be1283454b cpufreq: intel_pstate: Fix fast-switch fallback path
When sugov_update_single_perf() falls back to the "frequency"
path due to the missing scale-invariance, it will call
cpufreq_driver_fast_switch() via sugov_fast_switch()
and the driver's ->fast_switch() callback will be invoked,
so it must not be NULL.

However, after commit a365ab6b9d ("cpufreq: intel_pstate: Implement
the ->adjust_perf() callback") intel_pstate sets ->fast_switch() to
NULL when it is going to use intel_cpufreq_adjust_perf(), which is a
mistake, because on x86 the scale-invariance may be turned off
dynamically, so modify it to retain the original ->adjust_perf()
callback pointer.

Fixes: a365ab6b9d ("cpufreq: intel_pstate: Implement the ->adjust_perf() callback")
Reported-by: Kenneth R. Crudup <kenny@panix.com>
Tested-by: Kenneth R. Crudup <kenny@panix.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-12-30 18:22:17 +01:00
..
Kconfig cpufreq: Avoid configuring old governors as default with intel_pstate 2020-10-27 18:45:34 +01:00
Kconfig.arm cpufreq: imx: fix NVMEM_IMX_OCOTP dependency 2020-12-07 13:02:38 +05:30
Kconfig.powerpc
Kconfig.x86
Makefile
acpi-cpufreq.c acpi-cpufreq: Honor _PSD table setting on new AMD CPUs 2020-10-19 17:28:43 +02:00
amd_freq_sensitivity.c
armada-8k-cpufreq.c cpufreq: ap806: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
armada-37xx-cpufreq.c
bmips-cpufreq.c
brcmstb-avs-cpufreq.c
cppc_cpufreq.c cppc_cpufreq: replace per-cpu data array with a list 2020-12-15 19:19:32 +01:00
cpufreq-dt-platdev.c cpufreq: blacklist mt8516 in cpufreq-dt-platdev 2020-12-07 13:02:37 +05:30
cpufreq-dt.c cpufreq: dt: dev_pm_opp_put_regulators() accepts NULL argument 2020-12-09 11:21:11 +05:30
cpufreq-dt.h
cpufreq-nforce2.c
cpufreq.c cpufreq: Add special-purpose fast-switching callback for drivers 2020-12-15 19:24:18 +01:00
cpufreq_conservative.c
cpufreq_governor.c
cpufreq_governor.h cpufreq: Introduce governor flags 2020-11-10 18:31:17 +01:00
cpufreq_governor_attr_set.c
cpufreq_ondemand.c
cpufreq_ondemand.h
cpufreq_performance.c cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET 2020-11-10 18:31:17 +01:00
cpufreq_powersave.c cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET 2020-11-10 18:31:17 +01:00
cpufreq_stats.c cpufreq: stats: Use local_clock() instead of jiffies 2020-12-11 19:53:58 +01:00
cpufreq_userspace.c
davinci-cpufreq.c
e_powersaver.c cpufreq: e_powersaver: remove unreachable break 2020-10-27 18:42:54 +01:00
elanfreq.c
freq_table.c
gx-suspmod.c
highbank-cpufreq.c cpufreq: highbank: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
ia64-acpi-cpufreq.c
imx-cpufreq-dt.c
imx6q-cpufreq.c
intel_pstate.c cpufreq: intel_pstate: Fix fast-switch fallback path 2020-12-30 18:22:17 +01:00
kirkwood-cpufreq.c
longhaul.c cpufreq: e_powersaver: remove unreachable break 2020-10-27 18:42:54 +01:00
longhaul.h
longrun.c
loongson1-cpufreq.c cpufreq: loongson1: Add missing MODULE_ALIAS 2020-12-07 13:02:37 +05:30
loongson2_cpufreq.c
maple-cpufreq.c
mediatek-cpufreq.c cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
mvebu-cpufreq.c
omap-cpufreq.c
p4-clockmod.c
pasemi-cpufreq.c
pcc-cpufreq.c
pmac32-cpufreq.c
pmac64-cpufreq.c
powernow-k6.c
powernow-k7.c
powernow-k7.h
powernow-k8.c
powernow-k8.h
powernv-cpufreq.c
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
pxa2xx-cpufreq.c
pxa3xx-cpufreq.c
qcom-cpufreq-hw.c
qcom-cpufreq-nvmem.c Merge branch 'pm-cpufreq' 2020-12-15 15:24:52 +01:00
qoriq-cpufreq.c
raspberrypi-cpufreq.c
s3c24xx-cpufreq-debugfs.c
s3c24xx-cpufreq.c
s3c64xx-cpufreq.c
s3c2410-cpufreq.c
s3c2412-cpufreq.c
s3c2416-cpufreq.c
s3c2440-cpufreq.c
s5pv210-cpufreq.c
sa1100-cpufreq.c
sa1110-cpufreq.c
sc520_freq.c
scmi-cpufreq.c Merge branch 'cpufreq/scmi' into cpufreq/arm/linux-next 2020-12-08 11:22:17 +05:30
scpi-cpufreq.c cpufreq: scpi: Add missing MODULE_ALIAS 2020-12-07 13:02:37 +05:30
sfi-cpufreq.c
sh-cpufreq.c
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c
speedstep-centrino.c
speedstep-ich.c
speedstep-lib.c cpufreq: speedstep: remove unneeded semicolon 2020-10-28 18:04:07 +01:00
speedstep-lib.h
speedstep-smi.c
sti-cpufreq.c cpufreq: st: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
sun50i-cpufreq-nvmem.c cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
tango-cpufreq.c
tegra20-cpufreq.c
tegra124-cpufreq.c
tegra186-cpufreq.c cpufreq: tegra186: Simplify cluster information lookup 2020-12-07 13:02:44 +05:30
tegra194-cpufreq.c cpufreq: tegra194: Rename tegra194_get_speed_common function 2020-12-07 13:02:44 +05:30
ti-cpufreq.c
vexpress-spc-cpufreq.c cpufreq: vexpress-spc: Add missing MODULE_ALIAS 2020-12-07 13:02:38 +05:30