Home
last modified time | relevance | path

Searched full:opps (Results 1 – 25 of 92) sorted by relevance

1234

/Linux-v5.15/arch/arm/mach-vexpress/
Dspc.c113 struct ve_spc_opp *opps[MAX_CLUSTERS]; member
260 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_get_performance() local
270 opps += perf; in ve_spc_get_performance()
271 *freq = opps->freq; in ve_spc_get_performance()
280 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_round_performance() local
284 for (idx = 0; idx < max_opp; idx++, opps++) { in ve_spc_round_performance()
285 ftmp = opps->freq; in ve_spc_round_performance()
303 struct ve_spc_opp *opps = info->opps[cluster]; in ve_spc_find_performance_index() local
305 for (idx = 0; idx < max_opp; idx++, opps++) in ve_spc_find_performance_index()
306 if (opps->freq == freq) in ve_spc_find_performance_index()
[all …]
/Linux-v5.15/Documentation/power/
Dopp.rst31 OPPs.
39 We can represent these as three OPPs as the following {Hz, uV} tuples:
57 (users) -> registers a set of default OPPs -> (library)
58 SoC framework -> modifies on required cases certain OPPs -> OPP layer
62 framework registers a set of initial OPPs per device with the OPP layer. This
64 This initial list contains a set of OPPs that the framework expects to be safely
71 OPPs available or not available on each device based on various external
77 operational functions operate only on available opps:
94 The SoC implementation calls dev_pm_opp_add function iteratively to add OPPs per
97 registering the OPPs is maintained by OPP library throughout the device
[all …]
/Linux-v5.15/drivers/opp/
Dof.c57 * But the OPPs will be considered as shared only if the in _managed_opp()
98 return of_parse_phandle(np, "required-opps", index); in of_parse_required_opp()
152 * Populate all devices and opp tables which are part of "required-opps" list.
172 count = of_count_phandle_with_args(np, "required-opps", NULL); in _opp_table_alloc_required_tables()
278 /* Populate all required OPPs which are part of "required-opps" list */
328 /* Link required OPPs for an individual OPP */
353 /* Link required OPPs for all OPPs of the newly added OPP table */
395 /* Link OPPs now */ in lazy_link_required_opp_table()
398 /* The OPPs will be marked unusable */ in lazy_link_required_opp_table()
719 * Free OPPs created using static entries present in DT.
[all …]
Dopp.h50 * of boot. It is expected only an optimal set of OPPs are
67 * @required_opps: List of OPPs that are required by this OPP.
128 * @node: table node - contains the devices with OPPs that
132 * @dev_list: list of devices that share these OPPs
133 * @opp_list: table of opps
138 * @parsed_static_opps: Count of devices for which OPPs are initialized from DT.
145 * @required_opp_tables: List of device OPP tables that are required by OPPs in
169 * This is an internal data structure maintaining the link to opps attached to
Dcore.c26 * from here, with each opp_table containing the list of opps it supports in
31 /* OPP tables with uninitialized required OPPs */
170 /* required-opps not fully initialized yet */ in dev_pm_opp_get_required_pstate()
182 * Turbo OPPs are not for normal use, and can be enabled (under certain
350 * dev_pm_opp_get_opp_count() - Get number of opps available in the opp table
353 * Return: This function returns the number of available opps if there are any,
896 /* required-opps not fully initialized yet */ in _set_required_opps()
901 * We only support genpd's OPPs in the "required-opps" for now, as we in _set_required_opps()
906 dev_err(dev, "required-opps don't belong to a genpd\n"); in _set_required_opps()
922 /* Scaling up? Set required OPPs in normal order, else reverse */ in _set_required_opps()
[all …]
Dcpu.c136 * This should be used to remove all the OPPs entries associated with
196 * dev_pm_opp_get_sharing_cpus() - Get cpumask of CPUs sharing OPPs with @cpu_dev
200 * This updates the @cpumask with CPUs that are sharing OPPs with @cpu_dev.
DKconfig13 implementations a ready to use framework to manage OPPs.
/Linux-v5.15/Documentation/devicetree/bindings/opp/
Dopp-v2-base.yaml15 Performance Points aka OPPs. This document defines bindings for these OPPs
19 This describes the OPPs belonging to a device.
135 Marks the OPP to be used during device suspend. If multiple OPPs in
141 This property allows a platform to enable only a subset of the OPPs
170 required-opps:
188 OPPs. If the platform doesn't pick a specific <name> or the <name>
Dopp-v1.yaml15 Performance Points aka OPPs. This document defines bindings for these OPPs
/Linux-v5.15/Documentation/devicetree/bindings/power/
Dqcom,rpmpd.yaml163 required-opps = <&rpmhpd_opp_low>;
168 required-opps = <&rpmhpd_opp_ret>;
173 required-opps = <&rpmpd_opp_svs>;
178 required-opps = <&rpmpd_opp_normal>;
Dpower_domain.txt54 - required-opps: This contains phandle to an OPP node in another device's OPP
102 required-opps = <&domain0_opp_0>;
109 required-opps = <&domain1_opp_1>;
/Linux-v5.15/drivers/cpufreq/
Dscmi-cpufreq.c167 * A previous CPU may have marked OPPs as shared for a few CPUs, based on in scmi_cpufreq_init()
169 * there is no need to add OPPs again. in scmi_cpufreq_init()
175 dev_warn(cpu_dev, "failed to add opps to the device\n"); in scmi_cpufreq_init()
181 dev_err(cpu_dev, "%s: No OPPs for this device: %d\n", in scmi_cpufreq_init()
190 dev_err(cpu_dev, "%s: failed to mark OPPs as shared: %d\n", in scmi_cpufreq_init()
Dmvebu-cpufreq.c89 dev_err(cpu_dev, "Failed to register OPPs\n"); in armada_xp_pmsu_cpufreq_init()
96 dev_err(cpu_dev, "%s: failed to mark OPPs as shared: %d\n", in armada_xp_pmsu_cpufreq_init()
Dcpufreq-dt.c255 * duplicate OPPs for the CPUs. in dt_cpufreq_early_init()
257 * OPPs might be populated at runtime, don't fail for error here unless in dt_cpufreq_early_init()
282 dev_err(cpu_dev, "%s: failed to mark OPPs as shared: %d\n", in dt_cpufreq_early_init()
/Linux-v5.15/Documentation/devicetree/bindings/regulator/
Dfixed-regulator.yaml37 - required-opps
66 required-opps:
133 required-opps = <&domain1_state1>;
/Linux-v5.15/Documentation/scheduler/
Dsched-energy.rst160 Each performance domain has three Operating Performance Points (OPPs).
188 compared to leaving P on CPU0. EAS assumes that OPPs follow utilization
251 necessarily more energy-efficient than big CPUs. For some systems, the high OPPs
252 of the little CPUs can be less energy-efficient than the lowest OPPs of the
258 And even in the case where all OPPs of the big CPUs are less energy-efficient
271 for all platforms, without knowing the cost of running at different OPPs on all
370 total number of OPPs (ex: for two perf. domains with 4 OPPs each, Ns = 8).
394 in order to estimate their energy consumption. To do so, it is assumed that OPPs
/Linux-v5.15/Documentation/devicetree/bindings/cpufreq/
Dti-cpufreq.txt5 families support different OPPs depending on the silicon variant in use.
8 used to determine which OPPs from the operating-points-v2 table get enabled
58 * cpu0 has different OPPs depending on SoC revision and some on revisions
/Linux-v5.15/drivers/firmware/
Darm_scpi.c307 } opps[MAX_DVFS_OPPS]; member
637 info->opps = kcalloc(info->count, sizeof(*opp), GFP_KERNEL); in scpi_dvfs_get_info()
638 if (!info->opps) { in scpi_dvfs_get_info()
643 for (i = 0, opp = info->opps; i < info->count; i++, opp++) { in scpi_dvfs_get_info()
644 opp->freq = le32_to_cpu(buf.opps[i].freq); in scpi_dvfs_get_info()
645 opp->m_volt = le32_to_cpu(buf.opps[i].m_volt); in scpi_dvfs_get_info()
648 sort(info->opps, info->count, sizeof(*opp), opp_cmp_func, NULL); in scpi_dvfs_get_info()
694 if (!info->opps) in scpi_dvfs_add_opps_to_device()
697 for (opp = info->opps, idx = 0; idx < info->count; idx++, opp++) { in scpi_dvfs_add_opps_to_device()
871 kfree(info->dvfs[i]->opps); in scpi_remove()
/Linux-v5.15/arch/arm64/boot/dts/qcom/
Dsc7180.dtsi734 required-opps = <&rpmhpd_opp_low_svs>;
741 required-opps = <&rpmhpd_opp_nom>;
753 required-opps = <&rpmhpd_opp_low_svs>;
758 required-opps = <&rpmhpd_opp_svs>;
763 required-opps = <&rpmhpd_opp_nom>;
795 required-opps = <&rpmhpd_opp_low_svs>;
849 required-opps = <&rpmhpd_opp_low_svs>;
903 required-opps = <&rpmhpd_opp_low_svs>;
939 required-opps = <&rpmhpd_opp_low_svs>;
993 required-opps = <&rpmhpd_opp_low_svs>;
[all …]
Dsdm630.dtsi1293 required-opps = <&rpmpd_opp_low_svs>;
1299 required-opps = <&rpmpd_opp_svs>;
1305 required-opps = <&rpmpd_opp_nom>;
1348 required-opps = <&rpmpd_opp_low_svs>;
1354 required-opps = <&rpmpd_opp_svs>;
1360 required-opps = <&rpmpd_opp_nom>;
1400 required-opps = <&rpmpd_opp_svs>;
1405 required-opps = <&rpmpd_opp_svs_plus>;
1410 required-opps = <&rpmpd_opp_nom>;
1490 required-opps = <&rpmpd_opp_low_svs>;
[all …]
/Linux-v5.15/include/linux/
Dscpi_protocol.h21 struct scpi_opp *opps; member
56 * @add_opps_to_device: adds all the OPPs for a given device
/Linux-v5.15/drivers/thermal/
Ddevfreq_cooling.c9 * - If OPPs are added or removed after devfreq cooling has
36 * OPPs
302 * @num_opps: Number of OPPs
346 * Register a devfreq cooling device. The available OPPs must be
467 * available OPPs must be registered for the device.
/Linux-v5.15/include/linux/platform_data/
Demif_plat.h71 * at higher OPPs)
74 * (typically at lower loads indicated by lower OPPs)
/Linux-v5.15/net/ipv6/
Dip6_offload.c161 const struct net_offload **opps) in ipv6_exthdrs_len() argument
169 *opps = rcu_dereference(inet6_offloads[proto]); in ipv6_exthdrs_len()
170 if (unlikely(!(*opps))) in ipv6_exthdrs_len()
172 if (!((*opps)->flags & INET6_PROTO_GSO_EXTHDR)) in ipv6_exthdrs_len()
/Linux-v5.15/drivers/clk/
Dclk-scpi.c67 const struct scpi_opp *opp = clk->info->opps; in __scpi_dvfs_round_rate()
92 opp = clk->info->opps + idx; in scpi_dvfs_recalc_rate()
107 const struct scpi_opp *opp = clk->info->opps; in __scpi_find_dvfs_index()

1234