Home
last modified time | relevance | path

Searched +full:cpufreq +full:- +full:hw (Results 1 – 25 of 161) sorted by relevance

1234567

/kernel/linux/linux-6.6/drivers/cpufreq/
DKconfig.arm1 # 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 …]
DMakefile1 # 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 …]
Dmediatek-cpufreq-hw.c1 // 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 …]
Dqcom-cpufreq-hw.c1 // 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 …]
Dimx-cpufreq-dt.c1 // 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 …]
Dtegra20-cpufreq.c1 // 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/
Dcpufreq-qcom-hw.yaml1 # 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 …]
Dcpufreq-mediatek-hw.yaml1 # 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 …]
Dcpufreq-st.txt1 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/
DKconfig.arm1 # 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 …]
Dqcom-cpufreq-hw.c1 // 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 …]
DMakefile1 # 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 …]
Dimx-cpufreq-dt.c1 // 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 …]
Dtegra20-cpufreq.c1 // 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/
Dcpufreq-qcom-hw.txt1 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 …]
Dti-cpufreq.txt1 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 …]
Dcpufreq-st.txt1 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/
Dcpufreq-bench_script.sh2 # 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/
Dcpufreq-bench_script.sh2 # 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/
Dclk-raspberrypi.c1 // 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/
Dclk-raspberrypi.c1 // 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/
Dmperf_monitor.c1 // 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/
Dmperf_monitor.c1 // 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/
Dclk-scpi.c1 // 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/
Dclk-scpi.c1 // 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 …]

1234567