/linux/Documentation/driver-api/usb/ |
H A D | power-management.rst | 1 .. _usb-power-management: 7 :Date: Last-updated: February 2014 11 --------- 17 * Changing the default idle-delay time 31 ------------------------- 34 parts of a computer system when they aren't being used. While a 35 component is ``suspended`` it is in a nonfunctional low-power state; it 36 might even be turned off completely. A suspended component can be 37 ``resumed`` (returned to a functional full-power state) when the kernel 40 suspended; an example would be reducing the CPU's clock rate. This [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-remoteproc | 19 - "offline" 20 - "suspended" 21 - "running" 22 - "crashed" 23 - "invalid" 25 "offline" means the remote processor is powered off. 27 "suspended" means that the remote processor is suspended and 41 - "start" 42 - "stop" 55 Contact: Suman Anna <s-anna@ti.com> [all …]
|
/linux/arch/arm/include/asm/ |
H A D | mcpm.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 6 * Copyright: (C) 2012-2013 Linaro Limited 15 * This should be sufficient for quite a while, while keeping the 40 * branch once it is ready to re-enter the kernel using ptr, or NULL if it 59 * mcpm_is_available - returns whether MCPM is initialized and available 66 * mcpm_cpu_power_up - make given CPU in given cluster runable 71 * The identified CPU is brought out of reset. If the cluster was powered 87 * mcpm_cpu_power_down - power the calling CPU down 89 * The calling CPU is powered down. 92 * then the cluster is prepared for power-down too. [all …]
|
/linux/Documentation/devicetree/bindings/tpm/ |
H A D | tpm-common.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/tpm/tpm-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lukas Wunner <lukas@wunner.de> 14 pattern: '^tpm(@[0-9a-f]+)?$' 23 linux,sml-base: 28 linux,sml-size: 33 memory-region: 37 powered-while-suspended: [all …]
|
/linux/drivers/net/wireless/ti/wlcore/ |
H A D | sdio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2009-2010 Nokia Corporation 44 struct wl12xx_sdio_glue *glue = dev_get_drvdata(child->parent); in wl1271_sdio_set_block_size() 45 struct sdio_func *func = dev_to_sdio_func(glue->dev); in wl1271_sdio_set_block_size() 56 struct wl12xx_sdio_glue *glue = dev_get_drvdata(child->parent); in wl12xx_sdio_raw_read() 57 struct sdio_func *func = dev_to_sdio_func(glue->dev); in wl12xx_sdio_raw_read() 63 dev_dbg(child->parent, "sdio read 52 addr 0x%x, byte 0x%02x\n", in wl12xx_sdio_raw_read() 71 dev_dbg(child->parent, "sdio read 53 addr 0x%x, %zu bytes\n", in wl12xx_sdio_raw_read() 78 dev_err_ratelimited(child->parent, "sdio read failed (%d)\n", ret); in wl12xx_sdio_raw_read() 94 struct wl12xx_sdio_glue *glue = dev_get_drvdata(child->parent); in wl12xx_sdio_raw_write() [all …]
|
/linux/Documentation/arch/arm/ |
H A D | cluster-pm-race-avoidance.rst | 2 Cluster-wide Power-up/power-down race avoidance algorithm 16 --------- 27 of independently running CPUs, while the OS continues to run. This 29 cluster-level operations are only performed when it is truly safe to do 35 disabling those mechanisms may itself be a non-atomic operation (such as 38 power-down and power-up at the cluster level. 42 lightweight as possible, while providing the required safety properties. 46 ----------- 50 - DOWN 51 - COMING_UP [all …]
|
/linux/drivers/pmdomain/ |
H A D | governor.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/domain_governor.c - Governors for device PM domains. 20 if (dev->power.subsys_data && dev->power.subsys_data->domain_data) { in dev_update_qos_constraint() 21 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in dev_update_qos_constraint() 24 * Only take suspend-time QoS constraints of devices into in dev_update_qos_constraint() 26 * been suspended are not guaranteed to be taken into account in dev_update_qos_constraint() 28 * be resumed and suspended again. in dev_update_qos_constraint() 30 constraint_ns = td ? td->effective_constraint_ns : in dev_update_qos_constraint() 50 * default_suspend_ok - Default PM domain governor routine to suspend devices. 57 struct gpd_timing_data *td = dev_gpd_data(dev)->td; in default_suspend_ok() [all …]
|
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/domain.c - Common code related to device power domains. 33 __routine = genpd->dev_ops.callback; \ 52 mutex_lock(&genpd->mlock); in genpd_lock_mtx() 58 mutex_lock_nested(&genpd->mlock, depth); in genpd_lock_nested_mtx() 63 return mutex_lock_interruptible(&genpd->mlock); in genpd_lock_interruptible_mtx() 68 return mutex_unlock(&genpd->mlock); in genpd_unlock_mtx() 79 __acquires(&genpd->slock) in genpd_lock_spin() 83 spin_lock_irqsave(&genpd->slock, flags); in genpd_lock_spin() 84 genpd->lock_flags = flags; in genpd_lock_spin() [all …]
|
/linux/drivers/char/tpm/eventlog/ |
H A D | of.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 * Maintained by: <tpmdd-devel@lists.sourceforge.net> 31 node = of_parse_phandle(chip->dev.parent->of_node, "memory-region", 0); in tpm_read_log_memory_region() 33 return -ENODEV; in tpm_read_log_memory_region() 40 chip->log.bios_event_log = devm_memremap(&chip->dev, res.start, resource_size(&res), in tpm_read_log_memory_region() 42 if (IS_ERR(chip->log.bios_event_log)) in tpm_read_log_memory_region() 43 return -ENOMEM; in tpm_read_log_memory_region() 45 chip->log.bios_event_log_end = chip->log.bios_event_log + resource_size(&res); in tpm_read_log_memory_region() 47 return chip->flags & TPM_CHIP_FLAG_TPM2 ? EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 : in tpm_read_log_memory_region() 60 log = &chip->log; in tpm_read_log_of() [all …]
|
/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 …]
|
/linux/Documentation/power/ |
H A D | userland-swsusp.rst | 96 swap files (see Documentation/power/swsusp-and-swap-files.rst for 109 immediately enter the suspend-to-RAM state, so this call must always 112 is needed to implement the suspend-to-both mechanism in which the 113 suspend image is first created, as though the system had been suspended 114 to disk, and then the system is suspended to RAM (this makes it possible 121 - you cannot read() more than one virtual memory page at a time 122 - read()s across page boundaries are impossible (ie. if you read() 1/2 of 153 While executing SNAPSHOT_ATOMIC_RESTORE the kernel checks if the 156 SNAPSHOT_ATOMIC_RESTORE will not succeed. Still, this is not a fool-proof 175 system MUST be powered off or rebooted after the snapshot
|
H A D | pci.rst | 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 53 to put the device that sent it into the full-power state. However, the PCI Bus 68 Thus in many situations both the native and the platform-based power management 72 -------------------------------- [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 54 while (true) { 61 oom_reaper_list = tsk->oom_reaper_list; 73 entire system-wide transition will be cancelled. For this reason, freezable 84 ------------------------------------------------------------------------- [all …]
|
/linux/Documentation/core-api/ |
H A D | timekeeping.rst | 10 ------------------------------ 27 Like ktime_get(), but does not stop when suspended. This can be 60 ----------------------------------------- 92 Return a coarse-grained version of the time as a scalar 98 ------------------------- 117 These are quicker than the non-coarse versions, but less accurate, 139 a non-maskable interrupt (NMI) during a timekeeper update, and 140 while we are entering suspend with the clocksource powered down. 146 -------------------------- 149 but may appear in third-party drivers being ported here. In particular, [all …]
|
/linux/drivers/usb/gadget/udc/ |
H A D | at91_udc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * at91_udc -- driver for at91-series USB peripheral controller 32 #include <linux/mfd/syscon/atmel-matrix.h> 38 * This controller is simple and PIO-only. It's used in many AT91-series 40 * at91sam926x (arm926ejs, with MMU), and several no-mmu versions. 75 EP_INFO("ep3-int", 90 __raw_readl((udc)->udp_baseaddr + (reg)) 92 __raw_writel((val), (udc)->udp_baseaddr + (reg)) 94 /*-------------------------------------------------------------------------*/ 108 "control", "out-iso", "out-bulk", "out-int", in proc_ep_show() [all …]
|
H A D | max3420_udc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * (C) Copyright 2019-2020 Linaro Ltd 180 bool suspended; member 189 #define DRIVER_DESC "MAX3420 USB Device-Mode Driver" 190 static const char driver_name[] = "max3420-udc"; 201 struct spi_device *spi = udc->spi; in spi_ack_ctrl() 220 struct spi_device *spi = udc->spi; in spi_rd8_ack() 247 struct spi_device *spi = udc->spi; in spi_wr8_ack() 273 struct spi_device *spi = udc->spi; in spi_rd_buf() 295 struct spi_device *spi = udc->spi; in spi_wr_buf() [all …]
|
/linux/drivers/bluetooth/ |
H A D | hci_intel.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 109 struct intel_data *intel = hu->priv; in intel_wait_booting() 112 err = wait_on_bit_timeout(&intel->flags, STATE_BOOTING, in intel_wait_booting() 116 if (err == -EINTR) { in intel_wait_booting() 117 bt_dev_err(hu->hdev, "Device boot interrupted"); in intel_wait_booting() 118 return -EINTR; in intel_wait_booting() 122 bt_dev_err(hu->hdev, "Device boot timeout"); in intel_wait_booting() 123 return -ETIMEDOUT; in intel_wait_booting() 132 struct intel_data *intel = hu->priv; in intel_wait_lpm_transaction() 135 err = wait_on_bit_timeout(&intel->flags, STATE_LPM_TRANSACTION, in intel_wait_lpm_transaction() [all …]
|
/linux/drivers/input/touchscreen/ |
H A D | ads7846.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * - corgi_ts.c 11 * Copyright (C) 2004-2005 Richard Purdie 12 * - omap_ts.[hc], ads7846.h, ts_osk.c 39 * Support for ads7843 tested on Atmel at91sam926x-EK. 53 * note. The strength of filtering can be set in the board-* specific 76 * driver is used with DMA-based SPI controllers (like atmel_spi) on 77 * systems where main memory is not DMA-coherent (most non-x86 boards). 135 bool suspended; /* P: lock */ member 152 /* leave chip selected when we're done, for quicker re-select? */ [all …]
|
/linux/drivers/usb/gadget/udc/aspeed-vhub/ |
H A D | hub.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * aspeed-vhub -- Driver for Aspeed SoC "vHub" USB gadget 5 * hub.c - virtual hub handling 25 #include <linux/dma-mapping.h> 37 * - We may need to indicate TT support 38 * - We may need a device qualifier descriptor 40 * - Make vid/did overridable 41 * - make it look like usb1 if usb1 mode forced 144 * These strings converted to UTF-16 must be smaller than 176 * Mark it as self-powered, I doubt the BMC is powered off in ast_vhub_hub_dev_status() [all …]
|
/linux/arch/arm/boot/dts/rockchip/ |
H A D | rk3288-veyron.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 #include <dt-bindings/clock/rockchip,rk808.h> 9 #include <dt-bindings/input/input.h> 18 stdout-path = "serial2:115200n8"; 31 power_button: power-button { 32 compatible = "gpio-keys"; 33 pinctrl-names = "default"; 34 pinctrl-0 = <&pwr_key_l>; 36 key-power { 40 debounce-interval = <100>; [all …]
|
/linux/arch/arm64/boot/dts/rockchip/ |
H A D | rk3399-gru-kevin.dts | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Google Gru-Kevin Rev 6+ board device tree source 5 * Copyright 2016-2017 Google, Inc 8 /dts-v1/; 9 #include "rk3399-gru-chromebook.dtsi" 10 #include <dt-bindings/input/linux-event-codes.h> 13 * Kevin-specific things 21 compatible = "google,kevin-rev15", "google,kevin-rev14", 22 "google,kevin-rev13", "google,kevin-rev12", 23 "google,kevin-rev11", "google,kevin-rev10", [all …]
|
/linux/drivers/mmc/core/ |
H A D | sdio_bus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 43 sdio_config_attr(class, "0x%02x\n", func->class); 44 sdio_config_attr(vendor, "0x%04x\n", func->vendor); 45 sdio_config_attr(device, "0x%04x\n", func->device); 46 sdio_config_attr(revision, "%u.%u\n", func->major_rev, func->minor_rev); 47 sdio_config_attr(modalias, "sdio:c%02Xv%04Xd%04X\n", func->class, func->vendor, func->device); 54 if (num > func->num_info) \ 55 return -ENODATA; \ 56 if (!func->info[num - 1][0]) \ 58 return sysfs_emit(buf, "%s\n", func->info[num - 1]); \ [all …]
|
/linux/drivers/usb/common/ |
H A D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * compiled-in as well. Otherwise, if either of the two stacks is 30 * usb_ep_type_string() - Returns human readable-name of the endpoint type. 31 * @ep_type: The endpoint type to return human-readable name for. If it's not 71 [USB_SPEED_LOW] = "low-speed", 72 [USB_SPEED_FULL] = "full-speed", 73 [USB_SPEED_HIGH] = "high-speed", 75 [USB_SPEED_SUPER] = "super-speed", 76 [USB_SPEED_SUPER_PLUS] = "super-speed-plus", 81 [USB_SSP_GEN_2x1] = "super-speed-plus-gen2x1", [all …]
|
/linux/drivers/usb/host/ |
H A D | ehci-hub.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2001-2004 by David Brownell 6 /* this file is part of ehci-hcd.c */ 8 /*-------------------------------------------------------------------------*/ 16 /*-------------------------------------------------------------------------*/ 26 return !udev->maxchild && udev->persist_enabled && in persist_enabled_on_companion() 27 udev->bus->root_hub->speed < USB_SPEED_HIGH; in persist_enabled_on_companion() 41 if (!ehci->owned_ports) in ehci_handover_companion_ports() 54 /* Make sure the ports are powered */ in ehci_handover_companion_ports() 55 port = HCS_N_PORTS(ehci->hcs_params); in ehci_handover_companion_ports() [all …]
|
/linux/drivers/phy/rockchip/ |
H A D | phy-rockchip-inno-usb2.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/clk-provider.h> 11 #include <linux/extcon-provider.h> 50 * enum usb_chg_state - Different states involved in USB charger detection. 89 * struct rockchip_chg_det_reg - usb charger detect registers 115 * struct rockchip_usb2phy_port_cfg - usb-phy port configuration. 169 * struct rockchip_usb2phy_cfg - usb-phy configuration. 170 * @reg: the address offset of grf for usb-phy config. 174 * @port_cfgs: usb-phy port configurations. 187 * struct rockchip_usb2phy_port - usb-phy port data. [all …]
|