Home
last modified time | relevance | path

Searched +full:suspend +full:- +full:to +full:- +full:idle (Results 1 – 25 of 615) sorted by relevance

12345678910>>...25

/Linux-v6.6/Documentation/admin-guide/pm/
Dsuspend-flows.rst1 .. SPDX-License-Identifier: GPL-2.0
5 System Suspend Code Flows
12 At least one global system-wide transition needs to be carried out for the
13 system to get from the working state into one of the supported
14 :doc:`sleep states <sleep-states>`. Hibernation requires more than one
15 transition to occur for this purpose, but the other sleep states, commonly
16 referred to as *system-wide suspend* (or simply *system suspend*) states, need
20 the target sleep state is referred to as *system suspend* too (in the majority
23 working state is referred to as *system resume*.
25 The kernel code flows associated with the suspend and resume transitions for
[all …]
Dsleep-states.rst1 .. SPDX-License-Identifier: GPL-2.0
13 Sleep states are global low-power states of the entire system in which user
22 the Linux kernel can support up to four system sleep states, including
23 hibernation and up to three variants of system suspend. The sleep states that
28 Suspend-to-Idle section in Sleep States That Can Be Supported
29 ---------------
31 This is a generic, pure software, light-weight variant of system suspend (also
32 referred to as S2I or S2Idle). It allows more energy to be saved relative to
33 runtime idle by freezing user space, suspending the timekeeping and putting all
34 I/O devices into low-power states (possibly lower-power than available in the
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/cpu/
Didle-states.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/cpu/idle-states.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Idle states
10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
11 - Anup Patel <anup@brainfault.org>
15 1 - Introduction
18 ARM and RISC-V systems contain HW capable of managing power consumption
19 dynamically, where cores can be put in different low-power states (ranging
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/arm/
Dpsci.yaml1 # SPDX-License-Identifier: GPL-2.0
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
15 processors") can be used by Linux to initiate various CPU-centric power
18 Issue A of the specification describes functions for CPU suspend, hotplug
21 Functions are invoked by trapping to the privilege level of the PSCI
23 in a manner similar to that specified by AAPCS:
25 r0 => 32-bit Function ID / return value
26 {r1 - r3} => Parameters
[all …]
/Linux-v6.6/Documentation/driver-api/usb/
Dpower-management.rst1 .. _usb-power-management:
7 :Date: Last-updated: February 2014
11 ---------
14 * When is a USB device idle?
17 * Changing the default idle-delay time
31 -------------------------
35 component is ``suspended`` it is in a nonfunctional low-power state; it
37 ``resumed`` (returned to a functional full-power state) when the kernel
38 needs to use it. (There also are forms of PM in which components are
44 the system, we speak of it as a "system suspend". When a particular
[all …]
/Linux-v6.6/kernel/power/
Dsuspend.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * kernel/power/suspend.c - Suspend to RAM and standby functionality.
26 #include <linux/suspend.h>
65 * pm_suspend_default_s2idle - Check if suspend-to-idle is the default suspend.
67 * Return 'true' if suspend-to-idle has been selected as the default system
68 * suspend method.
103 /* Push all the CPUs into the idle loop. */ in s2idle_enter()
105 /* Make the current CPU wait so it can enter the idle loop too. */ in s2idle_enter()
122 pm_pr_dbg("suspend-to-idle\n"); in s2idle_loop()
125 * Suspend-to-idle equals: in s2idle_loop()
[all …]
/Linux-v6.6/Documentation/power/
Dsuspend-and-interrupts.rst2 System Suspend and Device Interrupts
10 -----------------------------------
13 suspend after the "late" phase of suspending devices (that is, after all of the
14 ->prepare, ->suspend and ->suspend_late callbacks have been executed for all
17 The rationale for doing so is that after the "late" phase of device suspend
19 trigger and if any devices have not been suspended properly yet, it is better to
23 In some cases they would attempt to access, for example, memory address spaces
24 of suspended devices and cause unpredictable behavior to ensue as a result.
25 Unfortunately, such problems are very difficult to debug and the introduction
26 of suspend_device_irqs(), along with the "noirq" phase of device suspend and
[all …]
/Linux-v6.6/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
10 - Ulf Hansson <ulf.hansson@linaro.org>
13 A domain idle state node represents the state parameters that will be used to
18 const: domain-idle-states
21 "^(cpu|cluster|domain)-":
25 Each state node represents a domain idle state description.
[all …]
/Linux-v6.6/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/
11 #include <linux/suspend.h>
14 #include <asm/suspend.h>
18 #include <linux/platform_data/gpio-omap.h>
33 #include "omap-secure.h"
52 return -ENOMEM; in am43xx_map_scu()
60 pr_warn("WARNING: This platform does not support off-mode, entering DeepSleep suspend.\n"); in am33xx_check_off_mode_enable()
69 * Check for am437x-gp-evm which has the right Hardware design to in am43xx_check_off_mode_enable()
72 if (of_machine_is_compatible("ti,am437x-gp-evm") && enable_off_mode) in am43xx_check_off_mode_enable()
[all …]
/Linux-v6.6/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 …]
/Linux-v6.6/drivers/cpuidle/
Dcpuidle-psci.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * PSCI CPU idle driver.
29 #include "cpuidle-psci.h"
56 u32 *states = data->psci_states; in __psci_enter_domain_idle_state()
57 struct device *pd_dev = data->dev; in __psci_enter_domain_idle_state()
63 return -1; in __psci_enter_domain_idle_state()
65 /* Do runtime PM to manage a hierarchical CPU toplogy. */ in __psci_enter_domain_idle_state()
75 ret = psci_cpu_suspend_enter(state) ? -1 : idx; in __psci_enter_domain_idle_state()
84 /* Clear the domain state to start fresh when back from idle. */ in __psci_enter_domain_idle_state()
118 /* Clear domain state to start fresh at next online. */ in psci_idle_cpuhp_down()
[all …]
Dcpuidle-arm.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * ARM/ARM64 generic CPU idle driver.
25 * arm_enter_idle_state - Programs CPU to enter the specified state
31 * Called from the CPUidle framework to program the device to the
38 * Pass idle state index to arm_cpuidle_suspend which in turn in arm_enter_idle_state()
39 * will call the CPU ops suspend protocol with idle index as a in arm_enter_idle_state()
52 * to work around this issue and allow installing a special
53 * handler for idle state index 0.
66 { .compatible = "arm,idle-state",
75 * framework. It relies on core code to parse the idle states
[all …]
Dcpuidle-riscv-sbi.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * RISC-V SBI CPU idle driver.
9 #define pr_fmt(fmt) "cpuidle-riscv-sbi: " fmt
26 #include <asm/suspend.h>
51 data->available = true; in sbi_set_domain_state()
52 data->state = state; in sbi_set_domain_state()
59 return data->state; in sbi_get_domain_state()
66 data->available = false; in sbi_clear_domain_state()
73 return data->available; in sbi_is_domain_state_available()
114 u32 *states = data->states; in __sbi_enter_domain_idle_state()
[all …]
Dcpuidle.c2 * cpuidle.c - core cpuidle infrastructure
4 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
11 #include "linux/percpu-defs.h"
17 #include <linux/sched/idle.h>
25 #include <linux/suspend.h>
55 return off || !initialized || !drv || !dev || !dev->enabled; in cpuidle_not_available()
59 * cpuidle_play_dead - cpu off-lining
70 return -ENODEV; in cpuidle_play_dead()
72 /* Find lowest-power state that supports long-term idle */ in cpuidle_play_dead()
73 for (i = drv->state_count - 1; i >= 0; i--) in cpuidle_play_dead()
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/powerpc/4xx/
Dcpm.txt4 - compatible : compatible list, currently only "ibm,cpm"
5 - dcr-access-method : "native"
6 - dcr-reg : < DCR register range >
9 - er-offset : All 4xx SoCs with a CPM controller have
15 er-offset = <1>.
16 - unused-units : specifier consist of one cell. For each
18 in CPM will be set to turn off unused
20 - idle-doze : specifier consist of one cell. For each
22 in CPM will be set to turn off unused
24 - standby : specifier consist of one cell. For each
[all …]
/Linux-v6.6/arch/powerpc/platforms/4xx/
Dcpm.c1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Based on arch/powerpc/platforms/44x/idle.c:
16 * See file CREDITS for list of people who contributed to this
24 #include <linux/suspend.h>
26 #include <asm/dcr-native.h>
43 unsigned int suspend; member
64 * unconditionally put to sleep when the corresponding CPM bit is in cpm_set()
66 * put to sleep, they will. Here we do not verify, we just in cpm_set()
67 * set them and expect them to eventually go off when they can. in cpm_set()
72 /* return old state, to restore later if needed */ in cpm_set()
[all …]
/Linux-v6.6/arch/x86/kernel/
Dapm_32.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* -*- linux-c -*-
4 * Copyright 1994-2001 Stephen Rothwell (sfr@canb.auug.org.au)
10 * Minor enhancements and updates (to the patch set) for 1.3.x
13 * Make /proc/apm easy to format (bump driver version)
16 * (Thanks to Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>)
43 * 1.1: support user-space standby and suspend, power off after system
46 * is only incorrect by 30-60mS (vs. 1S previously) (Gabor J. Toth
48 * screen-blanking and gpm (Stephen Rothwell); Linux 1.99.4
49 * 1.2a:Simple change to stop mysterious bug reports with SMP also added
[all …]
/Linux-v6.6/Documentation/devicetree/bindings/regulator/
Drohm,bd71828-regulator.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/regulator/rohm,bd71828-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Matti Vaittinen <mazziesaccount@gmail.com>
14 see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml.
16 The regulator controller is represented as a sub-node of the PMIC node
19 Regulator nodes should be named to BUCK_<number> and LDO_<number>.
25 "^LDO[1-7]$":
32 regulator-name:
[all …]
/Linux-v6.6/include/linux/mfd/
Drohm-generic.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
36 * struct rohm_dvs_config - dynamic voltage scaling register descriptions
38 * @level_map: bitmap representing supported run-levels for this
43 * @idle_reg: register address for regulator config at 'idle' state
44 * @idle_mask: value mask for regulator voltages at 'idle' state
45 * @idle_on_mask: enable mask for regulator at 'idle' state
46 * @suspend_reg: register address for regulator config at 'suspend' state
47 * @suspend_mask: value mask for regulator voltages at 'suspend' state
48 * @suspend_on_mask: enable mask for regulator at 'suspend' state
54 * system states. This is used to correctly configure the PMIC at startup
/Linux-v6.6/arch/arm/include/asm/
Dfirmware.h1 /* SPDX-License-Identifier: GPL-2.0-only */
16 * A structure to specify available firmware operations.
22 * Inform the firmware we intend to enter CPU idle mode
26 * Enters CPU idle mode
46 * Enter system-wide suspend.
48 int (*suspend)(void); member
50 * Restore state of privileged hardware after system-wide suspend.
62 * otherwise returns -ENOSYS
65 ((firmware_ops->op) ? firmware_ops->op(__VA_ARGS__) : (-ENOSYS))
70 * A function to register platform firmware_ops struct.
/Linux-v6.6/drivers/firmware/psci/
Dpsci_checker.c1 // SPDX-License-Identifier: GPL-2.0-only
31 static int tos_resident_cpu = -1;
42 * "enable-method" property of each CPU in the DT, but given that there is no
43 * arch-specific way to check this, we assume that the DT is sensible.
47 int migrate_type = -1; in psci_ops_check()
52 return -EOPNOTSUPP; in psci_ops_check()
66 if (tos_resident_cpu == -1) in psci_ops_check()
85 /* Try to power down all CPUs in the mask. */ in down_and_up_cpus()
94 if (ret != -EBUSY) { in down_and_up_cpus()
96 "to power down last online CPU %d\n", in down_and_up_cpus()
[all …]
/Linux-v6.6/drivers/base/power/
Druntime.c1 // SPDX-License-Identifier: GPL-2.0
3 * drivers/base/power/runtime.c - Helper functions for device runtime PM
26 if (dev->pm_domain) in __rpm_get_callback()
27 ops = &dev->pm_domain->ops; in __rpm_get_callback()
28 else if (dev->type && dev->type->pm) in __rpm_get_callback()
29 ops = dev->type->pm; in __rpm_get_callback()
30 else if (dev->class && dev->class->pm) in __rpm_get_callback()
31 ops = dev->class->pm; in __rpm_get_callback()
32 else if (dev->bus && dev->bus->pm) in __rpm_get_callback()
33 ops = dev->bus->pm; in __rpm_get_callback()
[all …]
/Linux-v6.6/arch/arm/mach-at91/
Dpm.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * arch/arm/mach-at91/pm.c
17 #include <linux/suspend.h>
26 #include <asm/suspend.h>
35 * struct at91_pm_bu - AT91 power management backup unit data structure
36 * @suspended: true if suspended to backup mode
52 * struct at91_pm_sfrbu_regs - registers mapping for SFRBU
65 * enum at91_pm_eth_clk - Ethernet clock indexes
77 * enum at91_pm_eth - Ethernet controller indexes
89 * struct at91_pm_quirk_eth - AT91 PM Ethernet quirks
[all …]
/Linux-v6.6/arch/arm64/boot/dts/qcom/
Dsdm845-cheza.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
25 stdout-path = "serial0:115200n8";
29 compatible = "pwm-backlight";
31 enable-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
32 power-supply = <&ppvar_sys>;
33 pinctrl-names = "default";
34 pinctrl-0 = <&ap_edp_bklten>;
37 /* FIXED REGULATORS - parents above children */
[all …]
Dsm4450.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/interrupt-controller/arm-gic.h>
10 interrupt-parent = <&intc>;
12 #address-cells = <2>;
13 #size-cells = <2>;
18 xo_board: xo-board {
19 compatible = "fixed-clock";
20 clock-frequency = <76800000>;
21 #clock-cells = <0>;
[all …]

12345678910>>...25