linux/drivers/cpufreq
Srinivas Pandruvada 3d13058ed2 cpufreq: intel_pstate: Use firmware default EPP
For some specific platforms (E.g. AlderLake) the balance performance
EPP is updated from the hard coded value in the driver. This acts as
the default and balance_performance EPP. The purpose of this EPP
update is to reach maximum 1 core turbo frequency (when possible) out
of the box.

Although we can achieve the objective by using hard coded value in the
driver, there can be other EPP which can be better in terms of power.
But that will be very subjective based on platform and use cases.
This is not practical to have a per platform specific default hard coded
in the driver.

If a platform wants to specify default EPP, it can be set in the firmware.
If this EPP is not the chipset default of 0x80 (balance_perf_epp unless
driver changed it) and more performance oriented but not 0, the driver
can use this as the default and balanced_perf EPP. In this case no driver
update is required every time there is some new platform and default EPP.

If the firmware didn't update the EPP from the chipset default then
the hard coded value is used as per existing implementation.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2022-03-16 19:14:55 +01:00
..
acpi-cpufreq.c cpufreq: Introducing CPUFREQ_RELATION_E 2021-10-05 16:33:05 +02:00
amd_freq_sensitivity.c cpufreq: Introducing CPUFREQ_RELATION_E 2021-10-05 16:33:05 +02:00
amd-pstate-trace.c cpufreq: amd-pstate: Add trace for AMD P-State module 2021-12-30 18:51:39 +01:00
amd-pstate-trace.h cpufreq: amd-pstate: Add trace for AMD P-State module 2021-12-30 18:51:39 +01:00
amd-pstate.c cpufreq: amd-pstate: Fix struct amd_cpudata kernel-doc comment 2022-01-06 18:28:26 +01:00
armada-8k-cpufreq.c cpufreq: ap806: Add missing MODULE_DEVICE_TABLE 2020-12-07 13:02:37 +05:30
armada-37xx-cpufreq.c cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant 2021-08-09 09:31:22 +05:30
bmips-cpufreq.c
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() 2021-01-18 12:23:43 +05:30
cppc_cpufreq.c cpufreq: remove useless INIT_LIST_HEAD() 2021-10-04 12:27:44 +05:30
cpufreq_conservative.c cpufreq: unify show() and store() naming and use __ATTR_XX 2022-03-10 19:55:05 +01:00
cpufreq_governor_attr_set.c cpufreq: Move to_gov_attr_set() to cpufreq.h 2022-02-04 19:22:34 +01:00
cpufreq_governor.c cpufreq: unify show() and store() naming and use __ATTR_XX 2022-03-10 19:55:05 +01:00
cpufreq_governor.h cpufreq: unify show() and store() naming and use __ATTR_XX 2022-03-10 19:55:05 +01:00
cpufreq_ondemand.c cpufreq: unify show() and store() naming and use __ATTR_XX 2022-03-10 19:55:05 +01:00
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: Clean up local variable in cpufreq_stats_create_table() 2021-06-07 13:47:57 +02:00
cpufreq_userspace.c cpufreq: Register governors at core_initcall 2020-07-02 13:03:30 +02:00
cpufreq-dt-platdev.c cpufreq: blocklist more Qualcomm platforms in cpufreq-dt-platdev 2021-08-30 10:43:35 +05:30
cpufreq-dt.c cpufreq: dt: Use .register_em() to register with energy model 2021-08-12 09:54:07 +05:30
cpufreq-dt.h cpufreq: dt: Allow platform specific intermediate callbacks 2020-03-12 15:43:52 +05:30
cpufreq-nforce2.c
cpufreq.c cpufreq: Reintroduce ready() callback 2022-02-09 13:18:49 +05:30
davinci-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
e_powersaver.c cpufreq: e_powersaver: remove unreachable break 2020-10-27 18:42:54 +01:00
elanfreq.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
freq_table.c cpufreq: Fix scaling_{available,boost}_frequencies_show() comments 2021-03-26 17:43:48 +01:00
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 ia64: fix format string for ia64-acpi-cpu-freq 2021-03-19 17:26:20 +01:00
imx6q-cpufreq.c cpufreq: imx6q: Use .register_em() to register with energy model 2021-08-12 09:54:07 +05:30
imx-cpufreq-dt.c cpufreq: imx-cpufreq-dt: support i.MX7ULP 2020-04-28 14:26:20 +05:30
intel_pstate.c cpufreq: intel_pstate: Use firmware default EPP 2022-03-16 19:14:55 +01:00
Kconfig cpufreq: Kconfig: fix documentation links 2021-04-21 19:00:42 +02:00
Kconfig.arm cpufreq: mediatek-hw: Add support for CPUFREQ HW 2021-09-06 15:15:19 +05:30
Kconfig.powerpc
Kconfig.x86 cpufreq: amd-pstate: Fix Kconfig dependencies for AMD P-State 2022-01-06 18:31:33 +01:00
kirkwood-cpufreq.c
longhaul.c cpufreq: longhaul: Replace acpi_bus_get_device() 2022-02-04 19:31:49 +01:00
longhaul.h
longrun.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
loongson1-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
loongson2_cpufreq.c cpufreq: loongson2: Remove unused linux/sched.h headers 2021-06-07 17:43:52 +02:00
Makefile cpufreq: amd-pstate: Add trace for AMD P-State module 2021-12-30 18:51:39 +01:00
maple-cpufreq.c
mediatek-cpufreq-hw.c cpufreq: mediatek-hw: Fix double devm_remap in hotplug case 2021-12-27 09:44:53 +05:30
mediatek-cpufreq.c cpufreq: mediatek: Use .register_em() to register with energy model 2021-08-12 09:54:07 +05:30
mvebu-cpufreq.c
omap-cpufreq.c cpufreq: omap: Use .register_em() to register with energy model 2021-08-12 09:54:07 +05:30
p4-clockmod.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pasemi-cpufreq.c cpufreq: pasemi: Include header file for {check,restore}_astate prototypes 2020-07-15 15:17:06 +02:00
pcc-cpufreq.c cpufreq: pcc-cpufreq: Mark sometimes used ID structs as __maybe_unused 2020-07-15 15:17:06 +02:00
pmac32-cpufreq.c cpufreq: Remove unused flag CPUFREQ_PM_NO_WARN 2021-02-04 19:25:47 +01:00
pmac64-cpufreq.c
powernow-k6.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
powernow-k7.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
powernow-k7.h
powernow-k8.c cpufreq: Replace deprecated CPU-hotplug functions 2021-08-04 20:16:32 +02:00
powernow-k8.h
powernv-cpufreq.c cpufreq: Introducing CPUFREQ_RELATION_E 2021-10-05 16:33:05 +02:00
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h
pxa2xx-cpufreq.c
pxa3xx-cpufreq.c
qcom-cpufreq-hw.c cpufreq: qcom-hw: Delay enabling throttle_irq 2022-02-09 13:18:49 +05:30
qcom-cpufreq-nvmem.c Merge branch 'pm-cpufreq' 2020-12-15 15:24:52 +01:00
qoriq-cpufreq.c cpufreq: qoriq: convert to a platform driver 2020-05-07 10:47:27 +05:30
raspberrypi-cpufreq.c
s3c24xx-cpufreq-debugfs.c ARM: s3c: remove cpufreq header dependencies 2020-08-20 17:52:05 +02:00
s3c24xx-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
s3c64xx-cpufreq.c
s3c2410-cpufreq.c cpufreq: s3c24xx: move low-level clk reg access into platform code 2020-08-20 17:53:22 +02:00
s3c2412-cpufreq.c cpufreq: s3c24xx: move low-level clk reg access into platform code 2020-08-20 17:53:22 +02:00
s3c2416-cpufreq.c
s3c2440-cpufreq.c cpufreq: s3c244x: add fallthrough comments for switch 2021-10-04 11:43:14 +05:30
s5pv210-cpufreq.c cpufreq: Introducing CPUFREQ_RELATION_E 2021-10-05 16:33:05 +02:00
sa1100-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
sa1110-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
sc520_freq.c cpufreq: sc520_freq: add 'fallthrough' to one case 2021-05-21 18:52:13 +02:00
scmi-cpufreq.c cpufreq: scmi: Use .register_em() to register with energy model 2021-08-30 10:43:00 +05:30
scpi-cpufreq.c cpufreq: scpi: Use .register_em() to register with energy model 2021-08-30 10:42:45 +05:30
sh-cpufreq.c cpufreq: sh: Remove sh_cpufreq_cpu_ready() 2021-09-02 18:04:17 +02:00
sparc-us2e-cpufreq.c
sparc-us3-cpufreq.c
spear-cpufreq.c cpufreq: Remove CPUFREQ_STICKY flag 2021-02-04 19:23:20 +01:00
speedstep-centrino.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
speedstep-ich.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
speedstep-lib.c cpufreq: speedstep: remove unneeded semicolon 2020-10-28 18:04:07 +01:00
speedstep-lib.h
speedstep-smi.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
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
tegra20-cpufreq.c cpufreq: tegra20: Use resource-managed API 2021-01-18 12:02:53 +05:30
tegra124-cpufreq.c
tegra186-cpufreq.c cpufreq: tegra186/tegra194: Handle errors in BPMP response 2021-10-04 12:31:36 +05:30
tegra194-cpufreq.c cpufreq: tegra186/tegra194: Handle errors in BPMP response 2021-10-04 12:31:36 +05:30
ti-cpufreq.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
vexpress-spc-cpufreq.c cpufreq: vexpress: Drop unused variable 2021-10-04 11:25:21 +05:30