/linux/Documentation/trace/ |
H A D | events-power.rst | 5 The power tracing system captures events related to power transitions 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 22 ----------------- 24 A 'cpu' event class gathers the CPU-related events: cpuidle and 39 Note: the value of '-1' or '4294967295' for state means an exit from the current state, 72 4. PM QoS events 74 The PM QoS events are used for QoS add/update/remove request and for [all …]
|
/linux/Documentation/power/ |
H A D | drivers-testing.rst | 10 Unfortunately, to effectively test the support for the system-wide suspend and 20 resolve all suspend/resume-related problems in the test system before you start 21 testing the new driver. Please see Documentation/power/basic-pm-debugging.rst 27 Once you have resolved the suspend/resume-related problems with your test system 31 (see: Documentation/power/basic-pm-debugging.rst, 1). 34 "platform" modes (see: Documentation/power/basic-pm-debugging.rst, 1). 43 Documentation/power/basic-pm-debugging.rst, 2). [As far as the STR tests are 48 (see: Documentation/power/basic-pm-debugging.rst, 2). 52 regarded as suspend/resume-safe.
|
H A D | pci.rst | 7 An overview of concepts and the Linux kernel's interfaces related to PCI power 12 devices. For general description of the kernel's interfaces related to device 13 power management refer to Documentation/driver-api/pm/devices.rst and 27 1.1. Native and Platform-Based Power Management 28 ----------------------------------------------- 31 devices into states in which they draw less power (low-power states) at the 34 Usually, a device is put into a low-power state when it is underutilized or 36 again, it has to be put back into the "fully functional" state (full-power 41 PCI devices may be put into low-power states in two ways, by using the device 44 approach, that is referred to as the native PCI power management (native PCI PM) [all …]
|
H A D | freezing-of-tasks.rst | 11 kernel threads are controlled during hibernation or system-wide suspend (on some 17 There is one per-task flag (PF_NOFREEZE) and three per-task states 23 to system-wide suspend too). 26 freeze_processes() (defined in kernel/power/process.c) is called. A system-wide 27 static key freezer_active (as opposed to a per-task flag or state) is used to 45 signal-handling code, but the freezable kernel threads need to call it 61 oom_reaper_list = tsk->oom_reaper_list; 73 entire system-wide transition will be cancelled. For this reason, freezable 84 ------------------------------------------------------------------------- 87 - freezes only userspace tasks [all …]
|
H A D | runtime_pm.rst | 5 (C) 2009-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 14 Support for runtime power management (runtime PM) of I/O devices is provided 15 at the power management core (PM core) level by means of: 18 put their PM-related work items. It is strongly recommended that pm_wq be 19 used for queuing all work items related to runtime PM, because this allows 20 them to be synchronized with system-wide power transitions (suspend to RAM, 24 * A number of runtime PM fields in the 'power' member of 'struct device' (which 25 is of the type 'struct dev_pm_info', defined in include/linux/pm.h) that can 26 be used for synchronizing runtime PM operations with one another. 28 * Three device runtime PM callbacks in 'struct dev_pm_ops' (defined in [all …]
|
H A D | basic-pm-debugging.rst | 21 modes causes the PM core to skip some platform-related callbacks which on ACPI 45 ---------------------------- 53 - test the freezing of processes 56 - test the freezing of processes and suspending of devices 59 - test the freezing of processes, suspending of devices and platform 63 - test the freezing of processes, suspending of devices, platform 67 - test the freezing of processes, suspending of devices, platform global 97 contains a space-separated list of all available tests (including "none" that 120 - if the test fails, unload a half of the drivers currently loaded and repeat 123 - if the test succeeds, load a half of the drivers you have unloaded most [all …]
|
/linux/drivers/gpu/drm/panthor/ |
H A D | panthor_device.h | 1 /* SPDX-License-Identifier: GPL-2.0 or MIT */ 10 #include <linux/io-pgtable.h> 35 * enum panthor_device_pm_state - PM state 52 * struct panthor_irq - IRQ data 71 * enum panthor_device_profiling_mode - Profiling state 90 * struct panthor_device - Panthor device 138 /** @unplug: Device unplug related fields. */ 150 /** @reset: Reset related fields. */ 173 /** @pm: Power management related data. */ 198 } pm; member [all …]
|
/linux/Documentation/trace/coresight/ |
H A 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 21 every CPU has one dedicated debug module to be connected. Based on self-hosted 22 debug mechanism, Linux kernel can access these related registers from mmio 24 will dump related registers for every CPU; finally this is good for assistant 29 -------------- 31 - During driver registration, it uses EDDEVID and EDDEVID1 - two device ID [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | pm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * pm.c - Common OMAP2+ power management-related code 25 #include "prcm-common.h" 29 #include "pm.h" 35 * omap_pm_suspend: points to a function that does the SoC-specific 43 * struct omap2_oscillator - Describe the board main oscillator latencies 79 return -ENOENT; /* XXX doublecheck */ in omap_pm_enter() 86 ret = -EINVAL; in omap_pm_enter() 120 * omap_common_suspend_init - Set common suspend routines for OMAP SoCs 155 pr_warn("%s: pm soc init failed: %i\n", __func__, error); in omap2_common_pm_late_init()
|
/linux/Documentation/driver-api/pm/ |
H A 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 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"). 42 by implementing various role-specific suspend and resume methods to [all …]
|
H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 89 code, and that causes the kernel to run the architecture-specific 91 until the ``->enable()`` governor callback is invoked for that CPU 103 It is expected to reverse any changes made by the ``->enable()`` 143 selection made by the ``->select()`` callback (when it was invoked last 148 quality of service (PM QoS) constraints on the processor wakeup latency into 150 PM QoS wakeup latency constraint for a given CPU, a ``CPUIdle`` governor is 152 :c:func:`cpuidle_governor_latency_req()`. Then, the governor's ``->select()`` 180 governors for computations related to idle state selection: 217 The analogous ``->enter_s2idle()`` callback in struct cpuidle_state is used [all …]
|
/linux/include/ufs/ |
H A D | ufshcd.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 4 * Copyright (C) 2011-2013 Samsung India Software Operations 5 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 16 #include <linux/blk-crypto-profile.h> 17 #include <linux/blk-mq.h> 19 #include <linux/fault-inject.h> 23 #include <linux/dma-direction.h> 68 * struct uic_command - UIC command structure 92 /* Host <-> Device UniPro Link state */ 100 #define ufshcd_is_link_off(hba) ((hba)->uic_link_state == UIC_LINK_OFF_STATE) [all …]
|
/linux/kernel/power/ |
H A D | qos.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Power Management Quality of Service (PM QoS) support base. 11 * Provided here is an interface for specifying PM QoS dependencies. It allows 15 * or through a built-in notification mechanism. 50 * pm_qos_read_value - Return the current effective constraint value. 51 * @c: List of PM QoS constraint requests. 55 return READ_ONCE(c->target_value); in pm_qos_read_value() 60 if (plist_head_empty(&c->list)) in pm_qos_get_value() 61 return c->no_constraint_value; in pm_qos_get_value() 63 switch (c->type) { in pm_qos_get_value() [all …]
|
/linux/sound/soc/sof/ |
H A D | sof-priv.h | 1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 18 #include <sound/sof/pm.h> 48 #define SOF_DBG_FORCE_NOCODEC BIT(10) /* ignore all codec-related 87 u32 substate; /* platform-specifi 513 const struct sof_ipc_pm_ops *pm; global() member [all...] |
/linux/drivers/base/power/ |
H A D | wakeup.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/wakeup.c - System wakeup events framework 7 #define pr_fmt(fmt) "PM: " fmt 46 #define MAX_IN_PROGRESS ((1 << IN_PROGRESS_BITS) - 1) 77 * wakeup_source_create - Create a struct wakeup_source object. 93 ws->name = ws_name; in wakeup_source_create() 98 ws->id = id; in wakeup_source_create() 103 kfree_const(ws->name); in wakeup_source_create() 120 if (ws->event_count) { in wakeup_source_record() 122 ktime_add(deleted_ws.total_time, ws->total_time); in wakeup_source_record() [all …]
|
/linux/drivers/media/platform/st/sti/delta/ |
H A D | delta.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 11 #include <media/v4l2-device.h> 12 #include <media/v4l2-mem2mem.h> 14 #include "delta-cfg.h" 17 * enum delta_state - state of decoding instance 46 * struct delta_streaminfo - information about stream to decode 89 * struct delta_au - access unit structure. 112 * struct delta_frameinfo - information about decoded frame 153 * struct delta_frame - frame structure. 193 * struct delta_dts - decoding timestamp. [all …]
|
/linux/kernel/sched/ |
H A D | build_policy.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * These are the scheduling policy related scheduler files, built 20 #include <linux/sched/posix-timers.h> 27 #include <linux/pm.h> 37 #include <linux/percpu-rwsem.h>
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-power | 7 management related properties of given device. 40 space to control the run-time power management of the device. 61 with the main suspend/resume thread) during system-wide power 74 of a device unless it is certain that all of the PM dependencies 75 of the device are known to the PM core. However, for some 86 attribute is read-only. If the device is not capable to wake up 98 is read-only. If the device is not capable to wake up the 110 state in progress. This attribute is read-only. If the device 122 read-only. If the device is not capable to wake up the system 133 the device is being processed (1). This attribute is read-only. [all …]
|
H A 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> 19 Description: CPU topology files that describe kernel limits related to 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> 89 core_siblings_list: human-readable list of the logical CPU [all …]
|
H A D | sysfs-class-power | 5 Contact: linux-pm@vger.kernel.org 14 Contact: linux-pm@vger.kernel.org 23 Contact: linux-pm@vger.kernel.org 32 Contact: linux-pm@vger.kernel.org 43 Contact: linux-pm [all...] |
/linux/include/linux/ |
H A D | pm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * pm.h - Power management interface 63 * struct dev_pm_ops - device PM callbacks. 70 * registration of a child already in progress), it may return -EAGAIN, so 71 * that the PM core can execute it once again (e.g. after a new child has 76 * is, not related to hibernation), the return value of @prepare() may be 77 * used to indicate to the PM core to leave the device in runtime suspend 78 * if applicable. Namely, if @prepare() returns a positive number, the PM 80 * runtime-suspended and it may be left in that state during the entire 85 * The PM core executes subsystem-level @prepare() for all devices before [all …]
|
/linux/drivers/platform/x86/intel/telemetry/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Telemetry Framework provides platform related PM and performance statistics. 103 * telemetry_update_events() - Update telemetry Configuration 104 * @pss_evtconfig: PSS related config. No change if num_evts = 0. 105 * @ioss_evtconfig: IOSS related config. No change if num_evts = 0. 110 * bits[6:3] -> value; bits [0:2]-> Exponent; Period = (Value *16^Exponent) 117 return telm_core_conf.telem_ops->update_events(pss_evtconfig, in telemetry_update_events() 124 * telemetry_set_sampling_period() - Sets the IOSS & PSS sampling period 131 * bits[6:3] -> value; bits [0:2]-> Exponent; Period = (Value *16^Exponent) 137 return telm_core_conf.telem_ops->set_sampling_period(pss_period, in telemetry_set_sampling_period() [all …]
|
/linux/drivers/gpu/drm/i915/ |
H A D | Kconfig.debug | 1 # SPDX-License-Identifier: GPL-2.0-only 12 Add -Werror to the build flags for (and only for) i915.ko. 79 down. This sets the default value of i915.mmio_debug to -1 and can 132 ordinary tests, but may be vital for post-mortem debugging when 146 ordinary tests, but may be vital for post-mortem debugging when 185 performance but will help resolve GuC related issues. 203 module initialisation afterwards) use i915.selftest=-1. 216 and may trigger unintended HW side-effects as they break strict 252 bool "Enable extra state checking for runtime PM" 260 runtime PM functionality. This may introduce overhead during
|
/linux/drivers/net/wireless/ath/ath9k/ |
H A D | dynack.c | 27 * ath_dynack_get_max_to - set max timeout according to channel width 33 const struct ath9k_channel *chan = ah->curchan; in ath_dynack_get_max_to() 48 * ath_dynack_ewma - EWMA (Exponentially Weighted Moving Average) calculation 53 return (new * (EWMA_DIV - EWMA_LEVEL) + in ath_dynack_ewma() 60 * ath_dynack_get_sifs - get sifs time based on phy used 70 if (IS_CHAN_QUARTER_RATE(ah->curchan)) in ath_dynack_get_sifs() 72 else if (IS_CHAN_HALF_RATE(ah->curchan)) in ath_dynack_get_sifs() 81 * ath_dynack_bssidmask - filter out ACK frames based on BSSID mask 91 if ((common->macaddr[i] & common->bssidmask[i]) != in ath_dynack_bssidmask() 92 (mac[i] & common->bssidmask[i])) in ath_dynack_bssidmask() [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/encoder/ |
H A D | mtk_vcodec_enc_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 #define MTK_VCODEC_ENC_NAME "mtk-vcodec-enc" 17 #define MTK_ENC_CTX_IS_EXT(ctx) ((ctx)->dev->venc_pdata->uses_ext) 18 #define MTK_ENC_IOVA_IS_34BIT(ctx) ((ctx)->dev->venc_pdata->uses_34bit) 21 * struct mtk_vcodec_enc_pdata - compatible data for each IC 31 * @uses_34bit: whether the encoder uses 34-bit iova 46 * enum mtk_encode_param - General encoding parameters type 58 * struct mtk_enc_params - General encoding parameters 60 * @num_b_frame: number of b frames between p-frame 93 * struct mtk_vcodec_enc_ctx - Context (instance) private data. [all …]
|