Home
last modified time | relevance | path

Searched +full:performance +full:- +full:domain (Results 1 – 25 of 293) sorted by relevance

12345678910>>...12

/linux/Documentation/devicetree/bindings/dvfs/
H A Dperformance-domain.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/dvfs/performance-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic performance domains
10 - Sudeep Holla <sudeep.holla@arm.com>
13 This binding is intended for performance management of groups of devices or
14 CPUs that run in the same performance domain. Performance domains must not
15 be confused with power domains. A performance domain is defined by a set
16 of devices that always have to run at the same performance level. For a given
[all …]
/linux/include/linux/
H A Denergy_model.h1 /* SPDX-License-Identifier: GPL-2.0 */
15 * struct em_perf_state - Performance state of a performance domain
16 * @performance: CPU performance (capacity) at a given frequency
25 unsigned long performance; member
35 * EM_PERF_STATE_INEFFICIENT: The performance state is inefficient. There is
36 * in this em_perf_domain, another performance state with a higher frequency
43 * struct em_perf_table - Performance states table
46 * @state: List of performance states, in ascending order
55 * struct em_perf_domain - Performance domain
57 * @nr_perf_states: Number of performance states
[all …]
H A Dscmi_protocol.h1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2018-2021 ARM Ltd.
21 * struct scmi_revision_info - version information structure
30 * @impl_ver: A vendor-specific implementation version.
32 * @sub_vendor_id: A sub-vendor identifier(Null terminated ASCII string)
87 * struct scmi_clk_proto_ops - represents the various operations provided
133 * struct scmi_perf_proto_ops - represents the various operations provided
134 * by SCMI Performance Protocol
136 * @num_domains_get: gets the number of supported performance domains
137 * @info_get: get the information of a performance domain
[all …]
H A Dpm_domain.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * pm_domain.h - Definitions and headers related to device power domains.
25 * PD_FLAG_NO_DEV_LINK: As the default behaviour creates a device-link
26 * for every PM domain that gets attached, this
29 * PD_FLAG_DEV_LINK_ON: Add the DL_FLAG_RPM_ACTIVE to power-on the
30 * supplier and its PM domain when creating the
31 * device-links.
37 * index for the attached PM domain.
68 * ->power_on|off(), doesn't sleep. Hence, these
70 * enables genpd to power on/off the PM domain,
[all …]
/linux/Documentation/devicetree/bindings/cpufreq/
H A Dcpufreq-mediatek-hw.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/cpufreq/cpufreq-mediatek-hw.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Hector Yuan <hector.yuan@mediatek.com>
19 const: mediatek,cpufreq-hw
26 each frequency domain. Each entry corresponds to
27 a register bank for each frequency domain present.
29 "#performance-domain-cells":
31 Number of cells in a performance domain specifier.
[all …]
/linux/kernel/power/
H A Denergy_model.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (c) 2018-2021, Arm ltd.
21 * Mutex serializing the registrations of performance domains and letting
34 return (dev->bus == &cpu_subsys); in _is_cpu_device()
48 struct em_dbg_info *em_dbg = s->private; \
53 table = em_perf_state_from_pd(em_dbg->pd); \
54 val = table[em_dbg->ps_id].name; \
65 DEFINE_EM_DBG_SHOW(performance, performance);
87 /* Create per-ps directory */ in em_debug_create_ps()
95 debugfs_create_file("performance", 0444, d, &em_dbg[i], in em_debug_create_ps()
[all …]
/linux/drivers/pmdomain/qcom/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
18 be called qcom-cpr
21 tristate "Qualcomm RPMh Power domain driver"
24 QCOM RPMh Power domain driver to support power-domains with
25 performance states. The driver communicates a performance state
30 tristate "Qualcomm RPM Power domain driver"
36 QCOM RPM Power domain driver to support power-domains with
37 performance states. The driver communicates a performance state
/linux/Documentation/devicetree/bindings/power/
H A Dpower-domain.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/power/power-domain.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Rafael J. Wysocki <rjw@rjwysocki.net>
11 - Kevin Hilman <khilman@kernel.org>
12 - Ulf Hansson <ulf.hansson@linaro.org>
18 capable of scaling performance for a group of IP blocks.
20 This device tree binding can be used to bind PM domain consumer devices with
21 their PM domains provided by PM domain providers. A PM domain provider can be
[all …]
H A Dapple,pmgr-pwrstate.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/power/apple,pmgr-pwrstate.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Hector Martin <marcan@marcan.st>
13 - $ref: power-domain.yaml#
18 performance features. This binding describes the device power
22 represents a generic power domain provider, as documented in
23 Documentation/devicetree/bindings/power/power-domain.yaml.
25 represented via power-domains relationships between these nodes.
[all …]
/linux/Documentation/arch/powerpc/
H A Dassociativity.rst6 domains of substantially similar mean performance relative to resources outside
7 of that domain. Resources subsets of a given domain that exhibit better
8 performance relative to each other than relative to other resources subsets
9 are represented as being members of a sub-grouping domain. This performance
17 Hypervisor indicates the type/form of associativity used via "ibm,architecture-vec-5 property".
18 Bit 0 of byte 5 in the "ibm,architecture-vec-5" property indicates usage of Form 0 or Form 1.
20 bit 2 of byte 5 in the "ibm,architecture-vec-5" property is used.
23 ------
27 ------
28 With Form 1 a combination of ibm,associativity-reference-points, and ibm,associativity
[all …]
/linux/Documentation/scheduler/
H A Dsched-energy.rst6 ---------------
25 please refer to its documentation (see Documentation/power/energy-model.rst).
29 -----------------------------
32 - energy = [joule] (resource like a battery on powered devices)
33 - power = energy/time = [joule/second] = [watt]
38 performance [inst/s]
39 --------------------
45 -----------
48 while still getting 'good' performance. It is essentially an alternative
49 optimization objective to the current performance-only objective for the
[all …]
/linux/Documentation/admin-guide/pm/
H A Dintel_uncore_frequency_scaling.rst1 .. SPDX-License-Identifier: GPL-2.0
8 :Copyright: |copy| 2022-2023 Intel Corporation
13 ------------
17 performance, SoCs have internal algorithms for scaling uncore frequency. These
20 It is possible that users have different expectations of uncore performance and
22 the scaling min/max frequencies via cpufreq sysfs to improve CPU performance.
25 different core and uncore performance at distinct phases and they may want to
27 improve overall performance.
30 ---------------
45 This is a read-only attribute. If users adjust max_freq_khz,
[all …]
/linux/Documentation/power/
H A Denergy-model.rst1 .. SPDX-License-Identifier: GPL-2.0
8 -----------
11 the power consumed by devices at various performance levels, and the kernel
12 subsystems willing to use that information to make energy-aware decisions.
18 each and every client subsystem to re-implement support for each and every
23 The power values might be expressed in micro-Watts or in an 'abstract scale'.
26 can be found in the Energy-Aware Scheduler documentation
27 Documentation/scheduler/sched-energy.rst. For some subsystems like thermal or
30 thus the real micro-Watts might be needed. An example of these requirements can
32 Documentation/driver-api/thermal/power_allocator.rst.
[all …]
/linux/drivers/base/power/
H A Dcommon.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/common.c - Common device power management code.
19 * dev_pm_get_subsys_data - Create or refcount power.subsys_data for device.
32 return -ENOMEM; in dev_pm_get_subsys_data()
34 spin_lock_irq(&dev->power.lock); in dev_pm_get_subsys_data()
36 if (dev->power.subsys_data) { in dev_pm_get_subsys_data()
37 dev->power.subsys_data->refcount++; in dev_pm_get_subsys_data()
39 spin_lock_init(&psd->lock); in dev_pm_get_subsys_data()
40 psd->refcount = 1; in dev_pm_get_subsys_data()
41 dev->power.subsys_data = psd; in dev_pm_get_subsys_data()
[all …]
/linux/drivers/pmdomain/arm/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "SCMI performance domain driver"
8 This enables support for the SCMI performance domains which can be
15 tristate "SCMI power domain driver"
28 tristate "SCPI power domain driver"
H A Dscmi_perf_domain.c1 // SPDX-License-Identifier: GPL-2.0
3 * SCMI performance domain support.
32 if (!pd->info->set_perf) in scmi_pd_set_perf_state()
36 return -EINVAL; in scmi_pd_set_perf_state()
38 ret = pd->perf_ops->level_set(pd->ph, pd->domain_id, state, false); in scmi_pd_set_perf_state()
40 dev_warn(&genpd->dev, "Failed with %d when trying to set %d perf level", in scmi_pd_set_perf_state()
54 * the performance level can be changed. in scmi_pd_attach_dev()
56 if (!pd->info->set_perf) in scmi_pd_attach_dev()
59 ret = pd->perf_ops->device_opps_add(pd->ph, dev, pd->domain_id); in scmi_pd_attach_dev()
71 if (!pd->info->set_perf) in scmi_pd_detach_dev()
[all …]
/linux/arch/arm64/boot/dts/mediatek/
H A Dmt8192.dtsi1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
7 /dts-v1/;
8 #include <dt-bindings/clock/mt8192-clk.h>
9 #include <dt-bindings/gce/mt8192-gce.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/memory/mt8192-larb-port.h>
13 #include <dt-bindings/pinctrl/mt8192-pinfunc.h>
14 #include <dt-bindings/phy/phy.h>
15 #include <dt-bindings/power/mt8192-power.h>
[all …]
/linux/drivers/cpufreq/
H A Dscmi-cpufreq.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2018-2021 ARM Ltd.
11 #include <linux/clk-provider.h>
49 priv = policy->driver_data; in scmi_cpufreq_get_rate()
51 ret = perf_ops->freq_get(ph, priv->domain_id, &rate, false); in scmi_cpufreq_get_rate()
58 * perf_ops->freq_set is not a synchronous, the actual OPP change will
65 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_set_target()
66 u64 freq = policy->freq_table[index].frequency; in scmi_cpufreq_set_target()
68 return perf_ops->freq_set(ph, priv->domain_id, freq * 1000, false); in scmi_cpufreq_set_target()
74 struct scmi_data *priv = policy->driver_data; in scmi_cpufreq_fast_switch()
[all …]
/linux/drivers/clk/tegra/
H A Dclk-device.c1 // SPDX-License-Identifier: GPL-2.0-only
4 #include <linux/clk-provider.h>
18 * This driver manages performance state of the core power domain for the
33 struct device *dev = clk_dev->dev; in tegra_clock_set_pd_state()
38 if (opp == ERR_PTR(-ERANGE)) { in tegra_clock_set_pd_state()
43 * need to set up performance state of the power domain and in tegra_clock_set_pd_state()
71 mutex_lock(&clk_dev->lock); in tegra_clock_change_notify()
74 if (cnd->new_rate > cnd->old_rate) in tegra_clock_change_notify()
75 err = tegra_clock_set_pd_state(clk_dev, cnd->new_rate); in tegra_clock_change_notify()
79 err = tegra_clock_set_pd_state(clk_dev, cnd->old_rate); in tegra_clock_change_notify()
[all …]
/linux/include/uapi/linux/
H A Disst_if.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
16 * struct isst_if_platform_info - Define platform information
25 * @mmio_supported: Support of mmio interface for core-power feature
40 * struct isst_if_cpu_map - CPU mapping between logical and physical CPU
53 * struct isst_if_cpu_maps - structure for CPU map IOCTL
67 * struct isst_if_io_reg - Read write PUNIT IO register
84 * struct isst_if_io_regs - structure for IO register commands
99 * struct isst_if_mbox_cmd - Structure to define mail box command
121 * struct isst_if_mbox_cmds - structure for mailbox commands
136 * struct isst_if_msr_cmd - Structure to define msr command
[all …]
/linux/drivers/pmdomain/
H A Dcore.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/domain.c - Common code related to device power domains.
37 __routine = genpd->dev_ops.callback; \
56 mutex_lock(&genpd->mlock); in genpd_lock_mtx()
62 mutex_lock_nested(&genpd->mlock, depth); in genpd_lock_nested_mtx()
67 return mutex_lock_interruptible(&genpd->mlock); in genpd_lock_interruptible_mtx()
72 return mutex_unlock(&genpd->mlock); in genpd_unlock_mtx()
83 __acquires(&genpd->slock) in genpd_lock_spin()
87 spin_lock_irqsave(&genpd->slock, flags); in genpd_lock_spin()
88 genpd->lock_flags = flags; in genpd_lock_spin()
[all …]
/linux/arch/arm64/boot/dts/apple/
H A Dt600x-dieX.dtsi1 // SPDX-License-Identifier: GPL-2.0+ OR MIT
10 …compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
12 #performance-domain-cells = <0>;
16 …compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
18 #performance-domain-cells = <0>;
22 …compatible = "apple,t6000-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
24 #performance-domain-cells = <0>;
27 DIE_NODE(pmgr): power-management@28e080000 {
28 compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
29 #address-cells = <1>;
[all …]
/linux/drivers/firmware/arm_scmi/
H A DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
9 set of operating system-independent software interfaces that are
11 interfaces for: Discovery and self-description of the interfaces
12 it supports, Power domain management which is the ability to place
13 a given device or domain into the various power-saving states that
14 it supports, Performance management which is the ability to control
15 the performance of a domain that is composed of compute engines
80 The framework allows the definition of platform-specific code quirks
/linux/Documentation/core-api/
H A Ddma-attributes.rst6 defined in linux/dma-mapping.h.
9 ----------------------
19 ----------------------
22 buffered to improve performance.
29 --------------------------
33 such mapping is non-trivial task and consumes very limited resources
47 ----------------------
50 buffer from CPU domain to device domain. Some advanced use cases might
55 the buffer sharing. The first call transfers a buffer from 'CPU' domain
56 to 'device' domain, what synchronizes CPU caches for the given region
[all …]
/linux/drivers/xen/
H A Dxen-acpi-processor.c1 // SPDX-License-Identifier: GPL-2.0-only
7 * https://lore.kernel.org/lkml/1322673664-14642-6-git-send-email-konrad.wilk@oracle.com
35 * - as those shrink to nr_cpu_bits (which is dependent on possible_cpu), which
40 /* Mutex to protect the acpi_ids_done - for CPU hotplug use. */
48 /* Which ACPI P-State dependencies for a enumerated processor */
56 .u.set_pminfo.id = _pr->acpi_id, in push_cxx_to_hypervisor()
64 dst_cx_states = kcalloc(_pr->power.count, in push_cxx_to_hypervisor()
67 return -ENOMEM; in push_cxx_to_hypervisor()
69 for (ok = 0, i = 1; i <= _pr->power.count; i++) { in push_cxx_to_hypervisor()
70 cx = &_pr->power.states[i]; in push_cxx_to_hypervisor()
[all …]

12345678910>>...12