/openbmc/linux/drivers/thermal/ |
H A D | cpuidle_cooling.c | 1 // SPDX-License-Identifier: GPL-2.0 21 * struct cpuidle_cooling_device - data for the idle cooling device 22 * @ii_dev: an atomic to keep track of the last task exiting the idle cycle 23 * @state: a normalized integer giving the state of the cooling device 27 unsigned long state; member 31 * cpuidle_cooling_runtime - Running time computation 32 * @idle_duration_us: CPU idle time to inject in microseconds 33 * @state: a percentile based number 35 * The running duration is computed from the idle injection duration 36 * which is fixed. If we reach 100% of idle injection ratio, that [all …]
|
/openbmc/linux/drivers/cpuidle/ |
H A D | dt_idle_states.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DT idle states parsing code. 9 #define pr_fmt(fmt) "DT idle-states: " fmt 29 * pointer of the passed in struct of_device_id array to the idle in init_state_node() 30 * state enter function. in init_state_node() 32 idle_state->enter = match_id->data; in init_state_node() 34 * Since this is not a "coupled" state, it's safe to assume interrupts in init_state_node() 38 idle_state->enter_s2idle = match_id->data; in init_state_node() 40 err = of_property_read_u32(state_node, "wakeup-latency-us", in init_state_node() 41 &idle_state->exit_latency); in init_state_node() [all …]
|
H A D | cpuidle-powernv.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * cpuidle-powernv - idle state cpuidle driver. 4 * Adapted from drivers/cpuidle/cpuidle-pseries 26 * Expose only those Hardware idle states via the cpuidle framework 32 .name = "powernv_idle", 58 for (i = index + 1; i < drv->state_count; i++) { in get_snooze_timeout() 59 if (dev->states_usage[i].disable) in get_snooze_timeout() 62 return drv->states[i].target_residency * tb_ticks_per_usec; in get_snooze_timeout() 79 dev->poll_time_limit = false; in snooze_loop() 90 dev->poll_time_limit = true; in snooze_loop() [all …]
|
H A D | cpuidle-arm.c | 1 // 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 29 * idx: state index 32 * specified target state selected by the governor. 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() 46 .name = "arm_idle", 49 * State at index 0 is standby wfi and considered standard 51 * can't be used as "state 0", DT bindings must be implemented [all …]
|
H A D | cpuidle-psci.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * PSCI CPU idle driver. 29 #include "cpuidle-psci.h" 41 void psci_set_domain_state(u32 state) in psci_set_domain_state() argument 43 __this_cpu_write(domain_state, state); in psci_set_domain_state() 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() 58 u32 state; in __psci_enter_domain_idle_state() local 63 return -1; in __psci_enter_domain_idle_state() 71 state = psci_get_domain_state(); in __psci_enter_domain_idle_state() [all …]
|
H A D | cpuidle-riscv-sbi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * RISC-V SBI CPU idle driver. 9 #define pr_fmt(fmt) "cpuidle-riscv-sbi: " fmt 39 u32 state; member 48 static inline void sbi_set_domain_state(u32 state) in sbi_set_domain_state() argument 52 data->available = true; in sbi_set_domain_state() 53 data->state = state; in sbi_set_domain_state() 60 return data->state; in sbi_get_domain_state() 67 data->available = false; in sbi_clear_domain_state() 74 return data->available; in sbi_is_domain_state_available() [all …]
|
H A D | dt_idle_genpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #define pr_fmt(fmt) "dt-idle-genpd: " fmt 29 u32 state, *state_buf; in pd_parse_state_nodes() local 32 ret = parse_state(to_of_node(states[i].fwnode), &state); in pd_parse_state_nodes() 38 ret = -ENOMEM; in pd_parse_state_nodes() 41 *state_buf = state; in pd_parse_state_nodes() 48 i--; in pd_parse_state_nodes() 49 for (; i >= 0; i--) in pd_parse_state_nodes() 61 /* Parse the domain idle states. */ in pd_parse_states() 66 /* Fill out the dt specifics for each found state. */ in pd_parse_states() [all …]
|
H A D | poll_state.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * poll_state.c - Polling idle state 9 #include <linux/sched/idle.h> 20 dev->poll_time_limit = false; in poll_idle() 35 if (local_clock_noinstr() - time_start > limit) { in poll_idle() 36 dev->poll_time_limit = true; in poll_idle() 50 struct cpuidle_state *state = &drv->states[0]; in cpuidle_poll_state_init() local 52 snprintf(state->name, CPUIDLE_NAME_LEN, "POLL"); in cpuidle_poll_state_init() 53 snprintf(state->desc, CPUIDLE_DESC_LEN, "CPUIDLE CORE POLL IDLE"); in cpuidle_poll_state_init() 54 state->exit_latency = 0; in cpuidle_poll_state_init() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/powerpc/opal/ |
H A D | power-mgt.txt | 1 IBM Power-Management Bindings 5 idle states. The description of these idle states is exposed via the 6 node @power-mgt in the device-tree by the firmware. 9 ---------------- 10 Typically each idle state has the following associated properties: 12 - name: The name of the idle state as defined by the firmware. 14 - flags: indicating some aspects of this idle states such as the 15 extent of state-loss, whether timebase is stopped on this 16 idle states and so on. The flag bits are as follows: 18 - exit-latency: The latency involved in transitioning the state of the [all …]
|
/openbmc/linux/Documentation/admin-guide/pm/ |
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 CPU Idle Time Management 21 memory or executed. Those states are the *idle* states of the processor. 23 Since part of the processor hardware is not used in idle states, entering them 27 CPU idle time management is an energy-efficiency feature concerned about using 28 the idle states of processors for this purpose. 31 ------------ 33 CPU idle time management operates on CPUs as seen by the *CPU scheduler* (that 37 software as individual single-core processors. In other words, a CPU is an 44 enter an idle state, that applies to the processor as a whole. [all …]
|
H A D | intel_idle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 ``intel_idle`` CPU Idle Time Management Driver 17 :doc:`CPU idle time management subsystem <cpuidle>` in the Linux kernel 18 (``CPUIdle``). It is the default CPU idle time management driver for the 24 Documentation/admin-guide/pm/cpuidle.rst if you have not done that yet.] 27 logical CPU executing it is idle and so it may be possible to put some of the 28 processor's functional blocks into low-power states. That instruction takes two 38 only way to pass early-configuration-time parameters to it is via the kernel 42 .. _intel-idle-enumeration-of-states: 44 Enumeration of Idle States [all …]
|
/openbmc/linux/tools/power/cpupower/man/ |
H A D | cpupower-monitor.1 | 1 .TH CPUPOWER\-MONITOR "1" "22/02/2011" "" "cpupower Manual" 2 .SH NAME 3 cpupower\-monitor \- Report processor frequency and idle statistics 7 .RB "\-l" 10 .RB [ -c ] [ "\-m <mon1>," [ "<mon2>,..." ] ] 11 .RB [ "\-i seconds" ] 14 .RB [ -c ][ "\-m <mon1>," [ "<mon2>,..." ] ] 18 \fBcpupower-monitor \fP reports processor topology, frequency and idle power 19 state statistics. Either \fBcommand\fP is forked and 22 \fBcpupower-monitor \fP implements independent processor sleep state and [all …]
|
H A D | cpupower-idle-set.1 | 1 .TH "CPUPOWER-IDLE-SET" "1" "0.1" "" "cpupower Manual" 2 .SH "NAME" 4 cpupower\-idle\-set \- Utility to set cpu idle state specific kernel options 7 cpupower [ \-c cpulist ] idle\-set [\fIoptions\fP] 10 The cpupower idle\-set subcommand allows to set cpu idle, also called cpu 11 sleep state, specific options offered by the kernel. One example is disabling 16 \fB\-d\fR \fB\-\-disable\fR <STATE_NO> 17 Disable a specific processor sleep state. 19 \fB\-e\fR \fB\-\-enable\fR <STATE_NO> 20 Enable a specific processor sleep state. [all …]
|
H A D | cpupower-idle-info.1 | 1 .TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual" 2 .SH "NAME" 4 cpupower\-idle\-info \- Utility to retrieve cpu idle kernel information 7 cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP] 10 A tool which prints out per cpu idle information helpful to developers and interested users. 14 \fB\-f\fR \fB\-\-silent\fR 15 Only print a summary of all available C-states in the system. 17 \fB\-e\fR \fB\-\-proc\fR 19 Prints out idle information in old /proc/acpi/processor/*/power format. This 23 .SH IDLE\-INFO DESCRIPTIONS [all …]
|
/openbmc/linux/arch/arm/mach-omap2/ |
H A D | cpuidle34xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/arch/arm/mach-omap2/cpuidle34xx.c 5 * OMAP3 CPU IDLE Routines 11 * Karthik Dasu <karthik-dp@ti.com> 17 * Richard Woodruff <r-woodruff2@ti.com> 36 /* Mach specific information to be recorded in the C-state driver_data */ 53 * entering idle. 65 /* In C1 do not allow PER state lower than CORE state */ 102 * omap3_enter_idle - Programs OMAP3 to enter the specified state 105 * @index: the index of state to be entered [all …]
|
H A 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 …]
|
/openbmc/qemu/python/tests/ |
H A D | protocol.py | 35 def __init__(self, name=None): argument 38 super().__init__(name) 65 async def _do_recv(self) -> None: 69 def _do_send(self, msg: None) -> None: 72 async def send_msg(self) -> None: 75 async def simulate_disconnect(self) -> None: 77 Simulates a bottom-half disconnect. 81 state without fully quiescing it back to IDLE. This is normally 88 returns bottom half errors as a pre-condition to allowing the 89 loop to return back to IDLE. [all …]
|
/openbmc/linux/drivers/idle/ |
H A D | intel_idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * intel_idle.c - native hardware idle loop for modern Intel processors 5 * Copyright (c) 2013 - 2020, Intel Corporation. 20 * All CPUs have same idle states as boot CPU 23 * for preventing entry into deep C-states 25 * CPU will flush caches as needed when entering a C-state via MWAIT 33 * ACPI has a .suspend hack to turn off deep c-statees during suspend 39 /* un-comment DEBUG to enable pr_debug() statements */ 55 #include <asm/intel-family.h> 56 #include <asm/nospec-branch.h> [all …]
|
/openbmc/linux/Documentation/driver-api/pm/ |
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 CPU Idle Time Management 13 CPU Idle Time Management Subsystem 18 cores) is idle after an interrupt or equivalent wakeup event, which means that 19 there are no tasks to run on it except for the special "idle" task associated 21 belongs to. That can be done by making the idle logical CPU stop fetching 23 depended on by it into an idle state in which they will draw less power. 25 However, there may be multiple different idle states that can be used in such a 28 particular idle state. That is the role of the CPU idle time management 35 units: *governors* responsible for selecting idle states to ask the processor [all …]
|
/openbmc/linux/drivers/gpu/drm/i915/gt/ |
H A D | selftest_context.c | 1 // SPDX-License-Identifier: GPL-2.0 26 rq->sched.attr.priority = I915_PRIORITY_BARRIER; in request_sync() 35 lockdep_unpin_lock(&tl->mutex, rq->cookie); in request_sync() 36 mutex_unlock(&tl->mutex); in request_sync() 46 struct intel_timeline *tl = ce->timeline; in context_sync() 49 mutex_lock(&tl->mutex); in context_sync() 54 if (list_empty(&tl->requests)) in context_sync() 57 rq = list_last_entry(&tl->requests, typeof(*rq), link); in context_sync() 68 mutex_unlock(&tl->mutex); in context_sync() 71 i915_active_unlock_wait(&ce->active); in context_sync() [all …]
|
/openbmc/openbmc/poky/scripts/pybootchartgui/pybootchartgui/ |
H A D | parsing.py | 60 … raise ParseError("empty state: '%s' does not contain a valid bootchart" % ", ".join(paths)) 74 self.duration = self.end_time - self.start_time 85 # Crop the chart to the end of the first idle period after the given 88 idle = self.crop (writer, options.crop_after) 90 idle = None 93 self.times = [ idle ] 107 options.prune, idle, self.taskstats, 162 # re-parent any stray orphans if we can 183 k = min(k, len(util)-1) 188 avgload = sum(u[1] for u in util[j:k+1]) / (k-j+1) [all …]
|
/openbmc/qemu/python/qemu/qmp/ |
H A D | protocol.py | 2 Generic Asynchronous Message-based Protocol Support 14 # pylint: disable=too-many-lines 51 _TaskFN = Callable[[], Awaitable[None]] # aka ``async def func() -> None`` 62 IDLE = 0 variable in Runstate 68 #: Runstate may be returned to `IDLE` by calling `disconnect()`. 79 :param error_message: Human-readable string describing the error. 80 :param exc: The root-cause exception. 84 #: Human-readable error string 89 def __str__(self) -> str: 92 # If there's no error string, use the exception name. [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/cpu/ |
H A D | idle-states.yaml | 1 # 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 …]
|
/openbmc/entity-manager/schemas/ |
H A D | ibm.json | 2 "$schema": "http://json-schema.org/draft-07/schema#", 6 …dpoint and a GPIO for IBM CFF power supplies. In the entity-manager detector-configuration-reacto… 9 "Name": { object 24 … "description": "The name of the GPIO to monitor that indicates CFFPS plug state.", 29 "Name", 38 …-like compatibility strings for systems, where a 'system' is roughly defined as the combination of… 41 "Name": { object 52 "ibm,blueridge-1s4u", 53 "ibm,blueridge-2u", 54 "ibm,blueridge-4u", [all …]
|
/openbmc/linux/arch/arm64/boot/dts/qcom/ |
H A D | sdm845-cheza.dtsi | 1 // 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 …]
|