Home
last modified time | relevance | path

Searched +full:domain +full:- +full:idle +full:- +full:state (Results 1 – 25 of 202) sorted by relevance

123456789

/kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/
Ddomain-idle-state.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
4 $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: PM Domain Idle States binding description
10 - Ulf Hansson <ulf.hansson@linaro.org>
13 A domain idle state node represents the state parameters that will be used to
14 select the state when there are no active components in the PM domain.
18 const: domain-idle-states
21 "^(cpu|cluster|domain)-":
[all …]
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>
19 This device tree binding can be used to bind PM domain consumer devices with
20 their PM domains provided by PM domain providers. A PM domain provider can be
23 phandle arguments (so called PM domain specifiers) of length specified by the
[all …]
Dpower_domain.txt7 This device tree binding can be used to bind PM domain consumer devices with
8 their PM domains provided by PM domain providers. A PM domain provider can be
11 phandle arguments (so called PM domain specifiers) of length specified by the
12 #power-domain-cells property in the PM domain provider node.
14 ==PM domain providers==
16 See power-domain.yaml.
18 ==PM domain consumers==
21 - power-domains : A list of PM domain specifiers, as defined by bindings of
22 the power controller that is the PM domain provider.
25 - power-domain-names : A list of power domain name strings sorted in the same
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/
Dpsci.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Power State Coordination Interface (PSCI)
10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
14 ARM DEN 0022A ("Power State Coordination Interface System Software on ARM
15 processors") can be used by Linux to initiate various CPU-centric power
25 r0 => 32-bit Function ID / return value
26 {r1 - r3} => Parameters
31 [2] Power State Coordination Interface (PSCI) specification
[all …]
Dcoresight-cpu-debug.txt5 external debug module is mainly used for two modes: self-hosted debug and
8 debug module provides sample-based profiling extension, which can be used
9 to sample CPU program counter, secure state and exception level, etc;
14 - compatible : should be "arm,coresight-cpu-debug"; supplemented with
18 - reg : physical base address and length of the register set.
20 - clocks : the clock associated to this component.
22 - clock-names : the name of the clock referenced by the code. Since we are
29 - cpu : the CPU phandle the debug module is affined to. Do not assume it
34 - power-domains: a phandle to the debug power domain. We use "power-domains"
36 power domain and if necessary to use "cpuidle.off=1" or
[all …]
/kernel/linux/linux-5.10/Documentation/trace/coresight/
Dcoresight-cpu-debug.rst9 ------------
11 Coresight CPU debug module is defined in ARMv8-a architecture reference manual
13 debug module and it is mainly used for two modes: self-hosted debug and
16 explore debugging method which rely on self-hosted debug mode, this document
19 The debug module provides sample-based profiling extension, which can be used
20 to sample CPU program counter, secure state and exception level, etc; usually
21 every CPU has one dedicated debug module to be connected. Based on self-hosted
29 --------------
31 - During driver registration, it uses EDDEVID and EDDEVID1 - two device ID
32 registers to decide if sample-based profiling is implemented or not. On some
[all …]
/kernel/linux/linux-5.10/drivers/cpuidle/
Dcpuidle-psci.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * PSCI CPU idle driver.
28 #include "cpuidle-psci.h"
40 void psci_set_domain_state(u32 state) in psci_set_domain_state() argument
42 __this_cpu_write(domain_state, state); in psci_set_domain_state()
50 static inline int psci_enter_state(int idx, u32 state) in psci_enter_state() argument
52 return CPU_PM_CPU_IDLE_ENTER_PARAM(psci_cpu_suspend_enter, idx, state); in psci_enter_state()
59 u32 *states = data->psci_states; in psci_enter_domain_idle_state()
60 struct device *pd_dev = data->dev; in psci_enter_domain_idle_state()
61 u32 state; in psci_enter_domain_idle_state() local
[all …]
Dcpuidle-psci-domain.c1 // SPDX-License-Identifier: GPL-2.0
3 * PM domains for CPUs via genpd - managed by cpuidle-psci.
22 #include "cpuidle-psci.h"
34 struct genpd_power_state *state = &pd->states[pd->state_idx]; in psci_pd_power_off() local
37 if (!state->data) in psci_pd_power_off()
41 return -EBUSY; in psci_pd_power_off()
43 /* OSI mode is enabled, set the corresponding domain state. */ in psci_pd_power_off()
44 pd_state = state->data; in psci_pd_power_off()
64 ret = -ENOMEM; in psci_pd_parse_state_nodes()
74 i--; in psci_pd_parse_state_nodes()
[all …]
/kernel/linux/linux-5.10/arch/arm/mach-omap2/
Dpm33xx-core.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
18 #include <linux/platform_data/gpio-omap.h>
34 #include "omap-secure.h"
53 return -ENOMEM; in am43xx_map_scu()
61 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am33xx_check_off_mode_enable()
70 * Check for am437x-gp-evm which has the right Hardware design to in am43xx_check_off_mode_enable()
73 if (of_machine_is_compatible("ti,am437x-gp-evm") && enable_off_mode) in am43xx_check_off_mode_enable()
76 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am43xx_check_off_mode_enable()
81 static int amx3_common_init(int (*idle)(u32 wfi_flags)) in amx3_common_init()
[all …]
Dclockdomain.h1 /* SPDX-License-Identifier: GPL-2.0-only */
6 * Copyright (C) 2008-2011 Nokia Corporation
29 * CLKDM_MISSING_IDLE_REPORTING: The idle status of the IP blocks and
31 * the PRCM when determining whether the clockdomain is idle.
33 * hardware-supervised idle mode, the PRCM may transition the
34 * enclosing powerdomain to a low power state, even when devices
38 * force-sleep mode, then the HW_AUTO mode will be used to put the
40 * the force-wakeup mode, then it will be used whenever a clock or
57 * struct clkdm_autodep - clkdm deps to add when entering/exiting hwsup mode
58 * @clkdm: clockdomain to add wkdep+sleepdep on - set name member only
[all …]
/kernel/linux/linux-5.10/Documentation/ABI/testing/
Dsysfs-class-regulator1 What: /sys/class/regulator/.../state
7 state. This reports the regulator enable control, for
20 supplying power to the system (unless some non-Linux
23 'unknown' means software cannot determine the state, or
24 the reported state is invalid.
38 - off
39 - on
40 - error
41 - fast
42 - normal
[all …]
Dsysfs-devices-system-cpu2 Date: pre-git history
3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
37 See Documentation/admin-guide/cputopology.rst for more information.
43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
58 Contact: Linux memory management mailing list <linux-mm@kvack.org>
67 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
77 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
93 core_siblings_list: human-readable list of the logical CPU
103 thread_siblings_list: human-readable list of cpu#'s hardware
[all …]
/kernel/linux/linux-5.10/Documentation/trace/
Devents-power.rst8 - Power state switch which reports events related to suspend (S-states),
9 cpuidle (C-states) and cpufreq (P-states)
10 - System clock related changes
11 - Power domains related changes and transitions
18 1. Power state switch events
22 -----------------
24 A 'cpu' event class gathers the CPU-related events: cpuidle and
28 cpu_idle "state=%lu cpu_id=%lu"
29 cpu_frequency "state=%lu cpu_id=%lu"
36 machine_suspend "state=%lu"
[all …]
/kernel/linux/linux-5.10/kernel/
Dcpu_pm.c1 // SPDX-License-Identifier: GPL-2.0-only
18 * Notifications for cpu_pm will be issued by the idle task itself, which can
35 * disfunctional in cpu idle. Copy RCU_NONIDLE code to let RCU know in cpu_pm_notify()
62 * cpu_pm_register_notifier - register a driver with cpu_pm
83 * cpu_pm_unregister_notifier - unregister a driver with cpu_pm
103 * cpu_pm_enter - CPU low power entry notifier
105 * Notifies listeners that a single CPU is entering a low power state that may
106 * cause some blocks in the same power domain as the cpu to reset.
111 * co-processor, interrupt controller and its PM extensions, local CPU
124 * cpu_pm_exit - CPU low power exit notifier
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/msm/
Dqcom,idle-state.txt1 QCOM Idle States for cpuidle driver
3 ARM provides idle-state node to define the cpuidle states, as defined in [1].
4 cpuidle-qcom is the cpuidle driver for Qualcomm SoCs and uses these idle
5 states. Idle states have different enter/exit latency and residency values.
6 The idle states supported by the QCOM SoC are defined as -
16 trigger to execute the SPM state machine. The SPM state machine waits for the
18 hierarchy to enter standby states, when all cpus are idle. An interrupt brings
19 the SPM state machine out of its wait, the next step is to ensure that the
21 execution. This state is defined as a generic ARM WFI state by the ARM cpuidle
22 driver and is not defined in the DT. The SPM state machine should be
[all …]
/kernel/linux/linux-5.10/include/linux/
Dcpu_pm.h1 /* SPDX-License-Identifier: GPL-2.0-only */
16 * When a CPU goes to a low power state that turns off power to the CPU's
17 * power domain, the contents of some blocks (floating point coprocessors,
18 * interrupt controllers, caches, timers) in the same power domain can
19 * be lost. The cpm_pm notifiers provide a method for platform idle, suspend,
29 * CPU. They are used to save per-cpu context for affected blocks.
31 * CPU cluster notifications apply to all CPUs in a single power domain. They
33 * after all the CPUs in the power domain have been notified of the low power
34 * state.
41 /* A single cpu is entering a low power state */
[all …]
Denergy_model.h1 /* SPDX-License-Identifier: GPL-2.0 */
14 * em_perf_state - Performance state of a performance domain
16 * @power: The power consumed at this level, in milli-watts (by 1 CPU or
29 * em_perf_domain - Performance domain
32 * @cpus: Cpumask covering the CPUs of the domain. It's here
37 * In case of CPU device, a "performance domain" represents a group of CPUs
38 * whose performance is scaled together. All CPUs of a performance domain
39 * must have the same micro-architecture. Performance domains often have
40 * a 1-to-1 mapping with CPUFreq policies. In case of other devices the @cpus
49 #define em_span_cpus(em) (to_cpumask((em)->cpus))
[all …]
Dpm_domain.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * pm_domain.h - Definitions and headers related to device power domains.
31 * ->power_on|off(), doesn't sleep. Hence, these
33 * enables genpd to power on/off the PM domain,
39 * GENPD_FLAG_ALWAYS_ON: Instructs genpd to always keep the PM domain
42 * GENPD_FLAG_ACTIVE_WAKEUP: Instructs genpd to keep the PM domain powered
50 * deploy idle power management support for CPUs
53 * last-man-standing algorithm, for the CPUs in the
54 * PM domain.
56 * GENPD_FLAG_RPM_ALWAYS_ON: Instructs genpd to always keep the PM domain
[all …]
/kernel/linux/linux-5.10/drivers/base/power/
Ddomain_governor.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/domain_governor.c - Governors for device PM domains.
20 if (dev->power.subsys_data && dev->power.subsys_data->domain_data) { in dev_update_qos_constraint()
22 * Only take suspend-time QoS constraints of devices into in dev_update_qos_constraint()
28 constraint_ns = dev_gpd_data(dev)->td.effective_constraint_ns; in dev_update_qos_constraint()
31 * The child is not in a domain and there's no info on its in dev_update_qos_constraint()
47 * default_suspend_ok - Default PM domain governor routine to suspend devices.
52 struct gpd_timing_data *td = &dev_gpd_data(dev)->td; in default_suspend_ok()
58 spin_lock_irqsave(&dev->power.lock, flags); in default_suspend_ok()
60 if (!td->constraint_changed) { in default_suspend_ok()
[all …]
Ddomain.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/domain.c - Common code related to device power domains.
34 __routine = genpd->dev_ops.callback; \
53 mutex_lock(&genpd->mlock); in genpd_lock_mtx()
59 mutex_lock_nested(&genpd->mlock, depth); in genpd_lock_nested_mtx()
64 return mutex_lock_interruptible(&genpd->mlock); in genpd_lock_interruptible_mtx()
69 return mutex_unlock(&genpd->mlock); in genpd_unlock_mtx()
80 __acquires(&genpd->slock) in genpd_lock_spin()
84 spin_lock_irqsave(&genpd->slock, flags); in genpd_lock_spin()
85 genpd->lock_flags = flags; in genpd_lock_spin()
[all …]
/kernel/linux/linux-5.10/include/xen/interface/io/
Dtpmif.h6 * This file is in the public domain.
14 * Xenbus state machine
19 * 3. Frontend populates ring-ref, event-channel, feature-protocol-v2
21 * 5. Backend maps grant and event channel, verifies feature-protocol-v2
23 * 7. Frontend verifies feature-protocol-v2, transitions to Connected
26 * 1. State is changed to XenbusStateClosing
28 * 3. Backend unmaps grant and event, changes state to InitWait
32 VTPM_STATE_IDLE, /* no contents / vTPM idle / cancel complete */
34 VTPM_STATE_FINISH, /* response ready / vTPM idle */
37 /* The backend should only change state to IDLE or FINISH, while the
[all …]
/kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/
Dmsm8916.dtsi1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
6 #include <dt-bindings/arm/coresight-cti-dt.h>
7 #include <dt-bindings/clock/qcom,gcc-msm8916.h>
8 #include <dt-bindings/clock/qcom,rpmcc.h>
9 #include <dt-bindings/interconnect/qcom,msm8916.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/reset/qcom,gcc-msm8916.h>
12 #include <dt-bindings/thermal/thermal.h>
15 interrupt-parent = <&intc>;
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mmc/
Dti-omap-hsmmc.txt10 --------------------
11 - compatible:
12 Should be "ti,omap2-hsmmc", for OMAP2 controllers
13 Should be "ti,omap3-hsmmc", for OMAP3 controllers
14 Should be "ti,omap3-pre-es3-hsmmc" for OMAP3 controllers pre ES3.0
15 Should be "ti,omap4-hsmmc", for OMAP4 controllers
16 Should be "ti,am33xx-hsmmc", for AM335x controllers
17 Should be "ti,k2g-hsmmc", "ti,omap4-hsmmc" for 66AK2G controllers.
20 ---------------------------------
22 - ti,hwmods: Must be "mmc<n>", n is controller instance starting 1.
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/pm/
Ddevices.rst1 .. SPDX-License-Identifier: GPL-2.0
10 :Copyright: |copy| 2010-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc.
18 management (PM) code is also driver-specific. Most drivers will do very
22 This writeup gives an overview of how drivers interact with system-wide
25 background for the domain-specific work you'd do with any specific driver.
31 Drivers will use one or both of these models to put devices into low-power
36 Drivers can enter low-power states as part of entering system-wide
37 low-power states like "suspend" (also known as "suspend-to-RAM"), or
39 "suspend-to-disk").
42 by implementing various role-specific suspend and resume methods to
[all …]
/kernel/linux/linux-5.10/drivers/soc/rockchip/
Dpm_domains.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Rockchip Generic power domain support.
19 #include <dt-bindings/power/px30-power.h>
20 #include <dt-bindings/power/rk3036-power.h>
21 #include <dt-bindings/power/rk3066-power.h>
22 #include <dt-bindings/power/rk3128-power.h>
23 #include <dt-bindings/power/rk3188-power.h>
24 #include <dt-bindings/power/rk3228-power.h>
25 #include <dt-bindings/power/rk3288-power.h>
26 #include <dt-bindings/power/rk3328-power.h>
[all …]

123456789