/Linux-v6.1/Documentation/admin-guide/pm/ |
D | intel_idle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 24 Documentation/admin-guide/pm/cpuidle.rst if you have not done that yet.] 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 51 ``MWAIT`` hint values and idle states (i.e. low-power configurations of the 55 In order to create a list of available idle states required by the ``CPUIdle`` 56 subsystem (see :ref:`idle-states-representation` in [all …]
|
D | intel_pstate.rst | 1 .. SPDX-License-Identifier: GPL-2.0 22 Documentation/admin-guide/pm/cpufreq.rst if you have not done that yet.] 24 For the processors supported by ``intel_pstate``, the P-state concept is broader 27 information about that). For this reason, the representation of P-states used 32 ``intel_pstate`` maps its internal representation of P-states to frequencies too 38 Since the hardware P-state selection interface used by ``intel_pstate`` is 43 time the corresponding CPU is taken offline and need to be re-initialized when 47 only way to pass early-configuration-time parameters to it is via the kernel 66 ----------- 69 hardware-managed P-states (HWP) support. If it works in this mode, the [all …]
|
D | sleep-states.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 System Sleep States 13 Sleep states are global low-power states of the entire system in which user 18 Sleep States That Can Be Supported 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 29 --------------- 31 This is a generic, pure software, light-weight variant of system suspend (also 34 I/O devices into low-power states (possibly lower-power than available in the [all …]
|
/Linux-v6.1/drivers/cpuidle/ |
D | dt_idle_genpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2019 Linaro Ltd. 8 * Copyright (c) 2021 Western Digital Corporation or its affiliates. 9 * Copyright (c) 2022 Ventana Micro Systems Inc. 12 #define pr_fmt(fmt) "dt-idle-genpd: " fmt 26 struct genpd_power_state *states, int state_count) in pd_parse_state_nodes() argument 32 ret = parse_state(to_of_node(states[i].fwnode), &state); in pd_parse_state_nodes() 38 ret = -ENOMEM; in pd_parse_state_nodes() 42 states[i].data = state_buf; in pd_parse_state_nodes() 48 i--; in pd_parse_state_nodes() [all …]
|
D | cpuidle-riscv-sbi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * RISC-V SBI CPU idle driver. 5 * Copyright (c) 2021 Western Digital Corporation or its affiliates. 6 * Copyright (c) 2022 Ventana Micro Systems Inc. 9 #define pr_fmt(fmt) "cpuidle-riscv-sbi: " fmt 32 u32 *states; member 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() [all …]
|
D | dt_idle_states.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DT idle states parsing code. 5 * Copyright (C) 2014 ARM Ltd. 9 #define pr_fmt(fmt) "DT idle-states: " fmt 33 idle_state->enter = match_id->data; 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() 46 err = of_property_read_u32(state_node, "entry-latency-us", in init_state_node() 49 pr_debug(" * %pOF missing entry-latency-us property\n", in init_state_node() [all …]
|
D | cpuidle-mvebu-v7.c | 4 * Copyright (C) 2014 Marvell 7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 13 * Maintainer: Gregory CLEMENT <gregory.clement@free-electrons.com> 36 if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) in mvebu_v7_enter_idle() 50 .states[0] = ARM_CPUIDLE_WFI_STATE, 51 .states[1] = { 59 .states[2] = { 73 .states[0] = ARM_CPUIDLE_WFI_STATE, 74 .states[1] = { 88 .states[0] = ARM_CPUIDLE_WFI_STATE, [all …]
|
D | cpuidle-zynq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2012-2013 Xilinx 7 * based on arch/arm/mach-at91/cpuidle.c 9 * The cpu idle uses wait-for-interrupt and RAM self refresh in order 10 * to implement two idle states - 11 * #1 wait-for-interrupt 12 * #2 wait-for-interrupt and RAM self refresh 24 /* Actual code that puts the SoC in different idle states */ 37 .states = { 51 /* Initialize CPU idle by registering the idle states */ [all …]
|
/Linux-v6.1/Documentation/driver-api/pm/ |
D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 25 However, there may be multiple different idle states that can be used in such a 35 units: *governors* responsible for selecting idle states to ask the processor 53 containing four callback pointers, :c:member:`enable`, :c:member:`disable`, 54 :c:member:`select`, :c:member:`reflect`, a :c:member:`rating` field described 58 with the ``CPUIdle`` core by calling :c:func:`cpuidle_register_governor()` with 62 :c:member:`rating` field is greater than the value of that field for the 75 :c:member:`enable` 85 struct cpuidle_state objects representing idle states that the 89 code, and that causes the kernel to run the architecture-specific [all …]
|
D | devices.rst | 1 .. 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 32 states: 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"). [all …]
|
/Linux-v6.1/tools/power/cpupower/man/ |
D | cpupower-idle-set.1 | 1 .TH "CPUPOWER-IDLE-SET" "1" "0.1" "" "cpupower Manual" 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 12 sleep states. This can be handy for power vs performance tuning. 16 \fB\-d\fR \fB\-\-disable\fR <STATE_NO> 19 \fB\-e\fR \fB\-\-enable\fR <STATE_NO> 22 \fB\-D\fR \fB\-\-disable-by-latency\fR <LATENCY> 23 Disable all idle states with a equal or higher latency than <LATENCY>. 25 Enable all idle states with a latency lower than <LATENCY>. [all …]
|
D | cpupower-idle-info.1 | 1 .TH "CPUPOWER-IDLE-INFO" "1" "0.1" "" "cpupower Manual" 4 cpupower\-idle\-info \- Utility to retrieve cpu idle kernel information 7 cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP] 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 23 .SH IDLE\-INFO DESCRIPTIONS 28 good overview about the usage and availability of processor sleep states on 31 Be aware that the sleep states as exported by the hardware or BIOS and used by 37 which monitor the duration of sleep states the processor resided in. The [all …]
|
D | cpupower-set.1 | 1 .TH CPUPOWER\-SET "1" "22/02/2011" "" "cpupower Manual" 3 cpupower\-set \- Set processor power related kernel or hardware configurations 6 .B cpupower set [ \-b VAL ] 15 described in the cpupower(1) manpage in the \-\-cpu option section. Whether an 24 \-\-perf-bias, \-b 30 The range of valid numbers is 0-15, where 0 is maximum 33 The processor uses this information in model-specific ways 34 when it must select trade-offs between performance and 37 This policy hint does not supersede Processor Performance states 38 (P-states) or CPU Idle power states (C-states), but allows [all …]
|
D | cpupower-monitor.1 | 1 .TH CPUPOWER\-MONITOR "1" "22/02/2011" "" "cpupower Manual" 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 22 \fBcpupower-monitor \fP implements independent processor sleep state and 24 directly reading out hardware registers. Use \-l to get an overview which are 29 \-l [all …]
|
/Linux-v6.1/drivers/cpuidle/governors/ |
D | ladder.c | 2 * ladder.c - the residency ladder algorithm 4 * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> 5 * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> 6 * Copyright (C) 2004, 2005 Dominik Brodowski <linux@brodo.de> 8 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 40 struct ladder_device_state states[CPUIDLE_STATE_MAX]; member 46 * ladder_do_selection - prepares private data for a state change 55 ldev->states[old_idx].stats.promotion_count = 0; in ladder_do_selection() 56 ldev->states[old_idx].stats.demotion_count = 0; in ladder_do_selection() 57 dev->last_state_idx = new_idx; in ladder_do_selection() [all …]
|
D | menu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * menu.c - the menu idle governor 5 * Copyright (C) 2006-2007 Adam Belay <abelay@novell.com> 6 * Copyright (C) 2009 Intel Corporation 32 * For the menu governor, there are 3 decision factors for picking a C 40 * ----------------------- 41 * C state entry and exit have an energy cost, and a certain amount of time in 42 * the C state is required to actually break even on this cost. CPUIDLE 68 * Repeatable-interval-detector 69 * ---------------------------- [all …]
|
/Linux-v6.1/drivers/regulator/ |
D | gpio-regulator.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * gpio-regulator.c 7 * based on fixed.c 13 * Copyright (c) 2009 Nokia Corporation 14 * Roger Quadros <ext-roger.quadros@nokia.com> 17 * non-controllable regulators, as well as for allowing testing on 28 #include <linux/regulator/gpio-regulator.h> 39 struct gpio_regulator_state *states; member 50 for (ptr = 0; ptr < data->nr_states; ptr++) in gpio_regulator_get_value() 51 if (data->states[ptr].gpios == data->state) in gpio_regulator_get_value() [all …]
|
/Linux-v6.1/drivers/acpi/ |
D | processor_idle.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * processor_idle - idle state submodule to the ACPI processor driver 5 * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> 6 * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> 7 * Copyright (C) 2004, 2005 Dominik Brodowski <linux@brodo.de> 8 * Copyright (C) 2004 Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> 9 * - Added processor hotplug support 10 * Copyright (C) 2005 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 11 * - Added support for C3 on SMP 32 * creating an empty asm-ia64/apic.h would just trade pest vs. cholera. [all …]
|
/Linux-v6.1/arch/x86/kernel/acpi/ |
D | cstate.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2005 Intel Corporation 5 * - Added _PDC for SMP C-states on Intel CPUs 22 * - When cache is not shared among all CPUs, we flush cache 24 * - When cache is shared among all CPUs, we use bm_check 32 struct cpuinfo_x86 *c = &cpu_data(cpu); in acpi_processor_power_init_bm_check() local 34 flags->bm_check = 0; in acpi_processor_power_init_bm_check() 36 flags->bm_check = 1; in acpi_processor_power_init_bm_check() 37 else if (c->x86_vendor == X86_VENDOR_INTEL) { in acpi_processor_power_init_bm_check() 43 flags->bm_check = 1; in acpi_processor_power_init_bm_check() [all …]
|
/Linux-v6.1/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 */ 55 #include <asm/intel-family.h> 56 #include <asm/nospec-branch.h> [all …]
|
/Linux-v6.1/drivers/cpufreq/ |
D | ia64-acpi-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * This file provides the ACPI based P-state support. This 6 * (arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c) 8 * Copyright (C) 2005 Intel Corp 28 MODULE_DESCRIPTION("ACPI Processor P-States Driver"); 59 return -ENODEV; in processor_set_pstate() 86 /* To be used only after data->acpi_data is initialized */ 96 for (i = 0; i < data->acpi_data.state_count; i++) { in extract_clock() 97 if (value == data->acpi_data.states[i].status) in extract_clock() 98 return data->acpi_data.states[i].core_frequency; in extract_clock() [all …]
|
D | acpi-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * acpi-cpufreq.c - ACPI Processor P-States Driver 5 * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> 6 * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> 7 * Copyright (C) 2002 - 2004 Dominik Brodowski <linux@brodo.de> 8 * Copyright (C) 2006 Denis Sadykov <denis.m.sadykov@intel.com> 37 MODULE_DESCRIPTION("ACPI Processor P-States Driver"); 67 return per_cpu_ptr(acpi_perf_data, data->acpi_perf_cpu); in to_perf_data() 113 return -EINVAL; in boost_set_msr() 136 on_each_cpu_mask(policy->cpus, boost_set_msr_each, in set_boost() [all …]
|
/Linux-v6.1/tools/verification/dot2/ |
D | dot2c.py | 2 # SPDX-License-Identifier: GPL-2.0-only 4 # Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <bristot@kernel.org> 6 # dot2c: parse an automata in dot file digraph format into a C 20 enum_states_def = "states" 36 return string[:-1] 41 for state in self.states: 89 if self.states.__len__() > 255: 92 if self.states.__len__() > 65535: 95 if self.states.__len__() > 1000000: 96 raise Exception("Too many states: %d" % self.states.__len__()) [all …]
|
D | automata.py | 2 # SPDX-License-Identifier: GPL-2.0-only 4 # Copyright (C) 2019-2022 Red Hat, Inc. Daniel Bristot de Oliveira <bristot@kernel.org> 26 self.states, self.initial_state, self.final_states = self.__get_state_variables() 36 model_name = basename[0:-4] 80 states = [] 89 raw_state = line[-1] 91 # "enabled_fired"}; -> enabled_fired 96 states.append(state) 107 states = sorted(set(states)) 108 states.remove(initial_state) [all …]
|
/Linux-v6.1/Documentation/trace/rv/ |
D | deterministic_automata.rst | 10 - *X* is the set of states; 11 - *E* is the finite set of events; 12 - x\ :subscript:`0` is the initial state; 13 - X\ :subscript:`m` (subset of *X*) is the set of marked (or final) states. 14 - *f* : *X* x *E* -> *X* $ is the transition function. It defines the state 22 - *X* = { ``preemptive``, ``non_preemptive``} 23 - *E* = { ``preempt_enable``, ``preempt_disable``, ``sched_waking``} 24 - x\ :subscript:`0` = ``preemptive`` 25 - X\ :subscript:`m` = {``preemptive``} 26 - *f* = [all …]
|