/linux-4.4.14/arch/powerpc/kvm/ |
D | mpic.c | 129 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/ |
D | exynos4212.dtsi | 51 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 …]
|
D | exynos4412.dtsi | 65 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/ |
D | core.c | 123 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 …]
|
D | cpu.c | 55 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/ |
D | opp.txt | 54 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/ |
D | scpi-cpufreq.c | 44 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()
|
D | imx6q-cpufreq.c | 47 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()
|
D | cpufreq-dt.c | 47 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()
|
D | mt8173-cpufreq.c | 180 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()
|
D | omap-cpufreq.c | 45 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()
|
D | exynos5440-cpufreq.c | 119 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/ |
D | exynos5_bus.c | 91 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 …]
|
D | exynos4_bus.c | 572 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/ |
D | devfreq_cooling.c | 111 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 …]
|
D | cpu_cooling.c | 273 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/ |
D | pm_opp.h | 29 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/ |
D | opp.txt | 43 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 …]
|
D | 00-INDEX | 19 opp.txt
|
/linux-4.4.14/drivers/clk/ |
D | clk-scpi.c | 78 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/ |
D | dbx500-prcmu.h | 282 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
|
D | db8500-prcmu.h | 536 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/ |
D | openprom.c | 136 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/ |
D | pm.c | 136 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()
|
D | Makefile | 75 obj-y += opp.o
|
/linux-4.4.14/drivers/devfreq/ |
D | devfreq.c | 971 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 …]
|
D | tegra-devfreq.c | 487 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/ |
D | clk-dfll.c | 632 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/ |
D | arm_scpi.c | 459 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/ |
D | da850.c | 1044 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/ |
D | Makefile | 4 obj-$(CONFIG_PM_OPP) += opp/
|
/linux-4.4.14/drivers/mfd/ |
D | db8500-prcmu.c | 894 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/ |
D | cpufreq-dt.txt | 14 - operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt for
|
D | arm_big_little_dt.txt | 15 - operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
|
/linux-4.4.14/arch/powerpc/include/asm/ |
D | kvm_ppc.h | 487 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/ |
D | core.txt | 96 For details about OPP, see Documentation/power/opp.txt
|
/linux-4.4.14/Documentation/arm/OMAP/ |
D | omap_pm | 140 * Define and add a custom opp table entry
|
/linux-4.4.14/Documentation/thermal/ |
D | cpu-cooling-api.txt | 72 the CPUs are registered using the kernel's opp library and the
|
/linux-4.4.14/kernel/power/ |
D | Kconfig | 274 For more information, read <file:Documentation/power/opp.txt>
|
/linux-4.4.14/ |
D | MAINTAINERS | 7917 F: drivers/base/power/opp/ 7919 F: Documentation/power/opp.txt 7920 F: Documentation/devicetree/bindings/opp/
|