linux/drivers/cpufreq
Mario Limonciello 279f838a61 x86/amd: Detect preferred cores in amd_get_boost_ratio_numerator()
AMD systems that support preferred cores will use "166" as their
numerator for max frequency calculations instead of "255".

Add a function for detecting preferred cores by looking at the
highest perf value on all cores.

If preferred cores are enabled return 166 and if disabled the
value in the highest perf register. As the function will be called
multiple times, cache the values for the boost numerator and if
preferred cores will be enabled in global variables.

Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
2024-09-11 10:23:23 -05:00
..
acpi-cpufreq.c x86/amd: Rename amd_get_highest_perf() to amd_get_boost_ratio_numerator() 2024-09-11 10:23:22 -05:00
amd_freq_sensitivity.c cpufreq: amd_freq_sensitivity: Add missing pci_dev_put() 2022-11-30 19:50:04 +01: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 more tracepoint for AMD P-State module 2022-03-09 19:53:01 +01:00
amd-pstate-ut.c cpufreq/amd-pstate-ut: Convert nominal_freq to khz during comparisons 2024-07-07 10:32:31 -05:00
amd-pstate.c x86/amd: Detect preferred cores in amd_get_boost_ratio_numerator() 2024-09-11 10:23:23 -05:00
amd-pstate.h cpufreq: amd-pstate: initialize core precision boost state 2024-06-26 15:48:21 -05:00
apple-soc-cpufreq.c cpufreq: Fix warning on unused of_device_id tables for !CONFIG_OF 2024-09-04 20:43:59 +05:30
armada-8k-cpufreq.c cpufreq: armada-8k: Avoid excessive stack usage 2024-08-07 12:11:46 +05:30
armada-37xx-cpufreq.c cpufreq: Explicitly include correct DT includes 2023-07-20 16:01:57 +05:30
bmips-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs-cpufreq: ISO C90 forbids mixed declarations 2024-04-25 10:36:40 +05:30
cppc_cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
cpufreq_conservative.c cpufreq: conservative: Simplify the condition of storing 'down_threshold' 2023-10-06 21:55:13 +02: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: governor: Free dbs_data directly when gov->init() fails 2023-08-29 20:21:35 +02:00
cpufreq_governor.h cpufreq: governor: Use kobject release() method to free dbs_data 2022-04-13 15:22:41 +02:00
cpufreq_ondemand.c cpufreq: Remove references to 10ms min sampling rate 2024-02-24 15:02:33 +01:00
cpufreq_ondemand.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
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: Fix buffer overflow detection in trans_stats() 2023-10-24 22:02:06 +02:00
cpufreq_userspace.c cpufreq: userspace: Move is_managed indicator into per-policy structure 2023-10-06 22:01:26 +02:00
cpufreq-dt-platdev.c cpufreq: Add SM7325 to cpufreq-dt-platdev blocklist 2024-09-04 20:43:59 +05:30
cpufreq-dt.c cpufreq: Use of_property_present() 2024-08-07 12:11:45 +05:30
cpufreq-dt.h cpufreq: dt: Allow platform specific intermediate callbacks 2020-03-12 15:43:52 +05:30
cpufreq-nforce2.c cpufreq: nforce2: Remove empty exit() callback 2024-07-05 11:41:30 +05:30
cpufreq.c Merge back cpufreq material for 6.11. 2024-07-10 13:03:11 +02:00
davinci-cpufreq.c cpufreq: davinci: Convert to platform remove callback returning void 2023-07-20 16:02:13 +05:30
e_powersaver.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
elanfreq.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
freq_table.c cpufreq: Fix up printing large CPU numbers and frequency values 2024-04-30 12:55:01 +02:00
gx-suspmod.c cpufreq: Avoid creating excessively large stack frames 2020-01-27 10:33:33 +01:00
highbank-cpufreq.c cpufreq: Add __init annotation to module init funcs 2022-09-26 11:15:04 +05:30
imx6q-cpufreq.c cpufreq: imx6: use regmap to read ocotp register 2024-01-23 11:36:21 +05:30
imx-cpufreq-dt.c cpufreq: imx-cpufreq-dt: Convert to platform remove callback returning void 2023-07-20 16:02:13 +05:30
intel_pstate.c ARM cpufreq updates for 6.11 2024-07-09 17:58:20 +02:00
Kconfig cpufreq: Drop CONFIG_ARM and CONFIG_ARM64 dependency on Arm drivers 2024-09-04 20:43:58 +05:30
Kconfig.arm cpufreq: Enable COMPILE_TEST on Arm drivers 2024-09-04 20:43:58 +05:30
Kconfig.powerpc cpufreq: Fix Kconfig indentation 2019-11-29 11:52:02 +01:00
Kconfig.x86 cpufreq: amd-pstate: Make amd-pstate unit tests depend on amd-pstate 2024-06-24 13:17:56 -05:00
kirkwood-cpufreq.c cpufreq: kirkwood: Convert to platform remove callback returning void 2023-07-20 16:02:13 +05:30
longhaul.c cpufreq: longhaul: Fix kernel-doc param for longhaul_setstate 2024-05-28 12:20:13 +05:30
longhaul.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
longrun.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
loongson2_cpufreq.c cpufreq: loongson2: Remove empty exit() callback 2024-07-05 11:41:46 +05:30
loongson3_cpufreq.c cpufreq: loongson3: Use raw_smp_processor_id() in do_service_request() 2024-09-04 20:43:59 +05:30
Makefile cpufreq: Add Loongson-3 CPUFreq driver support 2024-07-09 08:45:43 +05:30
maple-cpufreq.c cpufreq: Adjust includes to remove of_device.h 2023-04-13 17:46:35 -05:00
mediatek-cpufreq-hw.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
mediatek-cpufreq.c cpufreq: Fix warning on unused of_device_id tables for !CONFIG_OF 2024-09-04 20:43:59 +05:30
mvebu-cpufreq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_56.RULE (part 2) 2022-06-10 14:51:35 +02:00
omap-cpufreq.c cpufreq: omap: Drop asm includes 2024-08-07 12:11:46 +05:30
p4-clockmod.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pasemi-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
pcc-cpufreq.c cpufreq: pcc: Remove empty exit() callback 2024-07-05 11:42:00 +05:30
pmac32-cpufreq.c powerpc: rename SPRN_HID2 define to SPRN_HID2_750FX 2024-05-08 00:25:00 +10:00
pmac64-cpufreq.c cpufreq: Use of_property_present() 2024-08-07 12:11:45 +05:30
powernow-k6.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
powernow-k7.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
powernow-k7.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
powernow-k8.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
powernow-k8.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 347 2019-06-05 17:37:08 +02:00
powernv-cpufreq.c cpufreq: Fix the cacography in powernv-cpufreq.c 2024-09-04 20:43:59 +05:30
ppc_cbe_cpufreq_pervasive.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
ppc_cbe_cpufreq_pmi.c cpufreq: Explicitly include correct DT includes 2023-07-20 16:01:57 +05:30
ppc_cbe_cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
ppc_cbe_cpufreq.h cpufreq: powerpc_cbe: Switch to QoS requests for freq limits 2019-08-26 10:02:01 +02:00
pxa2xx-cpufreq.c cpufreq: pxa3: move clk register access to clk driver 2022-05-07 22:55:49 +02:00
pxa3xx-cpufreq.c cpufreq: pxa3: move clk register access to clk driver 2022-05-07 22:55:49 +02:00
qcom-cpufreq-hw.c cpufreq: qcom: Add explicit io.h include for readl/writel_relaxed 2024-08-07 12:11:46 +05:30
qcom-cpufreq-nvmem.c cpufreq: Fix warning on unused of_device_id tables for !CONFIG_OF 2024-09-04 20:43:59 +05:30
qoriq-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
raspberrypi-cpufreq.c cpufreq: raspberrypi: Convert to platform remove callback returning void 2023-07-20 16:02:13 +05:30
s3c64xx-cpufreq.c cpufreq: s3c64xx: Remove pointless NULL check in s3c64xx_cpufreq_driver_init 2019-10-23 08:53:23 +05:30
s5pv210-cpufreq.c cpufreq: Introducing CPUFREQ_RELATION_E 2021-10-05 16:33:05 +02:00
sa1110-cpufreq.c ARM: sa1100: remove unused board files 2023-01-12 10:53:12 +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: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
scpi-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
sh-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
sparc-us2e-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
sparc-us3-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
spear-cpufreq.c cpufreq: spear: Use of_property_for_each_u32() instead of open coding 2024-08-07 12:11:45 +05:30
speedstep-centrino.c ARM cpufreq updates for 6.11 2024-07-09 17:58:20 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
speedstep-smi.c cpufreq: Convert to new X86 CPU match macros 2020-03-24 21:31:27 +01:00
sti-cpufreq.c cpufreq: Use of_property_present() 2024-08-07 12:11:45 +05:30
sun50i-cpufreq-nvmem.c cpufreq: Use of_property_present() 2024-08-07 12:11:45 +05:30
tegra20-cpufreq.c Devicetree updates for v6.4, part 2: 2023-04-27 10:09:05 -07:00
tegra124-cpufreq.c cpupfreq: tegra124: eliminate uses of of_node_put() 2024-04-19 11:55:44 +05:30
tegra186-cpufreq.c cpufreq: tegra186: Convert to platform remove callback returning void 2023-07-20 16:02:13 +05:30
tegra194-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30
ti-cpufreq.c cpufreq: ti-cpufreq: Use socinfo to get revision in AM62 family 2024-09-04 20:43:59 +05:30
vexpress-spc-cpufreq.c cpufreq: Make cpufreq_driver->exit() return void 2024-07-09 08:45:30 +05:30