Home
last modified time | relevance | path

Searched full:dvfs (Results 1 – 25 of 215) sorted by relevance

123456789

/kernel/linux/linux-6.6/drivers/cpufreq/
Darmada-37xx-cpufreq.c130 * will be configured then the DVFS will be enabled.
221 struct armada_37xx_dvfs *dvfs) in armada37xx_cpufreq_avs_configure() argument
238 dvfs->avs[0] = l0_vdd_min; in armada37xx_cpufreq_avs_configure()
248 dvfs->avs[load_level] = avs_min; in armada37xx_cpufreq_avs_configure()
255 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
256 if (dvfs->cpu_freq_max >= 1200*1000*1000) in armada37xx_cpufreq_avs_configure()
260 dvfs->avs[0] = dvfs->avs[1] = avs_min; in armada37xx_cpufreq_avs_configure()
273 dvfs->avs[1] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
281 dvfs->avs[2] = dvfs->avs[3] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
288 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
[all …]
Ds3c64xx-cpufreq.c60 struct s3c64xx_dvfs *dvfs; in s3c64xx_cpufreq_set_target() local
64 dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[index].driver_data]; in s3c64xx_cpufreq_set_target()
68 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
69 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
88 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
89 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
112 struct s3c64xx_dvfs *dvfs; in s3c64xx_cpufreq_config_regulator() local
123 dvfs = &s3c64xx_dvfs_table[freq->driver_data]; in s3c64xx_cpufreq_config_regulator()
128 if (v >= dvfs->vddarm_min && v <= dvfs->vddarm_max) in s3c64xx_cpufreq_config_regulator()
DKconfig.arm80 firmware providing the CPU DVFS functionality.
100 Say Y, if you have a Broadcom SoC with AVS support for DFS or DVFS.
224 firmware providing the CPU DVFS functionality.
/kernel/linux/linux-5.10/drivers/cpufreq/
Darmada-37xx-cpufreq.c130 * will be configured then the DVFS will be enabled.
221 struct armada_37xx_dvfs *dvfs) in armada37xx_cpufreq_avs_configure() argument
238 dvfs->avs[0] = l0_vdd_min; in armada37xx_cpufreq_avs_configure()
248 dvfs->avs[load_level] = avs_min; in armada37xx_cpufreq_avs_configure()
255 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
256 if (dvfs->cpu_freq_max >= 1200*1000*1000) in armada37xx_cpufreq_avs_configure()
260 dvfs->avs[0] = dvfs->avs[1] = avs_min; in armada37xx_cpufreq_avs_configure()
273 dvfs->avs[1] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
281 dvfs->avs[2] = dvfs->avs[3] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
288 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
[all …]
Ds3c64xx-cpufreq.c54 struct s3c64xx_dvfs *dvfs; in s3c64xx_cpufreq_set_target() local
60 dvfs = &s3c64xx_dvfs_table[s3c64xx_freq_table[index].driver_data]; in s3c64xx_cpufreq_set_target()
65 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
66 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
85 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
86 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
109 struct s3c64xx_dvfs *dvfs; in s3c64xx_cpufreq_config_regulator() local
120 dvfs = &s3c64xx_dvfs_table[freq->driver_data]; in s3c64xx_cpufreq_config_regulator()
125 if (v >= dvfs->vddarm_min && v <= dvfs->vddarm_max) in s3c64xx_cpufreq_config_regulator()
Ds3c2416-cpufreq.c121 struct s3c2416_dvfs *dvfs; in s3c2416_cpufreq_enter_dvs() local
141 dvfs = &s3c2416_dvfs_table[idx]; in s3c2416_cpufreq_enter_dvs()
144 dvfs->vddarm_min, dvfs->vddarm_max); in s3c2416_cpufreq_enter_dvs()
146 dvfs->vddarm_min, in s3c2416_cpufreq_enter_dvs()
147 dvfs->vddarm_max); in s3c2416_cpufreq_enter_dvs()
163 struct s3c2416_dvfs *dvfs; in s3c2416_cpufreq_leave_dvs() local
174 dvfs = &s3c2416_dvfs_table[idx]; in s3c2416_cpufreq_leave_dvs()
177 dvfs->vddarm_min, dvfs->vddarm_max); in s3c2416_cpufreq_leave_dvs()
179 dvfs->vddarm_min, in s3c2416_cpufreq_leave_dvs()
180 dvfs->vddarm_max); in s3c2416_cpufreq_leave_dvs()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/regulator/
Dtps51632-regulator.txt8 - ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface.
9 - ti,dvfs-step-20mV: The 20mV step voltage when PWM DVFS enabled. Missing this
10 will set 10mV step voltage in PWM DVFS mode. In normal mode, the voltage
25 ti,enable-pwm-dvfs;
26 ti,dvfs-step-20mV;
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/regulator/
Dtps51632-regulator.txt8 - ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface.
9 - ti,dvfs-step-20mV: The 20mV step voltage when PWM DVFS enabled. Missing this
10 will set 10mV step voltage in PWM DVFS mode. In normal mode, the voltage
25 ti,enable-pwm-dvfs;
26 ti,dvfs-step-20mV;
/kernel/linux/linux-5.10/drivers/memory/tegra/
Dtegra186-emc.c24 struct tegra186_emc_dvfs *dvfs; member
65 if (rate == emc->dvfs[i].rate) in tegra186_emc_validate_rate()
79 seq_printf(s, "%s%lu", prefix, emc->dvfs[i].rate); in tegra186_emc_debug_available_rates_show()
197 dev_err(&pdev->dev, "failed to EMC DVFS pairs: %d\n", err); in tegra186_emc_probe()
206 emc->dvfs = devm_kmalloc_array(&pdev->dev, emc->num_dvfs, in tegra186_emc_probe()
207 sizeof(*emc->dvfs), GFP_KERNEL); in tegra186_emc_probe()
208 if (!emc->dvfs) { in tegra186_emc_probe()
213 dev_dbg(&pdev->dev, "%u DVFS pairs:\n", emc->num_dvfs); in tegra186_emc_probe()
216 emc->dvfs[i].rate = response.pairs[i].freq * 1000; in tegra186_emc_probe()
217 emc->dvfs[i].latency = response.pairs[i].latency; in tegra186_emc_probe()
[all …]
/kernel/linux/linux-6.6/Documentation/scheduler/
Dschedutil.rst51 Dynamic Voltage and Frequency Scaling (DVFS) ratio and one microarch ratio.
53 For simple DVFS architectures (where software is in full control) we trivially
60 For more dynamic systems where the hardware is in control of DVFS we use
84 of DVFS and CPU type. IOW. we can transfer and compare them between CPUs.
98 (DVFS) ramp-up after they are running again.
121 Schedutil / DVFS
126 DVFS state.
151 Because these callbacks are directly from the scheduler, the DVFS hardware
153 rate-limiting DVFS requests for when hardware interaction is slow and
162 - On low-load scenarios, where DVFS is most relevant, the 'running' numbers
[all …]
/kernel/linux/linux-6.6/drivers/memory/tegra/
Dtegra186-emc.c26 struct tegra186_emc_dvfs *dvfs; member
69 if (rate == emc->dvfs[i].rate) in tegra186_emc_validate_rate()
83 seq_printf(s, "%s%lu", prefix, emc->dvfs[i].rate); in tegra186_emc_debug_available_rates_show()
169 dev_err(emc->dev, "failed to EMC DVFS pairs: %d\n", err); in tegra186_emc_get_emc_dvfs_latency()
173 dev_err(emc->dev, "EMC DVFS MRQ failed: %d (BPMP error code)\n", msg.rx.ret); in tegra186_emc_get_emc_dvfs_latency()
182 emc->dvfs = devm_kmalloc_array(emc->dev, emc->num_dvfs, sizeof(*emc->dvfs), GFP_KERNEL); in tegra186_emc_get_emc_dvfs_latency()
183 if (!emc->dvfs) in tegra186_emc_get_emc_dvfs_latency()
186 dev_dbg(emc->dev, "%u DVFS pairs:\n", emc->num_dvfs); in tegra186_emc_get_emc_dvfs_latency()
189 emc->dvfs[i].rate = response.pairs[i].freq * 1000; in tegra186_emc_get_emc_dvfs_latency()
190 emc->dvfs[i].latency = response.pairs[i].latency; in tegra186_emc_get_emc_dvfs_latency()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/clk/
Dgm20b.c122 struct gm20b_clk_dvfs dvfs; member
190 struct gm20b_clk_dvfs *dvfs) in gm20b_dvfs_calc_det_coeff() argument
201 dvfs->dfs_coeff = min_t(u32, coeff, MASK(GPCPLL_DVFS0_DFS_COEFF_WIDTH)); in gm20b_dvfs_calc_det_coeff()
203 dvfs->dfs_ext_cal = DIV_ROUND_CLOSEST(uv - clk->uvdet_offs, in gm20b_dvfs_calc_det_coeff()
206 if (abs(dvfs->dfs_ext_cal) >= BIT(DFS_DET_RANGE)) in gm20b_dvfs_calc_det_coeff()
209 dvfs->dfs_det_max = 0; in gm20b_dvfs_calc_det_coeff()
212 __func__, uv, dvfs->dfs_coeff, dvfs->dfs_ext_cal, in gm20b_dvfs_calc_det_coeff()
213 dvfs->dfs_det_max); in gm20b_dvfs_calc_det_coeff()
236 det_delta -= clk->dvfs.dfs_ext_cal; in gm20b_dvfs_calc_ndiv()
237 det_delta = min(det_delta, clk->dvfs.dfs_det_max); in gm20b_dvfs_calc_ndiv()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/clk/
Dgm20b.c122 struct gm20b_clk_dvfs dvfs; member
190 struct gm20b_clk_dvfs *dvfs) in gm20b_dvfs_calc_det_coeff() argument
201 dvfs->dfs_coeff = min_t(u32, coeff, MASK(GPCPLL_DVFS0_DFS_COEFF_WIDTH)); in gm20b_dvfs_calc_det_coeff()
203 dvfs->dfs_ext_cal = DIV_ROUND_CLOSEST(uv - clk->uvdet_offs, in gm20b_dvfs_calc_det_coeff()
206 if (abs(dvfs->dfs_ext_cal) >= BIT(DFS_DET_RANGE)) in gm20b_dvfs_calc_det_coeff()
209 dvfs->dfs_det_max = 0; in gm20b_dvfs_calc_det_coeff()
212 __func__, uv, dvfs->dfs_coeff, dvfs->dfs_ext_cal, in gm20b_dvfs_calc_det_coeff()
213 dvfs->dfs_det_max); in gm20b_dvfs_calc_det_coeff()
236 det_delta -= clk->dvfs.dfs_ext_cal; in gm20b_dvfs_calc_ndiv()
237 det_delta = min(det_delta, clk->dvfs.dfs_det_max); in gm20b_dvfs_calc_ndiv()
[all …]
/kernel/linux/linux-6.6/include/linux/regulator/
Dtps51632-regulator.h6 * Driverless Controller with serial VID control and DVFS.
20 * @enable_pwm_dvfs: Enable PWM DVFS or not.
21 * @dvfs_step_20mV: Step for DVFS is 20mV or 10mV.
22 * @max_voltage_uV: Maximum possible voltage in PWM-DVFS mode.
23 * @base_voltage_uV: Base voltage when PWM-DVFS enabled.
/kernel/linux/linux-5.10/include/linux/regulator/
Dtps51632-regulator.h6 * Driverless Controller with serial VID control and DVFS.
20 * @enable_pwm_dvfs: Enable PWM DVFS or not.
21 * @dvfs_step_20mV: Step for DVFS is 20mV or 10mV.
22 * @max_voltage_uV: Maximum possible voltage in PWM-DVFS mode.
23 * @base_voltage_uV: Base voltage when PWM-DVFS enabled.
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/mfd/
Drohm,bd9571mwv.yaml68 "^(vd09|vd18|vd25|vd33|dvfs)$":
74 pattern: "^(vd09|vd18|vd25|vd33|dvfs)$"
118 dvfs: dvfs {
119 regulator-name = "dvfs";
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/
Dbd9571mwv.txt23 - dvfs
61 dvfs: dvfs {
62 regulator-name = "dvfs";
/kernel/linux/linux-6.6/drivers/regulator/
Dbd9571mwv-regulator.c33 enum bd9571mwv_regulators { VD09, VD18, VD25, VD33, DVFS }; enumerator
135 BD9571MWV_REG("DVFS", "dvfs", DVFS, reg_ops,
297 /* BD9574MWF supports DVFS only */ in bd9571mwv_regulator_probe()
298 if (chip == ROHM_CHIP_TYPE_BD9574 && regulators[i].id != DVFS) in bd9571mwv_regulator_probe()
/kernel/linux/linux-6.6/Documentation/translations/zh_CN/scheduler/
Dschedutil.rst53 Frequency Scaling,DVFS)比率,另一个是微架构比率。
96 因此它们在再次运行后会面临(DVFS)的上涨。
120 Schedutil / DVFS
/kernel/linux/linux-5.10/drivers/firmware/
Darm_scpi.c11 * various power domain DVFS including the core/cluster, certain system
255 struct scpi_dvfs_info *dvfs[MAX_DVFS_DOMAINS]; member
599 struct dvfs_set dvfs = {domain, index}; in scpi_dvfs_set_idx() local
601 return scpi_send_message(CMD_SET_DVFS, &dvfs, sizeof(dvfs), in scpi_dvfs_set_idx()
622 if (scpi_info->dvfs[domain]) /* data already populated */ in scpi_dvfs_get_info()
623 return scpi_info->dvfs[domain]; in scpi_dvfs_get_info()
650 scpi_info->dvfs[domain] = info; in scpi_dvfs_get_info()
870 for (i = 0; i < MAX_DVFS_DOMAINS && info->dvfs[i]; i++) { in scpi_remove()
871 kfree(info->dvfs[i]->opps); in scpi_remove()
872 kfree(info->dvfs[i]); in scpi_remove()
/kernel/linux/linux-6.6/drivers/firmware/
Darm_scpi.c11 * various power domain DVFS including the core/cluster, certain system
255 struct scpi_dvfs_info *dvfs[MAX_DVFS_DOMAINS]; member
599 struct dvfs_set dvfs = {domain, index}; in scpi_dvfs_set_idx() local
601 return scpi_send_message(CMD_SET_DVFS, &dvfs, sizeof(dvfs), in scpi_dvfs_set_idx()
622 if (scpi_info->dvfs[domain]) /* data already populated */ in scpi_dvfs_get_info()
623 return scpi_info->dvfs[domain]; in scpi_dvfs_get_info()
653 scpi_info->dvfs[domain] = info; in scpi_dvfs_get_info()
873 for (i = 0; i < MAX_DVFS_DOMAINS && info->dvfs[i]; i++) { in scpi_remove()
874 kfree(info->dvfs[i]->opps); in scpi_remove()
875 kfree(info->dvfs[i]); in scpi_remove()
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/clock/
Dimx31-clock.yaml88 interrupt for DVFS when a frequency change is requested, request 2 is
91 - description: CCM DVFS interrupt request 1
/kernel/linux/linux-5.10/drivers/regulator/
Dbd9571mwv-regulator.c32 enum bd9571mwv_regulators { VD09, VD18, VD25, VD33, DVFS }; enumerator
134 BD9571MWV_REG("DVFS", "dvfs", DVFS, reg_ops,
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/clock/
Dimx31-clock.yaml88 interrupt for DVFS when a frequency change is requested, request 2 is
91 - description: CCM DVFS interrupt request 1
/kernel/linux/linux-6.6/include/linux/
Dscpi_protocol.h52 * @dvfs_get_info: returns the DVFS capabilities of the given power
55 * @get_transition_latency: gets the DVFS transition latency for a given device

123456789