Home
last modified time | relevance | path

Searched refs:opp (Results 1 – 40 of 40) sorted by relevance

/linux-4.4.14/arch/powerpc/kvm/
Dmpic.c129 static inline void write_IRQreg_idr(struct openpic *opp, int n_IRQ,
172 #define IVPR_VECTOR(opp, _ivprr_) ((_ivprr_) & (opp)->vector_mask) argument
242 static void mpic_irq_raise(struct openpic *opp, struct irq_dest *dst, in mpic_irq_raise() argument
251 __func__, (int)(dst - &opp->dst[0])); in mpic_irq_raise()
264 static void mpic_irq_lower(struct openpic *opp, struct irq_dest *dst, in mpic_irq_lower() argument
269 __func__, (int)(dst - &opp->dst[0])); in mpic_irq_lower()
292 static void IRQ_check(struct openpic *opp, struct irq_queue *q) in IRQ_check() argument
299 irq = find_next_bit(q->queue, opp->max_irq, irq + 1); in IRQ_check()
300 if (irq == opp->max_irq) in IRQ_check()
304 irq, IVPR_PRIORITY(opp->src[irq].ivpr), priority); in IRQ_check()
[all …]
/linux-4.4.14/arch/arm/boot/dts/
Dexynos4212.dtsi51 opp-shared;
54 opp-hz = /bits/ 64 <200000000>;
55 opp-microvolt = <900000>;
59 opp-hz = /bits/ 64 <300000000>;
60 opp-microvolt = <900000>;
64 opp-hz = /bits/ 64 <400000000>;
65 opp-microvolt = <925000>;
69 opp-hz = /bits/ 64 <500000000>;
70 opp-microvolt = <950000>;
74 opp-hz = /bits/ 64 <600000000>;
[all …]
Dexynos4412.dtsi65 opp-shared;
68 opp-hz = /bits/ 64 <200000000>;
69 opp-microvolt = <900000>;
73 opp-hz = /bits/ 64 <300000000>;
74 opp-microvolt = <900000>;
78 opp-hz = /bits/ 64 <400000000>;
79 opp-microvolt = <925000>;
83 opp-hz = /bits/ 64 <500000000>;
84 opp-microvolt = <950000>;
88 opp-hz = /bits/ 64 <600000000>;
[all …]
/linux-4.4.14/drivers/base/power/opp/
Dcore.c123 unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp) in dev_pm_opp_get_voltage() argument
130 tmp_opp = rcu_dereference(opp); in dev_pm_opp_get_voltage()
155 unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp) in dev_pm_opp_get_freq() argument
162 tmp_opp = rcu_dereference(opp); in dev_pm_opp_get_freq()
190 bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp) in dev_pm_opp_is_turbo() argument
196 tmp_opp = rcu_dereference(opp); in dev_pm_opp_is_turbo()
327 struct dev_pm_opp *temp_opp, *opp = ERR_PTR(-ERANGE); in dev_pm_opp_find_freq_exact() local
341 opp = temp_opp; in dev_pm_opp_find_freq_exact()
346 return opp; in dev_pm_opp_find_freq_exact()
375 struct dev_pm_opp *temp_opp, *opp = ERR_PTR(-ERANGE); in dev_pm_opp_find_freq_ceil() local
[all …]
Dcpu.c55 struct dev_pm_opp *opp; in dev_pm_opp_init_cpufreq_table() local
76 opp = dev_pm_opp_find_freq_ceil(dev, &rate); in dev_pm_opp_init_cpufreq_table()
77 if (IS_ERR(opp)) { in dev_pm_opp_init_cpufreq_table()
78 ret = PTR_ERR(opp); in dev_pm_opp_init_cpufreq_table()
85 if (dev_pm_opp_is_turbo(opp)) in dev_pm_opp_init_cpufreq_table()
/linux-4.4.14/Documentation/devicetree/bindings/opp/
Dopp.txt54 should be documented as Documentation/devicetree/bindings/power/<vendor>-opp.txt
77 - opp-shared: Indicates that device nodes using this OPP Table Node's phandle
91 - opp-hz: Frequency in Hz, expressed as a 64-bit big-endian integer.
94 - opp-microvolt: voltage in micro Volts.
103 - opp-microamp: The maximum current drawn by the device in microamperes
108 Should only be set if opp-microvolt is set for the OPP.
123 - opp-suspend: Marks the OPP to be used during device suspend. Only one OPP in
158 opp-shared;
161 opp-hz = /bits/ 64 <1000000000>;
162 opp-microvolt = <970000 975000 985000>;
[all …]
/linux-4.4.14/drivers/cpufreq/
Dscpi-cpufreq.c44 struct scpi_opp *opp; in scpi_opp_table_ops() local
53 for (opp = info->opps, idx = 0; idx < info->count; idx++, opp++) { in scpi_opp_table_ops()
55 dev_pm_opp_remove(cpu_dev, opp->freq); in scpi_opp_table_ops()
57 ret = dev_pm_opp_add(cpu_dev, opp->freq, in scpi_opp_table_ops()
58 opp->m_volt * 1000); in scpi_opp_table_ops()
61 opp->freq, opp->m_volt); in scpi_opp_table_ops()
63 dev_pm_opp_remove(cpu_dev, (--opp)->freq); in scpi_opp_table_ops()
Dimx6q-cpufreq.c47 struct dev_pm_opp *opp; in imx6q_set_target() local
57 opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_hz); in imx6q_set_target()
58 if (IS_ERR(opp)) { in imx6q_set_target()
61 return PTR_ERR(opp); in imx6q_set_target()
64 volt = dev_pm_opp_get_voltage(opp); in imx6q_set_target()
182 struct dev_pm_opp *opp; in imx6q_cpufreq_probe() local
325 opp = dev_pm_opp_find_freq_exact(cpu_dev, in imx6q_cpufreq_probe()
327 min_volt = dev_pm_opp_get_voltage(opp); in imx6q_cpufreq_probe()
328 opp = dev_pm_opp_find_freq_exact(cpu_dev, in imx6q_cpufreq_probe()
330 max_volt = dev_pm_opp_get_voltage(opp); in imx6q_cpufreq_probe()
Dcpufreq-dt.c47 struct dev_pm_opp *opp; in set_target() local
70 opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_Hz); in set_target()
71 if (IS_ERR(opp)) { in set_target()
75 return PTR_ERR(opp); in set_target()
77 volt = dev_pm_opp_get_voltage(opp); in set_target()
78 opp_freq = dev_pm_opp_get_freq(opp); in set_target()
294 struct dev_pm_opp *opp; in cpufreq_init() local
298 opp = dev_pm_opp_find_freq_ceil(cpu_dev, &opp_freq); in cpufreq_init()
299 if (IS_ERR(opp)) { in cpufreq_init()
303 opp_uV = dev_pm_opp_get_voltage(opp); in cpufreq_init()
Dmt8173-cpufreq.c180 struct dev_pm_opp *opp; in mtk_cpufreq_set_target() local
192 opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_hz); in mtk_cpufreq_set_target()
193 if (IS_ERR(opp)) { in mtk_cpufreq_set_target()
197 return PTR_ERR(opp); in mtk_cpufreq_set_target()
199 vproc = dev_pm_opp_get_voltage(opp); in mtk_cpufreq_set_target()
297 struct dev_pm_opp *opp; in mtk_cpu_dvfs_info_init() local
356 opp = dev_pm_opp_find_freq_ceil(cpu_dev, &rate); in mtk_cpu_dvfs_info_init()
357 if (IS_ERR(opp)) { in mtk_cpu_dvfs_info_init()
360 ret = PTR_ERR(opp); in mtk_cpu_dvfs_info_init()
363 info->intermediate_voltage = dev_pm_opp_get_voltage(opp); in mtk_cpu_dvfs_info_init()
Domap-cpufreq.c45 struct dev_pm_opp *opp; in omap_target() local
64 opp = dev_pm_opp_find_freq_ceil(mpu_dev, &freq); in omap_target()
65 if (IS_ERR(opp)) { in omap_target()
71 volt = dev_pm_opp_get_voltage(opp); in omap_target()
Dexynos5440-cpufreq.c119 struct dev_pm_opp *opp; in init_div_table() local
123 opp = dev_pm_opp_find_freq_exact(dvfs_info->dev, in init_div_table()
125 if (IS_ERR(opp)) { in init_div_table()
130 return PTR_ERR(opp); in init_div_table()
142 volt_id = dev_pm_opp_get_voltage(opp); in init_div_table()
/linux-4.4.14/drivers/devfreq/exynos/
Dexynos5_bus.c91 struct dev_pm_opp *opp; in exynos5_busfreq_int_target() local
96 opp = devfreq_recommended_opp(dev, _freq, flags); in exynos5_busfreq_int_target()
97 if (IS_ERR(opp)) { in exynos5_busfreq_int_target()
100 return PTR_ERR(opp); in exynos5_busfreq_int_target()
103 freq = dev_pm_opp_get_freq(opp); in exynos5_busfreq_int_target()
104 volt = dev_pm_opp_get_voltage(opp); in exynos5_busfreq_int_target()
195 struct dev_pm_opp *opp; in exynos5_busfreq_int_pm_notifier_event() local
209 opp = dev_pm_opp_find_freq_floor(data->dev, &maxfreq); in exynos5_busfreq_int_pm_notifier_event()
210 if (IS_ERR(opp)) { in exynos5_busfreq_int_pm_notifier_event()
212 err = PTR_ERR(opp); in exynos5_busfreq_int_pm_notifier_event()
[all …]
Dexynos4_bus.c572 struct dev_pm_opp *opp; in exynos4_bus_target() local
578 opp = devfreq_recommended_opp(dev, _freq, flags); in exynos4_bus_target()
579 if (IS_ERR(opp)) { in exynos4_bus_target()
581 return PTR_ERR(opp); in exynos4_bus_target()
583 new_oppinfo.rate = dev_pm_opp_get_freq(opp); in exynos4_bus_target()
584 new_oppinfo.volt = dev_pm_opp_get_voltage(opp); in exynos4_bus_target()
836 struct dev_pm_opp *opp; in exynos4_busfreq_pm_notifier_event() local
849 opp = dev_pm_opp_find_freq_floor(data->dev, &maxfreq); in exynos4_busfreq_pm_notifier_event()
850 if (IS_ERR(opp)) { in exynos4_busfreq_pm_notifier_event()
855 return PTR_ERR(opp); in exynos4_busfreq_pm_notifier_event()
[all …]
/linux-4.4.14/drivers/thermal/
Ddevfreq_cooling.c111 struct dev_pm_opp *opp; in partition_enable_opps() local
117 opp = dev_pm_opp_find_freq_exact(dev, freq, !want_enable); in partition_enable_opps()
120 if (PTR_ERR(opp) == -ERANGE) in partition_enable_opps()
122 else if (IS_ERR(opp)) in partition_enable_opps()
123 return PTR_ERR(opp); in partition_enable_opps()
219 struct dev_pm_opp *opp; in get_static_power() local
226 opp = dev_pm_opp_find_freq_exact(dev, freq, true); in get_static_power()
227 if (IS_ERR(opp) && (PTR_ERR(opp) == -ERANGE)) in get_static_power()
228 opp = dev_pm_opp_find_freq_exact(dev, freq, false); in get_static_power()
230 voltage = dev_pm_opp_get_voltage(opp) / 1000; /* mV */ in get_static_power()
[all …]
Dcpu_cooling.c273 struct dev_pm_opp *opp; in build_dyn_power_table() local
303 opp = dev_pm_opp_find_freq_ceil(dev, &freq), !IS_ERR(opp); in build_dyn_power_table()
315 voltage_mv = dev_pm_opp_get_voltage(opp) / 1000; in build_dyn_power_table()
334 ret = PTR_ERR(opp); in build_dyn_power_table()
425 struct dev_pm_opp *opp; in get_static_power() local
438 opp = dev_pm_opp_find_freq_exact(cpufreq_device->cpu_dev, freq_hz, in get_static_power()
440 voltage = dev_pm_opp_get_voltage(opp); in get_static_power()
447 freq_hz, IS_ERR(opp) ? PTR_ERR(opp) : 0); in get_static_power()
/linux-4.4.14/include/linux/
Dpm_opp.h29 unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp);
31 unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp);
33 bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp);
59 static inline unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp) in dev_pm_opp_get_voltage() argument
64 static inline unsigned long dev_pm_opp_get_freq(struct dev_pm_opp *opp) in dev_pm_opp_get_freq() argument
69 static inline bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp) in dev_pm_opp_is_turbo() argument
/linux-4.4.14/Documentation/power/
Dopp.txt43 information. The library is located in drivers/base/power/opp.c and the header
72 dev_pm_opp_find_freq_exact is meant to be used to find the opp pointer which can then
73 be used for dev_pm_opp_enable/disable functions to make an opp available as required.
111 and manages this information in the opp struct. This function may be
123 pr_err("%s: unable to register mpu opp(%d)\n", r);
136 functions return the matching pointer representing the opp if a match is
147 opp = dev_pm_opp_find_freq_exact(dev, 1000000000, false);
150 if (IS_ERR(opp)) {
164 Example: To find the highest opp for a device:
174 Example 1: To find the lowest opp for a device:
[all …]
D00-INDEX19 opp.txt
/linux-4.4.14/drivers/clk/
Dclk-scpi.c78 const struct scpi_opp *opp = clk->info->opps; in __scpi_dvfs_round_rate() local
80 for (idx = 0; idx < clk->info->count; idx++, opp++) { in __scpi_dvfs_round_rate()
81 ftmp = opp->freq; in __scpi_dvfs_round_rate()
98 const struct scpi_opp *opp; in scpi_dvfs_recalc_rate() local
103 opp = clk->info->opps + idx; in scpi_dvfs_recalc_rate()
104 return opp->freq; in scpi_dvfs_recalc_rate()
118 const struct scpi_opp *opp = clk->info->opps; in __scpi_find_dvfs_index() local
120 for (idx = 0; idx < max_opp; idx++, opp++) in __scpi_find_dvfs_index()
121 if (opp->freq == rate) in __scpi_find_dvfs_index()
/linux-4.4.14/include/linux/mfd/
Ddbx500-prcmu.h282 static inline int prcmu_set_ddr_opp(u8 opp) in prcmu_set_ddr_opp() argument
284 return db8500_prcmu_set_ddr_opp(opp); in prcmu_set_ddr_opp()
291 static inline int prcmu_set_arm_opp(u8 opp) in prcmu_set_arm_opp() argument
293 return db8500_prcmu_set_arm_opp(opp); in prcmu_set_arm_opp()
301 static inline int prcmu_set_ape_opp(u8 opp) in prcmu_set_ape_opp() argument
303 return db8500_prcmu_set_ape_opp(opp); in prcmu_set_ape_opp()
477 static inline int prcmu_set_ape_opp(u8 opp) in prcmu_set_ape_opp() argument
492 static inline int prcmu_set_arm_opp(u8 opp) in prcmu_set_arm_opp() argument
502 static inline int prcmu_set_ddr_opp(u8 opp) in prcmu_set_ddr_opp() argument
Ddb8500-prcmu.h536 int db8500_prcmu_set_arm_opp(u8 opp);
538 int db8500_prcmu_set_ape_opp(u8 opp);
541 int db8500_prcmu_set_ddr_opp(u8 opp);
577 static inline int db8500_prcmu_set_ape_opp(u8 opp) in db8500_prcmu_set_ape_opp() argument
597 static inline int db8500_prcmu_set_ddr_opp(u8 opp) in db8500_prcmu_set_ddr_opp() argument
750 static inline int db8500_prcmu_set_arm_opp(u8 opp) in db8500_prcmu_set_arm_opp() argument
/linux-4.4.14/drivers/sbus/char/
Dopenprom.c136 static int copyout(void __user *info, struct openpromio *opp, int len) in copyout() argument
138 if (copy_to_user(info, opp, len)) in copyout()
306 struct openpromio *opp = NULL; in openprom_sunos_ioctl() local
312 bufsize = getstrings(argp, &opp); in openprom_sunos_ioctl()
314 bufsize = copyin(argp, &opp); in openprom_sunos_ioctl()
324 error = opromgetprop(argp, dp, opp, bufsize); in openprom_sunos_ioctl()
329 error = opromnxtprop(argp, dp, opp, bufsize); in openprom_sunos_ioctl()
334 error = opromsetopt(dp, opp, bufsize); in openprom_sunos_ioctl()
340 error = opromnext(argp, cmd, dp, opp, bufsize, data); in openprom_sunos_ioctl()
344 error = oprompci2node(argp, dp, opp, bufsize, data); in openprom_sunos_ioctl()
[all …]
/linux-4.4.14/arch/arm/mach-omap2/
Dpm.c136 struct dev_pm_opp *opp; in omap2_set_init_voltage() local
177 opp = dev_pm_opp_find_freq_ceil(dev, &freq); in omap2_set_init_voltage()
178 if (IS_ERR(opp)) { in omap2_set_init_voltage()
185 bootup_volt = dev_pm_opp_get_voltage(opp); in omap2_set_init_voltage()
DMakefile75 obj-y += opp.o
/linux-4.4.14/drivers/devfreq/
Ddevfreq.c971 struct dev_pm_opp *opp; in available_frequencies_show() local
977 opp = dev_pm_opp_find_freq_ceil(dev, &freq); in available_frequencies_show()
978 if (IS_ERR(opp)) in available_frequencies_show()
1102 struct dev_pm_opp *opp; in devfreq_recommended_opp() local
1106 opp = dev_pm_opp_find_freq_floor(dev, freq); in devfreq_recommended_opp()
1109 if (opp == ERR_PTR(-ERANGE)) in devfreq_recommended_opp()
1110 opp = dev_pm_opp_find_freq_ceil(dev, freq); in devfreq_recommended_opp()
1113 opp = dev_pm_opp_find_freq_ceil(dev, freq); in devfreq_recommended_opp()
1116 if (opp == ERR_PTR(-ERANGE)) in devfreq_recommended_opp()
1117 opp = dev_pm_opp_find_freq_floor(dev, freq); in devfreq_recommended_opp()
[all …]
Dtegra-devfreq.c487 struct dev_pm_opp *opp; in tegra_devfreq_target() local
491 opp = devfreq_recommended_opp(dev, &rate, flags); in tegra_devfreq_target()
492 if (IS_ERR(opp)) { in tegra_devfreq_target()
495 return PTR_ERR(opp); in tegra_devfreq_target()
497 rate = dev_pm_opp_get_freq(opp); in tegra_devfreq_target()
/linux-4.4.14/drivers/clk/tegra/
Dclk-dfll.c632 struct dev_pm_opp *opp; in find_lut_index_for_rate() local
637 opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate); in find_lut_index_for_rate()
638 if (IS_ERR(opp)) { in find_lut_index_for_rate()
640 return PTR_ERR(opp); in find_lut_index_for_rate()
642 uv = dev_pm_opp_get_voltage(opp); in find_lut_index_for_rate()
1440 struct dev_pm_opp *opp; in dfll_build_i2c_lut() local
1446 opp = dev_pm_opp_find_freq_floor(td->soc->dev, &rate); in dfll_build_i2c_lut()
1447 if (IS_ERR(opp)) { in dfll_build_i2c_lut()
1451 v_max = dev_pm_opp_get_voltage(opp); in dfll_build_i2c_lut()
1460 opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate); in dfll_build_i2c_lut()
[all …]
/linux-4.4.14/drivers/firmware/
Darm_scpi.c459 struct scpi_opp *opp; in scpi_dvfs_get_info() local
482 info->opps = kcalloc(info->count, sizeof(*opp), GFP_KERNEL); in scpi_dvfs_get_info()
488 for (i = 0, opp = info->opps; i < info->count; i++, opp++) { in scpi_dvfs_get_info()
489 opp->freq = le32_to_cpu(buf.opps[i].freq); in scpi_dvfs_get_info()
490 opp->m_volt = le32_to_cpu(buf.opps[i].m_volt); in scpi_dvfs_get_info()
493 sort(info->opps, info->count, sizeof(*opp), opp_cmp_func, NULL); in scpi_dvfs_get_info()
/linux-4.4.14/arch/arm/mach-davinci/
Dda850.c1044 struct da850_opp *opp; in da850_set_voltage() local
1049 opp = (struct da850_opp *) cpufreq_info.freq_table[index].driver_data; in da850_set_voltage()
1051 return regulator_set_voltage(cvdd, opp->cvdd_min, opp->cvdd_max); in da850_set_voltage()
1127 struct da850_opp *opp; in da850_set_pll0rate() local
1131 opp = (struct da850_opp *) cpufreq_info.freq_table[index].driver_data; in da850_set_pll0rate()
1132 prediv = opp->prediv; in da850_set_pll0rate()
1133 mult = opp->mult; in da850_set_pll0rate()
1134 postdiv = opp->postdiv; in da850_set_pll0rate()
/linux-4.4.14/drivers/base/power/
DMakefile4 obj-$(CONFIG_PM_OPP) += opp/
/linux-4.4.14/drivers/mfd/
Ddb8500-prcmu.c894 int db8500_prcmu_set_arm_opp(u8 opp) in db8500_prcmu_set_arm_opp() argument
898 if (opp < ARM_NO_CHANGE || opp > ARM_EXTCLK) in db8500_prcmu_set_arm_opp()
909 writeb(opp, (tcdm_base + PRCM_REQ_MB1_ARM_OPP)); in db8500_prcmu_set_arm_opp()
916 (mb1_transfer.ack.arm_opp != opp)) in db8500_prcmu_set_arm_opp()
952 int db8500_prcmu_set_ddr_opp(u8 opp) in db8500_prcmu_set_ddr_opp() argument
954 if (opp < DDR_100_OPP || opp > DDR_25_OPP) in db8500_prcmu_set_ddr_opp()
958 writeb(opp, PRCM_DDR_SUBSYS_APE_MINBW); in db8500_prcmu_set_ddr_opp()
1016 int db8500_prcmu_set_ape_opp(u8 opp) in db8500_prcmu_set_ape_opp() argument
1020 if (opp == mb1_transfer.ape_opp) in db8500_prcmu_set_ape_opp()
1028 if ((opp != APE_100_OPP) && (mb1_transfer.ape_opp != APE_100_OPP)) in db8500_prcmu_set_ape_opp()
[all …]
/linux-4.4.14/Documentation/devicetree/bindings/cpufreq/
Dcpufreq-dt.txt14 - operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt for
Darm_big_little_dt.txt15 - operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
/linux-4.4.14/arch/powerpc/include/asm/
Dkvm_ppc.h487 void kvmppc_mpic_disconnect_vcpu(struct openpic *opp, struct kvm_vcpu *vcpu);
501 static inline void kvmppc_mpic_disconnect_vcpu(struct openpic *opp, in kvmppc_mpic_disconnect_vcpu() argument
/linux-4.4.14/Documentation/cpu-freq/
Dcore.txt96 For details about OPP, see Documentation/power/opp.txt
/linux-4.4.14/Documentation/arm/OMAP/
Domap_pm140 * Define and add a custom opp table entry
/linux-4.4.14/Documentation/thermal/
Dcpu-cooling-api.txt72 the CPUs are registered using the kernel's opp library and the
/linux-4.4.14/kernel/power/
DKconfig274 For more information, read <file:Documentation/power/opp.txt>
/linux-4.4.14/
DMAINTAINERS7917 F: drivers/base/power/opp/
7919 F: Documentation/power/opp.txt
7920 F: Documentation/devicetree/bindings/opp/