/linux/drivers/cpufreq/ |
H A D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 7 tristate "Allwinner nvmem based SUN50I CPUFreq driver" 12 This adds the nvmem based CPUFreq driver for Allwinner 16 module will be called sun50i-cpufreq-nvmem. 19 tristate "Airoha EN7581 SoC CPUFreq support" 25 This adds the CPUFreq driver for Airoha EN7581 SoCs. 28 tristate "Apple Silicon SoC CPUFreq support" 32 This adds the CPUFreq driver for Apple Silicon machines 36 tristate "Armada 37xx CPUFreq support" 40 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs. [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 # CPUfreq core 3 obj-$(CONFIG_CPU_FREQ) += cpufreq.o freq_table.o 5 # CPUfreq stats 6 obj-$(CONFIG_CPU_FREQ_STAT) += cpufreq_stats.o 8 # CPUfreq governors 9 obj-$(CONFIG_CPU_FREQ_GOV_PERFORMANCE) += cpufreq_performance.o 10 obj-$(CONFIG_CPU_FREQ_GOV_POWERSAVE) += cpufreq_powersave.o 11 obj-$(CONFIG_CPU_FREQ_GOV_USERSPACE) += cpufreq_userspace.o 12 obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND) += cpufreq_ondemand.o [all …]
|
H A D | sun50i-cpufreq-nvmem.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Allwinner CPUFreq nvmem based driver 5 * The sun50i-cpufreq-nvmem driver reads the efuse value from the SoC to 13 #include <linux/arm-smccc.h> 16 #include <linux/nvmem-consumer.h> 42 * the slowest bin. Expected efuse values are 1-3, slowest in sun50i_h6_efuse_xlate() 46 return efuse_value - 1; in sun50i_h6_efuse_xlate() 79 * returned speedbin index is 4 -> 0/2 -> 3 -> 1, from worst to best. 118 pr_warn("sun50i-cpufreq-nvmem: unknown speed bin 0x%x, using default bin 0\n", in sun50i_h616_efuse_xlate() 140 { .compatible = "allwinner,sun50i-h6-operating-points", [all …]
|
H A D | tegra20-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Based on arch/arm/plat-omap/cpu-omap.c, (C) 2005 Nokia Corporation 28 if (of_property_present(np, "operating-points-v2")) in cpu0_node_has_opp_v2_prop() 53 dev_err(&pdev->dev, "operating points not found\n"); in tegra20_cpufreq_probe() 54 dev_err(&pdev->dev, "please update your device tree\n"); in tegra20_cpufreq_probe() 55 return -ENODEV; in tegra20_cpufreq_probe() 66 dev_info(&pdev->dev, "hardware version 0x%x 0x%x\n", in tegra20_cpufreq_probe() 71 return -ENODEV; in tegra20_cpufreq_probe() 75 dev_err(&pdev->dev, "failed to set supported hw: %d\n", err); in tegra20_cpufreq_probe() 79 err = devm_add_action_or_reset(&pdev->dev, in tegra20_cpufreq_probe() [all …]
|
H A D | sti-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Match running platform with pre-defined OPP values for CPUFreq 43 * struct sti_cpufreq_ddata - ST CPUFreq Driver Data 56 struct device_node *np = ddata.cpu->of_node; in sti_cpufreq_fetch_major() 83 struct device_node *np = dev->of_node; in sti_cpufreq_fetch_minor() 88 ret = of_property_read_u32_index(np, "st,syscfg-eng", in sti_cpufreq_fetch_minor() 154 struct device_node *np = dev->of_node; in sti_cpufreq_set_opp_info() 170 return -ENODEV; in sti_cpufreq_set_opp_info() 173 ret = of_property_read_u32_index(np, "st,syscfg-eng", in sti_cpufreq_set_opp_info() 176 dev_warn(dev, "Failed to read HW info offset from DT\n"); in sti_cpufreq_set_opp_info() [all …]
|
H A D | cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/drivers/cpufreq/cpufreq.c 6 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 9 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> 11 * Feb 2006 - Jacob Shin <jacob.shin@amd.com> 12 * Fix handling for CPU hotplug -- affected CPUs 18 #include <linux/cpufreq.h> 55 * The "cpufreq driver" - the arch- or hardware-dependent low 56 * level driver of CPUFreq support, and its spinlock. This lock 69 /* Flag to suspend/resume CPUFreq governors */ [all …]
|
/linux/Documentation/devicetree/bindings/cpufreq/ |
H A D | cpufreq-mediatek-hw.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/cpufreq/cpufreq-mediatek-hw.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: MediaTek's CPUFREQ 10 - Hector Yuan <hector.yuan@mediatek.com> 13 CPUFREQ HW is a hardware engine used by MediaTek SoCs to 19 const: mediatek,cpufreq-hw 25 Addresses and sizes for the memory of the HW bases in 29 "#performance-domain-cells": [all …]
|
H A D | cpufreq-st.txt | 1 Binding for ST's CPUFreq driver 4 ST's CPUFreq driver attempts to read 'process' and 'version' attributes 10 ---------------------- 16 - operating-points : [See: ../power/opp-v1.yaml] 19 -------------- 24 operating-points = <1500000 0 32 -------------------------------------------- 34 This requires the ST CPUFreq driver to supply 'process' and 'version' info. 38 - operating-points-v2 : [See ../power/opp-v2.yaml] 41 ---------------- [all …]
|
H A D | imx-cpufreq-dt.txt | 1 i.MX CPUFreq-DT OPP bindings 6 the opp-supported-hw values for each OPP to check if the OPP is allowed. 9 -------------------- 11 For each opp entry in 'operating-points-v2' table: 12 - opp-supported-hw: Two bitmaps indicating: 13 - Supported speed grade mask 14 - Supported market segment mask 21 -------- 24 compatible = "operating-points-v2"; 25 opp-1000000000 { [all …]
|
H A D | nvidia,tegra20-cpufreq.txt | 1 Binding for NVIDIA Tegra20 CPUFreq 5 - clocks: Must contain an entry for the CPU clock. 6 See ../clocks/clock-bindings.txt for details. 7 - operating-points-v2: See ../bindings/opp/opp-v2.yaml for details. 8 - #cooling-cells: Should be 2. See ../thermal/thermal-cooling-devices.yaml for details. 10 For each opp entry in 'operating-points-v2' table: 11 - opp-supported-hw: Two bitfields indicating: 23 - opp-microvolt: CPU voltage triplet. 26 - cpu-supply: Phandle to the CPU power supply. 31 regulator-name = "vdd_cpu"; [all …]
|
/linux/tools/power/cpupower/bench/ |
H A D | cpufreq-bench_script.sh | 2 # SPDX-License-Identifier: GPL-2.0-or-later 7 # Ondemand up_threshold and sampling rate test script for cpufreq-bench 16 # Depending on the kernel and the HW sampling rate could be restricted 24 local -i up_threshold_set 25 local -i sampling_rate_set 30 echo $up_threshold >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold 31 echo $sampling_rate >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate 32 up_threshold_set=$(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold) 33 sampling_rate_set=$(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate) 36 if [ ${up_threshold_set} -eq ${up_threshold} ];then [all …]
|
/linux/tools/power/cpupower/utils/idle_monitor/ |
H A D | mperf_monitor.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <cpufreq.h> 17 #include "idle_monitor/cpupower-monitor.h" 68 * 2) cpufreq /sys/devices/.../cpu0/cpufreq/cpuinfo_max_freq at init time 69 * 1. Is preferred as it also works without cpufreq subsystem (e.g. on Xen) 163 return -1; in mperf_get_count_percent() 166 return -1; in mperf_get_count_percent() 168 mperf_diff = mperf_current_count[cpu] - mperf_previous_count[cpu]; in mperf_get_count_percent() 169 aperf_diff = aperf_current_count[cpu] - aperf_previous_count[cpu]; in mperf_get_count_percent() 172 tsc_diff = tsc_at_measure_end[cpu] - tsc_at_measure_start[cpu]; in mperf_get_count_percent() [all …]
|
/linux/drivers/clk/bcm/ |
H A D | clk-raspberrypi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Even though clk-bcm2835 provides an interface to the hardware registers for 8 * over-temperature and under-voltage protections provided by the firmware. 14 #include <linux/clk-provider.h> 19 #include <soc/bcm2835/raspberrypi-firmware.h> 35 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb", 48 struct platform_device *cpufreq; member 52 struct clk_hw hw; member 61 const struct raspberrypi_clk_data *clk_hw_to_data(const struct clk_hw *hw) in clk_hw_to_data() argument 63 return container_of(hw, struct raspberrypi_clk_data, hw); in clk_hw_to_data() [all …]
|
/linux/drivers/clk/ |
H A D | clk-scpi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/clk-provider.h> 18 struct clk_hw hw; member 23 #define to_scpi_clk(clk) container_of(clk, struct scpi_clk, hw) 27 static unsigned long scpi_clk_recalc_rate(struct clk_hw *hw, in scpi_clk_recalc_rate() argument 30 struct scpi_clk *clk = to_scpi_clk(hw); in scpi_clk_recalc_rate() 32 return clk->scpi_ops->clk_get_val(clk->id); in scpi_clk_recalc_rate() 35 static long scpi_clk_round_rate(struct clk_hw *hw, unsigned long rate, in scpi_clk_round_rate() argument 47 static int scpi_clk_set_rate(struct clk_hw *hw, unsigned long rate, in scpi_clk_set_rate() argument 50 struct scpi_clk *clk = to_scpi_clk(hw); in scpi_clk_set_rate() [all …]
|
/linux/tools/power/cpupower/po/ |
H A D | de.po | 3 # Copyright (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.net> 8 "Project-Id-Version: cpufrequtils 006\n" 9 "Report-Msgid-Bugs-To: \n" 10 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 11 "PO-Revision-Date: 2019-06-02 15:23+0200\n" 12 "Last-Translator: Benjamin Weis <benjamin.weis@gmx.com>\n" 13 "Language-Team: NONE\n" 15 "MIME-Version: 1.0\n" 16 "Content-Type: text/plain; charset=UTF-8\n" 17 "Content-Transfer-Encoding: 8bit\n" [all …]
|
H A D | pt.po | 9 "Project-Id-Version: cpufrequtils 004\n" 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 12 "PO-Revision-Date: 2008-06-14 22:16-0400\n" 13 "Last-Translator: Claudio Eduardo <claudioeddy@gmail.com>\n" 14 "MIME-Version: 1.0\n" 15 "Content-Type: text/plain; charset=UTF-8\n" 16 "Content-Transfer-Encoding: 8bit\n" 70 #: utils/idle_monitor/cpupower-monitor.c:66 71 #, c-format [all …]
|
H A D | it.po | 2 # Copyright (C) 2004-2009 9 "Project-Id-Version: cpufrequtils 0.3\n" 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 12 "PO-Revision-Date: 2009-08-15 12:00+0900\n" 13 "Last-Translator: Mattia Dongili <malattia@gmail.com>\n" 14 "Language-Team: NONE\n" 16 "MIME-Version: 1.0\n" 17 "Content-Type: text/plain; charset=UTF-8\n" 18 "Content-Transfer-Encoding: 8bit\n" [all …]
|
H A D | cs.po | 10 "Project-Id-Version: cs\n" 11 "Report-Msgid-Bugs-To: \n" 12 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 13 "PO-Revision-Date: 2008-06-11 16:26+0200\n" 14 "Last-Translator: Karel Volný <kavol@seznam.cz>\n" 15 "Language-Team: Czech <diskuze@lists.l10n.cz>\n" 17 "MIME-Version: 1.0\n" 18 "Content-Type: text/plain; charset=UTF-8\n" 19 "Content-Transfer-Encoding: 8bit\n" 20 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" [all …]
|
H A D | fr.po | 9 "Project-Id-Version: cpufrequtils 0.1-pre2\n" 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 12 "PO-Revision-Date: 2004-11-17 15:53+1000\n" 13 "Last-Translator: Bruno Ducrot <ducrot@poupinou.org>\n" 14 "Language-Team: NONE\n" 16 "MIME-Version: 1.0\n" 17 "Content-Type: text/plain; charset=ISO-8859-1\n" 18 "Content-Transfer-Encoding: 8bit\n" 72 #: utils/idle_monitor/cpupower-monitor.c:66 [all …]
|
H A D | ka.po | 3 # Copyright (C) 2004-2022 Dominik Brodowski <linux@dominikbrodowski.net> 9 "Project-Id-Version: cpufrequtils 006\n" 10 "Report-Msgid-Bugs-To: \n" 11 "POT-Creation-Date: 2011-03-08 17:03+0100\n" 12 "PO-Revision-Date: 2022-09-18 22:12+0200\n" 13 "Last-Translator: Ekaterine Papava <katopapava@gmail.com>\n" 14 "Language-Team: NONE\n" 16 "MIME-Version: 1.0\n" 17 "Content-Type: text/plain; charset=UTF-8\n" 18 "Content-Transfer-Encoding: 8bit\n" [all …]
|
/linux/drivers/base/ |
H A D | arch_topology.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/cpufreq.h> 53 * either cpufreq or counter driven. If the support status changes as in update_scale_freq_invariant() 71 * supported by cpufreq. in topology_set_scale_freq_source() 82 if (!sfd || sfd->source != SCALE_FREQ_SOURCE_ARCH) { in topology_set_scale_freq_source() 105 if (sfd && sfd->source == source) { in topology_clear_scale_freq_source() 115 * use-after-free races. in topology_clear_scale_freq_source() 128 sfd->set_freq_scale(); in topology_scale_freq_tick() 145 * want to update the scale factor with information from CPUFREQ. in topology_set_freq_scale() 160 * topology_update_hw_pressure() - Update HW pressure for CPUs [all …]
|
/linux/Documentation/cpu-freq/ |
H A D | cpu-drivers.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 How to Implement a new CPUFreq Processor Driver 10 - Dominik Brodowski <linux@brodo.de> 11 - Rafael J. Wysocki <rafael.j.wysocki@intel.com> 12 - Viresh Kumar <viresh.kumar@linaro.org> 18 1.2 Per-CPU Initialization 31 So, you just got a brand-new CPU / chipset with datasheets and want to 32 add cpufreq support for this CPU / chipset? Great. Here are some hints 37 ------------------ 41 chipset. If so, register a struct cpufreq_driver with the CPUfreq core [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-system-cpu | 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 37 See Documentation/admin-guide/cputopology.rst for more information. 43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 58 Contact: Linux memory management mailing list <linux-mm@kvack.org> 67 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 77 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 89 core_siblings_list: human-readable list of the logical CPU 99 thread_siblings_list: human-readable list of cpuX's hardware [all …]
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_llc.c | 1 // SPDX-License-Identifier: MIT 7 #include <linux/cpufreq.h> 37 max_khz = policy->cpuinfo.max_freq; in cpu_max_MHz() 53 struct drm_i915_private *i915 = llc_to_gt(llc)->i915; in get_ia_constants() 54 struct intel_rps *rps = &llc_to_gt(llc)->rps; in get_ia_constants() 59 consts->max_ia_freq = cpu_max_MHz(); in get_ia_constants() 61 consts->min_ring_freq = in get_ia_constants() 62 intel_uncore_read(llc_to_gt(llc)->uncore, DCLK) & 0xf; in get_ia_constants() 64 consts->min_ring_freq = mult_frac(consts->min_ring_freq, 8, 3); in get_ia_constants() 66 consts->min_gpu_freq = intel_rps_get_min_raw_freq(rps); in get_ia_constants() [all …]
|
/linux/Documentation/admin-guide/pm/ |
H A D | cpufreq.rst | 1 .. SPDX-License-Identifier: GPL-2.0 20 Operating Performance Points or P-states (in ACPI terminology). As a rule, 24 time (or the more power is drawn) by the CPU in the given P-state. Therefore 29 as possible and then there is no reason to use any P-states different from the 30 highest one (i.e. the highest-performance frequency/voltage configuration 38 put into different P-states. 41 capacity, so as to decide which P-states to put the CPUs into. Of course, since 51 The Linux kernel supports CPU performance scaling by means of the ``CPUFreq`` 55 The ``CPUFreq`` core provides the common code infrastructure and user space 64 information on the available P-states (or P-state ranges in some cases) and [all …]
|