| /linux/drivers/cpufreq/ |
| H A D | armada-37xx-cpufreq.c | 125 * will be configured then the DVFS will be enabled. 216 struct armada_37xx_dvfs *dvfs) in armada37xx_cpufreq_avs_configure() argument 233 dvfs->avs[0] = l0_vdd_min; in armada37xx_cpufreq_avs_configure() 243 dvfs->avs[load_level] = avs_min; in armada37xx_cpufreq_avs_configure() 250 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure() 251 if (dvfs->cpu_freq_max >= 1200*1000*1000) in armada37xx_cpufreq_avs_configure() 255 dvfs->avs[0] = dvfs->avs[1] = avs_min; in armada37xx_cpufreq_avs_configure() 268 dvfs->avs[1] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure() 276 dvfs->avs[2] = dvfs->avs[3] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure() 283 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure() [all …]
|
| H A D | s3c64xx-cpufreq.c | 60 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()
|
| /linux/Documentation/scheduler/ |
| H A D | schedutil.rst | 51 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. 120 Schedutil / DVFS 125 DVFS state. 150 Because these callbacks are directly from the scheduler, the DVFS hardware 152 rate-limiting DVFS requests for when hardware interaction is slow and 161 - On low-load scenarios, where DVFS is most relevant, the 'running' numbers [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/clk/ |
| H A D | gm20b.c | 123 struct gm20b_clk_dvfs dvfs; member 191 struct gm20b_clk_dvfs *dvfs) in gm20b_dvfs_calc_det_coeff() argument 202 dvfs->dfs_coeff = min_t(u32, coeff, MASK(GPCPLL_DVFS0_DFS_COEFF_WIDTH)); in gm20b_dvfs_calc_det_coeff() 204 dvfs->dfs_ext_cal = DIV_ROUND_CLOSEST(uv - clk->uvdet_offs, in gm20b_dvfs_calc_det_coeff() 207 if (abs(dvfs->dfs_ext_cal) >= BIT(DFS_DET_RANGE)) in gm20b_dvfs_calc_det_coeff() 210 dvfs->dfs_det_max = 0; in gm20b_dvfs_calc_det_coeff() 213 __func__, uv, dvfs->dfs_coeff, dvfs->dfs_ext_cal, in gm20b_dvfs_calc_det_coeff() 214 dvfs->dfs_det_max); in gm20b_dvfs_calc_det_coeff() 237 det_delta -= clk->dvfs.dfs_ext_cal; in gm20b_dvfs_calc_ndiv() 238 det_delta = min(det_delta, clk->dvfs.dfs_det_max); in gm20b_dvfs_calc_ndiv() [all …]
|
| /linux/drivers/memory/tegra/ |
| H A D | tegra186-emc.c | 32 struct tegra186_emc_dvfs *dvfs; member 75 if (rate == emc->dvfs[i].rate) in tegra186_emc_validate_rate() 89 seq_printf(s, "%s%lu", prefix, emc->dvfs[i].rate); in tegra186_emc_debug_available_rates_show() 175 dev_err(emc->dev, "failed to EMC DVFS pairs: %d\n", err); in tegra186_emc_get_emc_dvfs_latency() 179 dev_err(emc->dev, "EMC DVFS MRQ failed: %d (BPMP error code)\n", msg.rx.ret); in tegra186_emc_get_emc_dvfs_latency() 188 emc->dvfs = devm_kmalloc_array(emc->dev, emc->num_dvfs, sizeof(*emc->dvfs), GFP_KERNEL); in tegra186_emc_get_emc_dvfs_latency() 189 if (!emc->dvfs) in tegra186_emc_get_emc_dvfs_latency() 192 dev_dbg(emc->dev, "%u DVFS pairs:\n", emc->num_dvfs); in tegra186_emc_get_emc_dvfs_latency() 195 emc->dvfs[i].rate = response.pairs[i].freq * 1000; in tegra186_emc_get_emc_dvfs_latency() 196 emc->dvfs[i].latency = response.pairs[i].latency; in tegra186_emc_get_emc_dvfs_latency() [all …]
|
| /linux/include/linux/regulator/ |
| H A D | tps51632-regulator.h | 6 * 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.
|
| /linux/Documentation/devicetree/bindings/mfd/ |
| H A D | rohm,bd9571mwv.yaml | 68 "^(vd09|vd18|vd25|vd33|dvfs)$": 74 pattern: "^(vd09|vd18|vd25|vd33|dvfs)$" 118 dvfs: dvfs { 119 regulator-name = "dvfs";
|
| /linux/Documentation/translations/zh_CN/scheduler/ |
| H A D | schedutil.rst | 53 Frequency Scaling,DVFS)比率,另一个是微架构比率。 96 因此它们在再次运行后会面临(DVFS)的上涨。 119 Schedutil / DVFS
|
| /linux/drivers/firmware/ |
| H A D | arm_scpi.c | 11 * various power domain DVFS including the core/cluster, certain system 259 struct scpi_dvfs_info *dvfs[MAX_DVFS_DOMAINS]; member 603 struct dvfs_set dvfs = {domain, index}; in scpi_dvfs_set_idx() local 605 return scpi_send_message(CMD_SET_DVFS, &dvfs, sizeof(dvfs), in scpi_dvfs_set_idx() 626 if (scpi_info->dvfs[domain]) /* data already populated */ in scpi_dvfs_get_info() 627 return scpi_info->dvfs[domain]; in scpi_dvfs_get_info() 657 scpi_info->dvfs[domain] = info; in scpi_dvfs_get_info() 877 for (i = 0; i < MAX_DVFS_DOMAINS && info->dvfs[i]; i++) { in scpi_remove() 878 kfree(info->dvfs[i]->opps); in scpi_remove() 879 kfree(info->dvfs[i]); in scpi_remove()
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | imx31-clock.yaml | 88 interrupt for DVFS when a frequency change is requested, request 2 is 91 - description: CCM DVFS interrupt request 1
|
| /linux/include/linux/ |
| H A D | scpi_protocol.h | 52 * @dvfs_get_info: returns the DVFS capabilities of the given power 55 * @get_transition_latency: gets the DVFS transition latency for a given device
|
| /linux/arch/arm/mach-omap2/ |
| H A D | clkt2xxx_virt_prcm_set.c | 3 * OMAP2xxx DVFS virtual clock functions 194 * Store a copy of the sys_ck rate for later use by the OMAP2xxx DVFS 226 * Does a manual init for the virtual prcm DVFS clock for OMAP2. This
|
| /linux/include/linux/mfd/ |
| H A D | db8500-prcmu.h | 256 * enum dvfs_stat - DVFS status messages definition 257 * @DVFS_GO: A state transition DVFS is on going 258 * @DVFS_ARM100OPPOK: The state transition DVFS has been completed for 100OPP 259 * @DVFS_ARM50OPPOK: The state transition DVFS has been completed for 50OPP 260 * @DVFS_ARMEXTCLKOK: The state transition DVFS has been completed for EXTCLK 261 * @DVFS_NOCHGTCLKOK: The state transition DVFS has been completed for
|
| /linux/Documentation/driver-api/thermal/ |
| H A D | cpu-cooling-api.rst | 76 - The voltage and frequency levels as a result of DVFS. The DVFS
|
| /linux/drivers/devfreq/ |
| H A D | Kconfig | 3 bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" 7 devfreq, a generic DVFS framework can be registered for a device
|
| /linux/arch/arm/boot/dts/allwinner/ |
| H A D | sun8i-h3-orangepi-pc.dts | 189 * however both the Armbian DVFS table and the official one 191 * DVFS table are known to work properly at the lowest
|
| /linux/drivers/clk/sunxi-ng/ |
| H A D | ccu-sun50i-a100.h | 39 /* CPUX clock exported for DVFS */
|
| H A D | ccu-sun50i-h6.h | 36 /* CPUX clock exported for DVFS */
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_rogue_fwif_sf.h | 1208 "Proactive DVFS: New deadline, time = 0x%08x%08x" }, 1210 "Proactive DVFS: New workload, cycles = 0x%08x%08x" }, 1212 "Proactive DVFS: Proactive frequency calculated = %u" }, 1214 "Proactive DVFS: Reactive utilisation = %u percent" }, 1216 "Proactive DVFS: Reactive frequency calculated = %u.%u" }, 1218 "Proactive DVFS: OPP Point Sent = 0x%x" }, 1220 "Proactive DVFS: Deadline removed = 0x%08x%08x" }, 1222 "Proactive DVFS: Workload removed = 0x%08x%08x" }, 1224 "Proactive DVFS: Throttle to a maximum = 0x%x" }, 1226 "Proactive DVFS: Failed to pass OPP point via GPIO." }, [all …]
|
| /linux/drivers/net/wireless/intel/iwlwifi/fw/api/ |
| H A D | rfi.h | 41 * @RFI_FREQ_TABLE_DVFS_NOT_READY: DVFS is not ready yet, should try later
|
| /linux/Documentation/devicetree/bindings/thermal/ |
| H A D | nvidia,tegra30-tsensor.yaml | 19 Generates an interrupt to SW to lower temperature via DVFS on reaching
|
| /linux/Documentation/devicetree/bindings/soc/mediatek/ |
| H A D | mtk-svs.yaml | 18 chip process corner, temperatures and other factors. Then DVFS
|
| /linux/drivers/mailbox/ |
| H A D | mtk-gpueb-mailbox.c | 287 { "fast-dvfs-event", 0, 0x0000, 16, 0x00e0, 16 }, 294 { "fast-dvfs", 7, 0x00a0, 24, 0x0130, 24 },
|
| /linux/Documentation/devicetree/bindings/cpufreq/ |
| H A D | brcm,stb-avs-cpu-freq.txt | 16 firmware. On some SoCs, this firmware supports DFS and DVFS in addition to
|
| /linux/drivers/soc/tegra/ |
| H A D | regulators-tegra30.c | 52 * Tegra30 SoC has critical DVFS-capable devices that are in tegra30_core_limit() 59 * the state of all DVFS-critical CORE devices is synced. in tegra30_core_limit()
|