| /kernel/linux/linux-6.6/drivers/cpufreq/ |
| D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 7 tristate "CPUFreq driver based on the ACPI CPPC spec" 11 This adds a CPUFreq driver which uses CPPC methods 23 bool "Frequency Invariance support for CPPC cpufreq driver" 27 This extends frequency invariance support in the CPPC cpufreq driver, 33 tristate "Allwinner nvmem based SUN50I CPUFreq driver" 38 This adds the nvmem based CPUFreq driver for Allwinner 42 module will be called sun50i-cpufreq-nvmem. 45 tristate "Apple Silicon SoC CPUFreq support" 50 This adds the CPUFreq driver for Apple Silicon machines [all …]
|
| 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 …]
|
| D | mediatek-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/cpufreq.h> 63 policy = cpufreq_cpu_get_raw(cpu_dev->id); in mtk_cpufreq_get_cpu_power() 65 return -EINVAL; in mtk_cpufreq_get_cpu_power() 67 data = policy->driver_data; in mtk_cpufreq_get_cpu_power() 69 for (i = 0; i < data->nr_opp; i++) { in mtk_cpufreq_get_cpu_power() 70 if (data->table[i].frequency < *KHz) in mtk_cpufreq_get_cpu_power() 73 i--; in mtk_cpufreq_get_cpu_power() 75 *KHz = data->table[i].frequency; in mtk_cpufreq_get_cpu_power() 76 /* Provide micro-Watts value to the Energy Model */ in mtk_cpufreq_get_cpu_power() [all …]
|
| D | qcom-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/clk-provider.h> 8 #include <linux/cpufreq.h> 49 * Mutex to synchronize between de-init sequence and re-starting LMh 79 dev = get_cpu_device(policy->cpu); in qcom_cpufreq_set_bw() 81 return -ENODEV; in qcom_cpufreq_set_bw() 115 struct qcom_cpufreq_data *data = policy->driver_data; in qcom_cpufreq_hw_target_index() 117 unsigned long freq = policy->freq_table[index].frequency; in qcom_cpufreq_hw_target_index() 120 writel_relaxed(index, data->base + soc_data->reg_perf_state); in qcom_cpufreq_hw_target_index() 122 if (data->per_core_dcvs) in qcom_cpufreq_hw_target_index() [all …]
|
| D | imx-cpufreq-dt.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/cpufreq.h> 13 #include <linux/nvmem-consumer.h> 20 #include "cpufreq-dt.h" 32 /* cpufreq-dt device registered by imx-cpufreq-dt */ 64 unsigned int newfreq = policy->freq_table[index].frequency; in imx7ulp_target_intermediate() 92 if (!of_property_present(cpu_dev->of_node, "cpu-supply")) in imx_cpufreq_dt_probe() 93 return -ENODEV; in imx_cpufreq_dt_probe() 101 dt_pdev = platform_device_register_data(NULL, "cpufreq-dt", in imx_cpufreq_dt_probe() 102 -1, &imx7ulp_data, in imx_cpufreq_dt_probe() [all …]
|
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/cpufreq/ |
| D | cpufreq-qcom-hw.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/cpufreq/cpufreq-qcom-hw.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Technologies, Inc. CPUFREQ 10 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 14 CPUFREQ HW is a hardware engine used by some Qualcomm Technologies, Inc. (QTI) 21 - description: v1 of CPUFREQ HW 23 - enum: 24 - qcom,qcm2290-cpufreq-hw [all …]
|
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/cpufreq/ |
| D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 7 tristate "CPUFreq driver based on the ACPI CPPC spec" 11 This adds a CPUFreq driver which uses CPPC methods 23 tristate "Allwinner nvmem based SUN50I CPUFreq driver" 28 This adds the nvmem based CPUFreq driver for Allwinner 32 module will be called sun50i-cpufreq-nvmem. 35 tristate "Armada 37xx CPUFreq support" 38 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs. 42 tristate "Armada 8K CPUFreq driver" 46 This enables the CPUFreq driver support for Marvell [all …]
|
| D | qcom-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/cpufreq.h> 50 dev = get_cpu_device(policy->cpu); in qcom_cpufreq_set_bw() 52 return -ENODEV; in qcom_cpufreq_set_bw() 86 struct qcom_cpufreq_data *data = policy->driver_data; in qcom_cpufreq_hw_target_index() 87 const struct qcom_cpufreq_soc_data *soc_data = data->soc_data; in qcom_cpufreq_hw_target_index() 88 unsigned long freq = policy->freq_table[index].frequency; in qcom_cpufreq_hw_target_index() 90 writel_relaxed(index, data->base + soc_data->reg_perf_state); in qcom_cpufreq_hw_target_index() 109 data = policy->driver_data; in qcom_cpufreq_hw_get() 110 soc_data = data->soc_data; in qcom_cpufreq_hw_get() [all …]
|
| 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 …]
|
| D | imx-cpufreq-dt.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/cpufreq.h> 13 #include <linux/nvmem-consumer.h> 20 #include "cpufreq-dt.h" 32 /* cpufreq-dt device registered by imx-cpufreq-dt */ 64 unsigned int newfreq = policy->freq_table[index].frequency; in imx7ulp_target_intermediate() 92 if (!of_property_present(cpu_dev->of_node, "cpu-supply")) in imx_cpufreq_dt_probe() 93 return -ENODEV; in imx_cpufreq_dt_probe() 101 dt_pdev = platform_device_register_data(NULL, "cpufreq-dt", in imx_cpufreq_dt_probe() 102 -1, &imx7ulp_data, in imx_cpufreq_dt_probe() [all …]
|
| 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() 44 dev_err(&pdev->dev, "operating points not found\n"); in tegra20_cpufreq_probe() 45 dev_err(&pdev->dev, "please update your device tree\n"); in tegra20_cpufreq_probe() 46 return -ENODEV; in tegra20_cpufreq_probe() 57 dev_info(&pdev->dev, "hardware version 0x%x 0x%x\n", in tegra20_cpufreq_probe() 62 return -ENODEV; in tegra20_cpufreq_probe() 67 dev_err(&pdev->dev, "failed to set supported hw: %d\n", err); in tegra20_cpufreq_probe() 71 cpufreq_dt = platform_device_register_simple("cpufreq-dt", -1, NULL, 0); in tegra20_cpufreq_probe() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/cpufreq/ |
| D | cpufreq-qcom-hw.txt | 1 Qualcomm Technologies, Inc. CPUFREQ Bindings 3 CPUFREQ HW is a hardware engine used by some Qualcomm Technologies, Inc. (QTI) 8 - compatible 11 Definition: must be "qcom,cpufreq-hw" or "qcom,cpufreq-epss". 13 - clocks 18 - clock-names 23 - reg 25 Value type: <prop-encoded-array> 26 Definition: Addresses and sizes for the memory of the HW bases in 28 - reg-names [all …]
|
| D | ti-cpufreq.txt | 1 TI CPUFreq and OPP bindings 6 The ti-cpufreq driver can use revision and an efuse value from the SoC to 8 used to determine which OPPs from the operating-points-v2 table get enabled 12 -------------------- 14 - operating-points-v2: Phandle to the operating-points-v2 table to use. 16 In 'operating-points-v2' table: 17 - compatible: Should be 18 - 'operating-points-v2-ti-cpu' for am335x, am43xx, and dra7xx/am57xx, 20 - syscon: A phandle pointing to a syscon node representing the control module 24 -------------------- [all …]
|
| D | cpufreq-st.txt | 1 Binding for ST's CPUFreq driver 4 ST's CPUFreq driver attempts to read 'process' and 'version' attributes 12 ---------------------- 18 - operating-points : [See: ../power/opp.txt] 21 -------------- 26 operating-points = <1500000 0 34 -------------------------------------------- 36 This requires the ST CPUFreq driver to supply 'process' and 'version' info. 40 - operating-points-v2 : [See ../power/opp.txt] 43 ---------------- [all …]
|
| /kernel/linux/linux-5.10/tools/power/cpupower/bench/ |
| 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 …]
|
| /kernel/linux/linux-6.6/tools/power/cpupower/bench/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/clk/bcm/ |
| 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> 53 [RPI_FIRMWARE_PIXEL_BVB_CLK_ID] = "pixel-bvb", 62 struct platform_device *cpufreq; member 66 struct clk_hw hw; member 85 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface 98 .id = cpu_to_le32(data->id), in raspberrypi_clock_property() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/bcm/ |
| 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", 47 struct platform_device *cpufreq; member 51 struct clk_hw hw; member 141 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface 154 .id = cpu_to_le32(data->id), in raspberrypi_clock_property() [all …]
|
| /kernel/linux/linux-6.6/tools/power/cpupower/utils/idle_monitor/ |
| 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 …]
|
| /kernel/linux/linux-5.10/tools/power/cpupower/utils/idle_monitor/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/clk/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/clk/ |
| D | clk-scpi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 #include <linux/clk-provider.h> 19 struct clk_hw hw; member 24 #define to_scpi_clk(clk) container_of(clk, struct scpi_clk, hw) 28 static unsigned long scpi_clk_recalc_rate(struct clk_hw *hw, in scpi_clk_recalc_rate() argument 31 struct scpi_clk *clk = to_scpi_clk(hw); in scpi_clk_recalc_rate() 33 return clk->scpi_ops->clk_get_val(clk->id); in scpi_clk_recalc_rate() 36 static long scpi_clk_round_rate(struct clk_hw *hw, unsigned long rate, in scpi_clk_round_rate() argument 48 static int scpi_clk_set_rate(struct clk_hw *hw, unsigned long rate, in scpi_clk_set_rate() argument 51 struct scpi_clk *clk = to_scpi_clk(hw); in scpi_clk_set_rate() [all …]
|