linux/drivers/cpufreq
Mario Limonciello (AMD) 85d7dda5a9 cpufreq/amd-pstate: Fix a regression leading to EPP 0 after hibernate
After resuming from S4, all CPUs except the boot CPU have the wrong EPP
hint programmed.  This is because when the CPUs were offlined the EPP value
was reset to 0.

This is a similar problem as fixed by
commit ba3319e590 ("cpufreq/amd-pstate: Fix a regression leading to EPP
0 after resume") and the solution is also similar.  When offlining rather
than reset the values to zero, reset them to match those chosen by the
policy. When the CPUs are onlined again these values will be restored.

Closes: https://community.frame.work/t/increased-power-usage-after-resuming-from-suspend-on-ryzen-7040-kernel-6-15-regression/74531/20?u=mario_limonciello
Fixes: 608a76b652 ("cpufreq/amd-pstate: Add support for the "Requested CPU Min frequency" BIOS option")
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-10-15 08:21:16 -05:00
..
Kconfig
Kconfig.arm
Kconfig.powerpc
Kconfig.x86
Makefile
acpi-cpufreq.c cpufreq: ACPI: Use on_each_cpu_mask() in drv_write() 2025-09-15 21:43:31 +02:00
airoha-cpufreq.c cpufreq: airoha: Add support for AN7583 SoC 2025-08-11 12:19:20 +05:30
amd-pstate-trace.c
amd-pstate-trace.h
amd-pstate-ut.c
amd-pstate.c cpufreq/amd-pstate: Fix a regression leading to EPP 0 after hibernate 2025-10-15 08:21:16 -05:00
amd-pstate.h
amd_freq_sensitivity.c
apple-soc-cpufreq.c
armada-8k-cpufreq.c
armada-37xx-cpufreq.c cpufreq: armada-37xx: use max() to calculate target_vm 2025-08-11 12:19:29 +05:30
bmips-cpufreq.c
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs: Use scope-based cleanup helper 2025-08-29 11:28:27 +05:30
cppc_cpufreq.c ACPI: CPPC: Do not use CPUFREQ_ETERNAL as an error value 2025-10-01 13:57:13 +02:00
cpufreq-dt-platdev.c cpufreq: dt-platdev: Blacklist ti,am62d2 SoC 2025-08-20 14:06:06 +05:30
cpufreq-dt.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
cpufreq-dt.h
cpufreq-nforce2.c
cpufreq.c Merge back earlier cpufreq material for 6.18 2025-09-24 21:32:28 +02:00
cpufreq_conservative.c cpufreq: conservative: Replace sscanf() with kstrtouint() 2025-09-10 12:20:10 +02:00
cpufreq_governor.c
cpufreq_governor.h
cpufreq_governor_attr_set.c
cpufreq_ondemand.c cpufreq: ondemand: Update the efficient idle check for Intel extended Families 2025-09-10 12:25:08 +02:00
cpufreq_ondemand.h cpufreq: ondemand: Update the efficient idle check for Intel extended Families 2025-09-10 12:25:08 +02:00
cpufreq_performance.c
cpufreq_powersave.c
cpufreq_stats.c
cpufreq_userspace.c
davinci-cpufreq.c
e_powersaver.c
elanfreq.c
freq_table.c cpufreq: Replace pointer subtraction with iteration macro 2025-09-23 17:16:56 +02:00
gx-suspmod.c
highbank-cpufreq.c
imx-cpufreq-dt.c
imx6q-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
intel_pstate.c Merge back earlier cpufreq material for 6.18 2025-09-24 21:32:28 +02:00
kirkwood-cpufreq.c
longhaul.c cpufreq/longhaul: handle NULL policy in longhaul_exit 2025-09-01 10:50:28 +05:30
longhaul.h
longrun.c
loongson2_cpufreq.c
loongson3_cpufreq.c
mediatek-cpufreq-hw.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
mediatek-cpufreq.c cpufreq: mediatek: fix device leak on probe failure 2025-09-29 14:40:46 +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
powernv-trace.h
pxa2xx-cpufreq.c
pxa3xx-cpufreq.c
qcom-cpufreq-hw.c
qcom-cpufreq-nvmem.c cpufreq: qcom-nvmem: Enable cpufreq for ipq5424 2025-08-11 12:30:46 +05:30
qoriq-cpufreq.c
raspberrypi-cpufreq.c
rcpufreq_dt.rs CPUFreq fixes for 6.18 2025-10-01 13:59:28 +02:00
s3c64xx-cpufreq.c
s5pv210-cpufreq.c cpufreq: s5pv210: Use scope-based cleanup helper 2025-08-29 11:42:24 +05:30
sa1110-cpufreq.c
sc520_freq.c
scmi-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
scpi-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
sh-cpufreq.c cpufreq: Drop redundant freq_table parameter 2025-09-05 20:16:55 +02:00
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency 2025-10-01 13:56:24 +02:00
speedstep-centrino.c
speedstep-ich.c
speedstep-lib.c cpufreq: speedstep-lib: Use int type to store negative error codes 2025-09-05 20:28:46 +02:00
speedstep-lib.h cpufreq: speedstep-lib: Use int type to store negative error codes 2025-09-05 20:28:46 +02:00
speedstep-smi.c
sti-cpufreq.c
sun50i-cpufreq-nvmem.c
tegra20-cpufreq.c
tegra124-cpufreq.c
tegra186-cpufreq.c cpufreq: tegra186: Initialize all cores to max frequencies 2025-09-29 14:55:50 +05:30
tegra194-cpufreq.c
ti-cpufreq.c cpufreq: ti: Allow all silicon revisions to support OPPs 2025-08-22 12:24:13 +05:30
vexpress-spc-cpufreq.c
virtual-cpufreq.c cpufreq: Drop redundant freq_table parameter 2025-09-05 20:16:55 +02:00