/linux-5.10/drivers/cpuidle/ |
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 30 * pointer of the passed in struct of_device_id array to the idle in init_state_node() 31 * state enter function. in init_state_node() 33 idle_state->enter = match_id->data; in init_state_node() 35 * Since this is not a "coupled" state, it's safe to assume interrupts in init_state_node() 39 idle_state->enter_s2idle = match_id->data; in init_state_node() 41 err = of_property_read_u32(state_node, "wakeup-latency-us", in init_state_node() 42 &idle_state->exit_latency); in init_state_node() [all …]
|
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() 154 .name = "snooze", 193 drv->state_count = 0; in powernv_cpuidle_driver_init() [all …]
|
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 …]
|
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 | poll_state.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * poll_state.c - Polling idle state 9 #include <linux/sched/idle.h> 18 dev->poll_time_limit = false; in poll_idle() 33 if (local_clock() - time_start > limit) { in poll_idle() 34 dev->poll_time_limit = true; in poll_idle() 46 struct cpuidle_state *state = &drv->states[0]; in cpuidle_poll_state_init() local 48 snprintf(state->name, CPUIDLE_NAME_LEN, "POLL"); in cpuidle_poll_state_init() 49 snprintf(state->desc, CPUIDLE_DESC_LEN, "CPUIDLE CORE POLL IDLE"); in cpuidle_poll_state_init() 50 state->exit_latency = 0; in cpuidle_poll_state_init() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/powerpc/opal/ |
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 …]
|
/linux-5.10/Documentation/admin-guide/pm/ |
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 …]
|
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 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 50 as C-states (in the ACPI terminology) or idle states. The list of meaningful [all …]
|
/linux-5.10/tools/power/cpupower/man/ |
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 …]
|
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\-info [\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 …]
|
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 …]
|
/linux-5.10/arch/arm/mach-omap2/ |
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 …]
|
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 …]
|
D | cpuidle44xx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OMAP4+ CPU idle Routines 5 * Copyright (C) 2011-2013 Texas Instruments, Inc. 76 * omap_enter_idle_[simple/coupled] - OMAP4PLUS cpuidle entry functions 79 * @index: the index of state to be entered 82 * specified low power state selected by the governor. 83 * Returns the amount of time spent in the low power state. 101 cx->mpu_state_vote++; in omap_enter_idle_smp() 102 if (cx->mpu_state_vote == num_online_cpus()) { in omap_enter_idle_smp() 103 pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state); in omap_enter_idle_smp() [all …]
|
/linux-5.10/Documentation/driver-api/pm/ |
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 …]
|
/linux-5.10/Documentation/devicetree/bindings/mux/ |
D | mux-controller.txt | 10 A mux controller provides a number of states to its consumers, and the state 11 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, 12 0-7 for an 8-way multiplexer, etc. 16 --------- 19 want to use with a property containing a 'mux-ctrl-list': 21 mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list] 22 single-mux-ctrl ::= <mux-ctrl-phandle> [mux-ctrl-specifier] 23 mux-ctrl-phandle : phandle to mux controller node 24 mux-ctrl-specifier : array of #mux-control-cells specifying the 27 Mux controller properties should be named "mux-controls". The exact meaning of [all …]
|
/linux-5.10/drivers/idle/ |
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 */ 54 #include <asm/intel-family.h> 61 .name = "intel_idle", [all …]
|
/linux-5.10/Documentation/devicetree/bindings/arm/ |
D | idle-states.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/arm/idle-states.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ARM idle states binding description 10 - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> 14 1 - Introduction 18 where cores can be put in different low-power states (ranging from simple wfi 20 range of dynamic idle states that a processor can enter at run-time, can be 22 enter/exit specific idle states on a given processor. [all …]
|
/linux-5.10/drivers/gpu/drm/i915/gt/ |
D | selftest_context.c | 2 * SPDX-License-Identifier: GPL-2.0 27 rq->sched.attr.priority = I915_PRIORITY_BARRIER; in request_sync() 36 lockdep_unpin_lock(&tl->mutex, rq->cookie); in request_sync() 37 mutex_unlock(&tl->mutex); in request_sync() 47 struct intel_timeline *tl = ce->timeline; in context_sync() 50 mutex_lock(&tl->mutex); in context_sync() 55 if (list_empty(&tl->requests)) in context_sync() 58 rq = list_last_entry(&tl->requests, typeof(*rq), link); in context_sync() 69 mutex_unlock(&tl->mutex); in context_sync() 72 i915_active_unlock_wait(&ce->active); in context_sync() [all …]
|
/linux-5.10/arch/arm64/boot/dts/qcom/ |
D | sdm630.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 #include <dt-bindings/clock/qcom,gcc-sdm660.h> 7 #include <dt-bindings/clock/qcom,rpmcc.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 interrupt-parent = <&intc>; 14 #address-cells = <2>; 15 #size-cells = <2>; 21 compatible = "fixed-clock"; 22 #clock-cells = <0>; [all …]
|
/linux-5.10/drivers/infiniband/sw/rxe/ |
D | rxe_task.c | 1 // SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB 18 while ((ret = task->func(task->arg)) == 0) in __rxe_do_task() 21 task->ret = ret; in __rxe_do_task() 38 spin_lock_irqsave(&task->state_lock, flags); in rxe_do_task() 39 switch (task->state) { in rxe_do_task() 41 task->state = TASK_STATE_BUSY; in rxe_do_task() 42 spin_unlock_irqrestore(&task->state_lock, flags); in rxe_do_task() 46 task->state = TASK_STATE_ARMED; in rxe_do_task() 49 spin_unlock_irqrestore(&task->state_lock, flags); in rxe_do_task() 53 spin_unlock_irqrestore(&task->state_lock, flags); in rxe_do_task() [all …]
|
/linux-5.10/drivers/cpuidle/governors/ |
D | teo.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Timer events oriented CPU idle governor 11 * wakeups from idle states. Moreover, information about what happened in the 13 * idle state with target residency within the time to the closest timer is 14 * likely to be suitable for the upcoming idle time of the CPU and, if not, then 15 * which of the shallower idle states to choose. 17 * Of course, non-timer wakeup sources are more important in some use cases and 18 * they can be covered by taking a few most recent idle time intervals of the 20 * idle duration values greater than the time till the closest timer, as the 24 * Thus this governor estimates whether or not the upcoming idle time of the CPU [all …]
|
/linux-5.10/Documentation/ABI/testing/ |
D | sysfs-devices-system-cpu | 2 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 …]
|
/linux-5.10/Documentation/devicetree/bindings/regulator/ |
D | rohm,bd71828-regulator.yaml | 1 # 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 <matti.vaittinen@fi.rohmeurope.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 25 "^LDO[1-7]$": 32 regulator-name: 33 pattern: "^ldo[1-7]$" [all …]
|
/linux-5.10/include/linux/ |
D | cpuidle.h | 2 * cpuidle.h - a generic framework for CPU idle power management 41 unsigned long long rejected; /* Number of times idle entry was rejected */ 49 char name[CPUIDLE_NAME_LEN]; member 66 * CPUs execute ->enter_s2idle with the local tick or entire timekeeping 67 * suspended, so it must not re-enable interrupts at any point (even 70 * This callback may point to the same function as ->enter if all of 78 /* Idle State Flags */ 80 #define CPUIDLE_FLAG_POLLING BIT(0) /* polling state */ 81 #define CPUIDLE_FLAG_COUPLED BIT(1) /* state applies to multiple cpus */ 82 #define CPUIDLE_FLAG_TIMER_STOP BIT(2) /* timer is stopped on this state */ [all …]
|