/Linux-v5.4/Documentation/driver-api/usb/ |
D | power-management.rst | 1 .. _usb-power-management: 7 :Date: Last-updated: February 2014 11 --------- 17 * Changing the default idle-delay time 20 * The driver interface for autosuspend and autoresume 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 67 ---------------------- 85 -------------------------- [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/ |
D | Kconfig.profile | 2 int "Runtime autosuspend delay for userspace GGTT mmaps (ms)" 9 that complements the runtime-pm autosuspend and provides a lower 10 floor on the autosuspend delay. 12 May be 0 to disable the extra delay and solely use the device level 13 runtime pm autosuspend delay tunable. 21 take a non-negligible time to setup, we do a short spin first to
|
D | intel_wakeref.h | 2 * SPDX-License-Identifier: MIT 72 * Note that @fn is allowed to fail, in which case the runtime-pm wakeref 81 if (unlikely(!atomic_inc_not_zero(&wf->count))) in intel_wakeref_get() 99 return atomic_inc_not_zero(&wf->count); in intel_wakeref_get_if_active() 112 * Note that @fn is allowed to fail, in which case the runtime-pm wakeref 121 INTEL_WAKEREF_BUG_ON(atomic_read(&wf->count) <= 0); in intel_wakeref_put() 122 if (unlikely(!atomic_add_unless(&wf->count, -1, 1))) in intel_wakeref_put() 136 __acquires(wf->mutex) in intel_wakeref_lock() 138 mutex_lock(&wf->mutex); in intel_wakeref_lock() 149 __releases(wf->mutex) in intel_wakeref_unlock() [all …]
|
D | intel_runtime_pm.h | 1 /* SPDX-License-Identifier: MIT */ 37 * Our driver uses the autosuspend delay feature, which means we'll only really 52 struct device *kdev; /* points to i915->drm.pdev->dev */ 81 #define INTEL_RPM_RAW_WAKEREF_MASK (INTEL_RPM_WAKELOCK_BIAS - 1) 98 WARN_ONCE(rpm->suspended, in assert_rpm_device_not_suspended() 107 "RPM raw-wakeref not held\n"); in __assert_rpm_raw_wakeref_held() 121 __assert_rpm_raw_wakeref_held(rpm, atomic_read(&rpm->wakeref_count)); in assert_rpm_raw_wakeref_held() 127 __assert_rpm_wakelock_held(rpm, atomic_read(&rpm->wakeref_count)); in assert_rpm_wakelock_held() 131 * disable_rpm_wakeref_asserts - disable the RPM assert checks 135 * reference, while keeping the device-not-suspended checks still enabled. [all …]
|
/Linux-v5.4/Documentation/power/ |
D | runtime_pm.rst | 5 (C) 2009-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 18 put their PM-related work items. It is strongly recommended that pm_wq be 20 them to be synchronized with system-wide power transitions (suspend to RAM, 53 The ->runtime_suspend(), ->runtime_resume() and ->runtime_idle() callbacks 57 1. PM domain of the device, if the device's PM domain object, dev->pm_domain, 60 2. Device type of the device, if both dev->type and dev->type->pm are present. 62 3. Device class of the device, if both dev->class and dev->class->pm are 65 4. Bus type of the device, if both dev->bus and dev->bus->pm are present. 69 dev->driver->pm directly (if present). 73 and bus type. Moreover, the high-priority one will always take precedence over [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/net/nfc/ |
D | trf7970a.txt | 4 - compatible: Should be "ti,trf7970a". 5 - spi-max-frequency: Maximum SPI frequency (<= 2000000). 6 - interrupts: A single interrupt specifier. 7 - ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the 9 - vin-supply: Regulator for supply voltage to VIN pin 12 - pinctrl-names: Contains only one value - "default". 13 - pintctrl-0: Specifies the pin control groups used for this controller. 14 - autosuspend-delay: Specify autosuspend delay in milliseconds. 15 - irq-status-read-quirk: Specify that the trf7970a being used has the 17 - en2-rf-quirk: Specify that the trf7970a being used has the "EN2 RF" [all …]
|
/Linux-v5.4/drivers/usb/core/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 30 Documentation/driver-api/usb/persist.rst for more info. 50 "Dual-Role" device, which can act as either a device 55 Select this only if your board has Mini-AB/Micro-AB 83 Implements OTG Finite State Machine as specified in On-The-Go 95 int "Default autosuspend delay" 99 The default autosuspend delay in seconds. Can be overridden 100 with the usbcore.autosuspend command line or module parameter. 103 this value if you want a different delay and cannot modify
|
D | hub.c | 1 // SPDX-License-Identifier: GPL-2.0 45 /* Protect struct usb_device->state and ->children members 46 * Note: Both are also protected by ->dev.sem, except that ->state can 54 /* synchronize hub-port add/remove and peering operations */ 64 * 10 seconds to send reply for the initial 64-byte descriptor request. 66 /* define initial 64-byte descriptor request timeout in milliseconds */ 70 "initial 64-byte descriptor request timeout in milliseconds " 71 "(default 5000 - 5.0 seconds)"); 116 if (hub_is_superspeedplus(hub->hdev)) in portspeed() 118 if (hub_is_superspeed(hub->hdev)) in portspeed() [all …]
|
D | usb.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * (C) Copyright Johannes Erdfelt 1999-2001 11 * (C) Copyright David Brownell 2000-2004 14 * (C) Copyright Greg Kroah-Hartman 2002-2003 47 #include <linux/dma-mapping.h> 67 /* Default delay value, in seconds */ 69 module_param_named(autosuspend, usb_autosuspend_delay, int, 0644); 70 MODULE_PARM_DESC(autosuspend, "default autosuspend delay"); 120 * usb_find_common_endpoints() -- look up common endpoint descriptors 127 * Search the alternate setting's endpoint descriptors for the first bulk-in, [all …]
|
/Linux-v5.4/Documentation/ABI/stable/ |
D | sysfs-bus-usb | 8 not the "USB-Persist" facility is enabled for the device. For 12 For more information, see Documentation/driver-api/usb/persist.rst. 14 What: /sys/bus/usb/devices/.../power/autosuspend 20 power/autosuspend. This file holds the time (in seconds) 27 The autosuspend delay for newly-created devices is set to 28 the value of the usbcore.autosuspend module parameter. 37 connected to the machine. This file is read-only. 49 active, i.e. not in a suspended state. This file is read-only. 61 What: /sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosus… 67 for this interface supports autosuspend. It also [all …]
|
/Linux-v5.4/block/ |
D | blk-pm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <linux/blk-mq.h> 4 #include <linux/blk-pm.h> 7 #include "blk-mq.h" 8 #include "blk-mq-tag.h" 11 * blk_pm_runtime_init - Block layer runtime PM initialization routine 16 * Initialize runtime-PM-related fields for @q and start auto suspend for 17 * @dev. Drivers that want to take advantage of request-based runtime PM 24 * the autosuspend delay is set to -1 to make runtime suspend impossible 26 * not need to touch other autosuspend settings. [all …]
|
/Linux-v5.4/drivers/base/power/ |
D | runtime.c | 1 // 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-v5.4/Documentation/ABI/testing/ |
D | sysfs-devices-power | 40 space to control the run-time power management of the device. 61 with the main suspend/resume thread) during system-wide power 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. 145 device, in milliseconds. This attribute is read-only. If the 156 with the device, in milliseconds. This attribute is read-only. 169 milliseconds. This attribute is read-only. If the device is [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/spi/ |
D | spi-pl022.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/spi/spi-pl022.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Linus Walleij <linus.walleij@linaro.org> 13 - $ref: "spi-controller.yaml#" 22 - compatible 27 - const: arm,pl022 28 - const: arm,primecell 39 clock-names: [all …]
|
/Linux-v5.4/drivers/iio/adc/ |
D | sun4i-gpadc-iio.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (c) 2016 Quentin Schulz <quentin.schulz@free-electrons.com> 15 * This is also the reason of using autosuspend in pm_runtime. If there was no 16 * autosuspend, the thermal sensor would need X seconds after every 17 * pm_runtime_get_sync to get a value from the ADC. The autosuspend allows the 32 #include <linux/delay.h> 37 #include <linux/mfd/sun4i-gpadc.h> 59 .temp_offset = -1932, 68 .temp_offset = -1447, 77 .temp_offset = -1623, [all …]
|
/Linux-v5.4/drivers/iio/accel/ |
D | kxsd9.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (c) 2008-2009 Jonathan Cameron <jic23@kernel.org> 21 #include <linux/delay.h> 60 #define KXSD9_CTRL_B_ST BIT(5) /* Self-test */ 65 * struct kxsd9_state - device related storage 88 #define KXSD9_ZERO_G_OFFSET -2048 108 return -EINVAL; in kxsd9_write_scale() 110 ret = regmap_update_bits(st->map, in kxsd9_write_scale() 118 st->scale = i; in kxsd9_write_scale() 141 int ret = -EINVAL; in kxsd9_write_raw() [all …]
|
/Linux-v5.4/drivers/char/hw_random/ |
D | mtk-rng.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 #include <linux/delay.h> 21 /* Runtime PM autosuspend timeout: */ 47 err = clk_prepare_enable(priv->clk); in mtk_rng_init() 51 val = readl(priv->base + RNG_CTRL); in mtk_rng_init() 53 writel(val, priv->base + RNG_CTRL); in mtk_rng_init() 63 val = readl(priv->base + RNG_CTRL); in mtk_rng_cleanup() 65 writel(val, priv->base + RNG_CTRL); in mtk_rng_cleanup() 67 clk_disable_unprepare(priv->clk); in mtk_rng_cleanup() 75 ready = readl(priv->base + RNG_CTRL) & RNG_READY; in mtk_rng_wait_ready() [all …]
|
/Linux-v5.4/drivers/net/wimax/i2400m/ |
D | usb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (C) 2007-2008 Intel Corporation <linux-wimax@intel.com> 7 * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com> 10 * See i2400m-usb.h for a general description of this driver. 13 * generic driver to implement the bus-specific functions (device 51 #include "i2400m-usb.h" 59 #include "usb-debug-levels.h" 65 "String of space-separated NAME:VALUE pairs, where NAMEs " 71 #define I2400MU_FW_FILE_NAME_v1_5 "i2400m-fw-usb-1.5.sbcf" 73 #define I2400MU_FW_FILE_NAME_v1_4 "i2400m-fw-usb-1.4.sbcf" [all …]
|
/Linux-v5.4/drivers/iio/light/ |
D | bh1780.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/delay.h> 45 int ret = i2c_smbus_write_byte_data(bh1780->client, in bh1780_write() 49 dev_err(&bh1780->client->dev, in bh1780_write() 58 int ret = i2c_smbus_read_byte_data(bh1780->client, in bh1780_read() 61 dev_err(&bh1780->client->dev, in bh1780_read() 70 int ret = i2c_smbus_read_word_data(bh1780->client, in bh1780_read_word() 73 dev_err(&bh1780->client->dev, in bh1780_read_word() 108 switch (chan->type) { in bh1780_read_raw() 110 pm_runtime_get_sync(&bh1780->client->dev); in bh1780_read_raw() [all …]
|
/Linux-v5.4/drivers/misc/mei/ |
D | client.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2003-2019, Intel Corporation. All rights reserved. 9 #include <linux/delay.h> 20 * mei_me_cl_init - initialize me client 26 INIT_LIST_HEAD(&me_cl->list); in mei_me_cl_init() 27 kref_init(&me_cl->refcnt); in mei_me_cl_init() 31 * mei_me_cl_get - increases me client refcount 35 * Locking: called under "dev->device_lock" lock 41 if (me_cl && kref_get_unless_zero(&me_cl->refcnt)) in mei_me_cl_get() 48 * mei_me_cl_release - free me client [all …]
|
/Linux-v5.4/sound/soc/intel/common/ |
D | sst-dsp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 23 /* autosuspend delay 5s*/ 37 #define SST_IPCX 0x38 /* IPC IA -> SST */ 38 #define SST_IPCD 0x40 /* IPC SST -> IA */ 199 int resindex_dma_base; /* other fields invalid if equals to -1 */ 241 /* Internal generic low-level SST IO functions - can be overidden */
|
/Linux-v5.4/drivers/gpu/drm/ |
D | drm_probe_helper.c | 2 * Copyright (c) 2006-2008 Intel Corporation 56 * track of a per-connector hpd interrupt. 73 if ((mode->flags & DRM_MODE_FLAG_INTERLACE) && in drm_mode_validate_flag() 77 if ((mode->flags & DRM_MODE_FLAG_DBLSCAN) && in drm_mode_validate_flag() 81 if ((mode->flags & DRM_MODE_FLAG_3D_MASK) && in drm_mode_validate_flag() 92 struct drm_device *dev = connector->dev; in drm_mode_validate_pipeline() 115 ret = drm_bridge_mode_valid(encoder->bridge, mode); in drm_mode_validate_pipeline() 144 cmdline_mode = &connector->cmdline_mode; in drm_helper_probe_add_cmdline_mode() 145 if (!cmdline_mode->specified) in drm_helper_probe_add_cmdline_mode() 149 list_for_each_entry(mode, &connector->probed_modes, head) { in drm_helper_probe_add_cmdline_mode() [all …]
|
/Linux-v5.4/drivers/iio/gyro/ |
D | mpu3050-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 17 #include <linux/delay.h> 37 * Register map: anything suffixed *_H is a big-endian high byte and always 74 /* Bits 8-11 select memory bank */ 161 * Fullscale precision is (for finest precision) +/- 250 deg/s, so the full 182 if (mpu3050->lpf == MPU3050_DLPF_CFG_256HZ_NOLPF2) in mpu3050_get_freq() 186 freq /= (mpu3050->divisor + 1); in mpu3050_get_freq() 198 ret = regmap_update_bits(mpu3050->map, MPU3050_PWR_MGM, in mpu3050_start_sampling() 203 /* Turn on the Z-axis PLL */ in mpu3050_start_sampling() 204 ret = regmap_update_bits(mpu3050->map, MPU3050_PWR_MGM, in mpu3050_start_sampling() [all …]
|
/Linux-v5.4/drivers/i2c/busses/ |
D | i2c-sprd.c | 4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 #include <linux/delay.h> 73 /* timeout (ms) for pm runtime autosuspend */ 94 writel(count, i2c_dev->base + I2C_COUNT); in sprd_i2c_set_count() 99 u32 tmp = readl(i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop() 102 writel(tmp & ~STP_EN, i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop() 104 writel(tmp | STP_EN, i2c_dev->base + I2C_CTL); in sprd_i2c_send_stop() 109 u32 tmp = readl(i2c_dev->base + I2C_CTL); in sprd_i2c_clear_start() 111 writel(tmp & ~I2C_START, i2c_dev->base + I2C_CTL); in sprd_i2c_clear_start() 116 u32 tmp = readl(i2c_dev->base + I2C_STATUS); in sprd_i2c_clear_ack() [all …]
|
/Linux-v5.4/drivers/iio/magnetometer/ |
D | ak8974.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 22 #include <linux/delay.h> 37 * 16-bit registers are little-endian. LSB is at the address defined below 66 /* AK8974-specific offsets */ 70 /* AMI305-specific offsets */ 79 /* AMI306-specific control register */ 94 /* axis cross-interference */ 111 #define AK8974_INT_X_LOW BIT(4) /* Axis below -threshold */ 153 * Set the autosuspend to two orders of magnitude larger than the poweron [all …]
|