| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/power/ |
| D | domain-idle-state.yaml | 1 # 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 …]
|
| D | power-domain.yaml | 1 # 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 …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/power/ |
| D | power_domain.txt | 7 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== 17 - #power-domain-cells : Number of cells in a PM domain specifier; 18 Typically 0 for nodes representing a single PM domain and 1 for nodes 23 - power-domains : A phandle and PM domain specifier as defined by bindings of 25 Some power domains might be powered from another power domain (or have 27 a standard PM domain consumer binding is used. When provided, all domains [all …]
|
| D | domain-idle-state.txt | 1 PM Domain Idle State Node: 3 A domain idle state node represents the state parameters that will be used to 4 select the state when there are no active components in the domain. 6 The state node has the following parameters - 8 - compatible: 11 Definition: Must be "domain-idle-state". 13 - entry-latency-us 15 Value type: <prop-encoded-array> 17 microseconds required to enter the idle state. 18 The exit-latency-us duration may be guaranteed [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/ |
| D | psci.yaml | 1 # 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 …]
|
| /kernel/linux/linux-5.10/Documentation/trace/coresight/ |
| D | coresight-cpu-debug.rst | 9 ------------ 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-4.19/Documentation/trace/ |
| D | coresight-cpu-debug.txt | 8 ------------ 10 Coresight CPU debug module is defined in ARMv8-a architecture reference manual 12 debug module and it is mainly used for two modes: self-hosted debug and 15 explore debugging method which rely on self-hosted debug mode, this document 18 The debug module provides sample-based profiling extension, which can be used 19 to sample CPU program counter, secure state and exception level, etc; usually 20 every CPU has one dedicated debug module to be connected. Based on self-hosted 28 -------------- 30 - During driver registration, it uses EDDEVID and EDDEVID1 - two device ID 31 registers to decide if sample-based profiling is implemented or not. On some [all …]
|
| D | events-power.rst | 8 - 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/drivers/cpuidle/ |
| D | cpuidle-psci.c | 1 // 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 …]
|
| D | cpuidle-psci-domain.c | 1 // 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/ |
| D | pm33xx-core.c | 1 // 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 …]
|
| D | clockdomain.h | 1 /* 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-4.19/arch/arm/mach-omap2/ |
| D | clockdomain.h | 5 * Copyright (C) 2008-2011 Nokia Corporation 32 * CLKDM_MISSING_IDLE_REPORTING: The idle status of the IP blocks and 34 * the PRCM when determining whether the clockdomain is idle. 36 * hardware-supervised idle mode, the PRCM may transition the 37 * enclosing powerdomain to a low power state, even when devices 41 * force-sleep mode, then the HW_AUTO mode will be used to put the 43 * the force-wakeup mode, then it will be used whenever a clock or 60 * struct clkdm_autodep - clkdm deps to add when entering/exiting hwsup mode 61 * @clkdm: clockdomain to add wkdep+sleepdep on - set name member only 69 * omap_hwmod-based fine-grained module idle control is added. [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-class-regulator | 1 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 …]
|
| /kernel/linux/linux-4.19/Documentation/ABI/testing/ |
| D | sysfs-class-regulator | 1 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. 43 idle 52 "error" indicates an out-of-regulation status such as being 56 "fast", "normal", "idle", and "standby" are all detailed 98 measured in microvolts (i.e. E-6 Volts), for regulators 113 setting measured in microamps (i.e. E-6 Amps), for regulators [all …]
|
| /kernel/linux/linux-5.10/kernel/ |
| D | cpu_pm.c | 1 // 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/trace/ |
| D | events-power.rst | 8 - 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-4.19/Documentation/devicetree/bindings/arm/msm/ |
| D | qcom,idle-state.txt | 1 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/Documentation/devicetree/bindings/arm/msm/ |
| D | qcom,idle-state.txt | 1 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/ |
| D | cpu_pm.h | 1 /* 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 …]
|
| /kernel/linux/linux-5.10/drivers/base/power/ |
| D | domain_governor.c | 1 // 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 …]
|
| D | domain.c | 1 // 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-4.19/include/linux/ |
| D | cpu_pm.h | 25 * When a CPU goes to a low power state that turns off power to the CPU's 26 * power domain, the contents of some blocks (floating point coprocessors, 27 * interrupt controllers, caches, timers) in the same power domain can 28 * be lost. The cpm_pm notifiers provide a method for platform idle, suspend, 38 * CPU. They are used to save per-cpu context for affected blocks. 40 * CPU cluster notifications apply to all CPUs in a single power domain. They 42 * after all the CPUs in the power domain have been notified of the low power 43 * state. 50 /* A single cpu is entering a low power state */ 53 /* A single cpu failed to enter a low power state */ [all …]
|
| /kernel/linux/linux-4.19/include/xen/interface/io/ |
| D | tpmif.h | 6 * 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/include/xen/interface/io/ |
| D | tpmif.h | 6 * 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 …]
|