/Linux-v5.10/Documentation/devicetree/bindings/bus/ |
D | simple-pm-bus.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple Power-Managed Bus 10 - Geert Uytterhoeven <geert+renesas@glider.be> 13 A Simple Power-Managed Bus is a transparent bus that doesn't need a real 16 However, its bus controller is part of a PM domain, or under the control 17 of a functional clock. Hence, the bus controller's PM domain and/or 18 clock must be enabled for child devices connected to the bus (either [all …]
|
D | renesas,bsc.yaml | 2 --- 3 $id: http://devicetree.org/schemas/bus/renesas,bsc.yaml# 4 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 title: Renesas Bus State Controller (BSC) 9 - Geert Uytterhoeven <geert+renesas@glider.be> 12 The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus 13 Bridge", or "External Bus Interface") can be found in several Renesas ARM 14 SoCs. It provides an external bus for connecting multiple external 18 While the BSC is a fairly simple memory-mapped bus, it may be part of a 19 PM domain, and may have a gateable functional clock. Before a device [all …]
|
/Linux-v5.10/drivers/base/power/ |
D | main.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/main.c - Where the driver meets power management. 10 * and add it to the list of power-controlled devices. sysfs entries for 18 #define pr_fmt(fmt) "PM: " fmt 23 #include <linux/pm.h> 25 #include <linux/pm-trace.h> 89 return "(unknown PM event)"; in pm_verb() 94 * device_pm_sleep_init - Initialize system suspend-related device fields. 99 dev->power.is_prepared = false; in device_pm_sleep_init() 100 dev->power.is_suspended = false; in device_pm_sleep_init() [all …]
|
D | clock_ops.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * drivers/base/power/clock_ops.c - Generic clock manipulation PM callbacks 11 #include <linux/pm.h> 38 * pm_clk_enable - Enable a clock, reporting any errors 40 * @ce: PM clock entry corresponding to the clock. 46 if (ce->status < PCE_STATUS_ERROR) { in __pm_clk_enable() 47 ret = clk_enable(ce->clk); in __pm_clk_enable() 49 ce->status = PCE_STATUS_ENABLED; in __pm_clk_enable() 52 __func__, ce->clk, ret); in __pm_clk_enable() 57 * pm_clk_acquire - Acquire a device clock. [all …]
|
/Linux-v5.10/arch/mips/pci/ |
D | pci-alchemy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright 2001-2003, 2007-2008 MontaVista Software Inc. 21 #include <asm/dma-coherence.h> 22 #include <asm/mach-au1x00/au1000.h> 43 unsigned long pm[12]; member 94 ctx->wired_entry = read_c0_wired(); in alchemy_pci_wired_entry() 95 add_wired_entry(0, 0, (unsigned long)ctx->pci_cfg_vm->addr, PM_4K); in alchemy_pci_wired_entry() 96 ctx->last_elo0 = ctx->last_elo1 = ~0; in alchemy_pci_wired_entry() 99 static int config_access(unsigned char access_type, struct pci_bus *bus, in config_access() argument 102 struct alchemy_pci_context *ctx = bus->sysdata; in config_access() [all …]
|
/Linux-v5.10/Documentation/driver-api/pm/ |
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"). 41 This is something that device, bus, and class drivers collaborate on [all …]
|
/Linux-v5.10/drivers/bus/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 # Bus Devices 6 menu "Bus devices" 24 bool "ARM Integrator Logic Module bus" 29 Say y here to enable support for the ARM Logic Module bus 33 bool "Broadcom STB GISB bus arbiter" 37 Driver for the Broadcom Set Top Box System-on-a-chip internal bus 39 and internal bus master decoding. 42 bool "Baikal-T1 APB-bus driver" 46 Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs. [all …]
|
D | simple-pm-bus.c | 2 * Simple Power-Managed Bus Driver 4 * Copyright (C) 2014-2015 Glider bvba 19 struct device_node *np = pdev->dev.of_node; in simple_pm_bus_probe() 21 dev_dbg(&pdev->dev, "%s\n", __func__); in simple_pm_bus_probe() 23 pm_runtime_enable(&pdev->dev); in simple_pm_bus_probe() 26 of_platform_populate(np, NULL, NULL, &pdev->dev); in simple_pm_bus_probe() 33 dev_dbg(&pdev->dev, "%s\n", __func__); in simple_pm_bus_remove() 35 pm_runtime_disable(&pdev->dev); in simple_pm_bus_remove() 40 { .compatible = "simple-pm-bus", }, 49 .name = "simple-pm-bus", [all …]
|
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/device/ |
D | base.c | 41 if (device->handle == handle) in nvkm_device_find_locked() 65 name[nr - 1] = device->handle; in nvkm_device_list() 81 .bus = nv04_bus_new, 102 .bus = nv04_bus_new, 123 .bus = nv04_bus_new, 143 .bus = nv04_bus_new, 165 .bus = nv04_bus_new, 187 .bus = nv04_bus_new, 209 .bus = nv04_bus_new, 231 .bus = nv04_bus_new, [all …]
|
/Linux-v5.10/Documentation/power/ |
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 42 capabilities introduced by the PCI Bus Power Management Interface Specification, 44 approach, that is referred to as the native PCI power management (native PCI PM) 50 Devices supporting the native PCI PM usually can generate wakeup signals called [all …]
|
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: 17 * The power management workqueue pm_wq in which bus types and device drivers can 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. [all …]
|
/Linux-v5.10/include/linux/device/ |
D | bus.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * bus.h - the bus-specific portions of the driver model 5 * Copyright (c) 2001-2003 Patrick Mochel <mochel@osdl.org> 6 * Copyright (c) 2004-2009 Greg Kroah-Hartman <gregkh@suse.de> 7 * Copyright (c) 2008-2009 Novell Inc. 8 * Copyright (c) 2012-2019 Greg Kroah-Hartman <gregkh@linuxfoundation.org> 9 * Copyright (c) 2012-2019 Linux Foundation 11 * See Documentation/driver-api/driver-model/ for more information. 19 #include <linux/pm.h> 25 * struct bus_type - The bus type of the device [all …]
|
/Linux-v5.10/include/linux/ |
D | pm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * pm.h - Power management interface 55 * struct dev_pm_ops - device PM callbacks. 62 * registration of a child already in progress), it may return -EAGAIN, so 63 * that the PM core can execute it once again (e.g. after a new child has 69 * used to indicate to the PM core to leave the device in runtime suspend 70 * if applicable. Namely, if @prepare() returns a positive number, the PM 72 * runtime-suspended and it may be left in that state during the entire 77 * The PM core executes subsystem-level @prepare() for all devices before 93 * of the other devices that the PM core has unsuccessfully attempted to [all …]
|
/Linux-v5.10/drivers/memory/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 access to attached peripherals through memory bus. 30 If you have an embedded system with an AMBA bus and a PL172 34 bool "Atmel (Multi-port DDR-)SDRAM Controller" 39 This driver is for Atmel SDRAM Controller or Atmel Multi-port 40 DDR-SDRAM Controller available on Atmel AT91SAM9 and SAMA5 SoCs. 42 LP-DDR memories. 53 Used to configure the EBI (external bus interface) when the device- 54 tree is used. This bus supports NANDs, external ethernet controller, 70 bool "Baikal-T1 CM2 L2-RAM Cache Control Block" [all …]
|
/Linux-v5.10/include/linux/firmware/imx/svc/ |
D | pm.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 4 * Copyright 2017-2018 NXP 7 * Power Management (PM) function. This includes functions for power state 8 * control, clock control, reset control, and wake-up event control. 12 * Module for the Power Management (PM) service. 21 * This type is used to indicate RPC PM function calls. 52 * Defines for SC PM Power Mode 56 #define IMX_SC_PM_PW_MODE_LP 2 /* Power in low-power */ 60 * Defines for SC PM CLK 62 #define IMX_SC_PM_CLK_SLV_BUS 0 /* Slave bus clock */ [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/remoteproc/ |
D | wkup_m3_rproc.txt | 4 The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor 13 within the SoC. It is added as a child node of the parent interconnect bus 17 -------------------- 18 - compatible: Should be one of, 19 "ti,am3352-wkup-m3" for AM33xx SoCs 20 "ti,am4372-wkup-m3" for AM43xx SoCs 21 - reg: Should contain the address ranges for the two internal 24 translating these into bus addresses. 25 - reg-names: Contains the corresponding names for the two memory 27 - ti,hwmods: Name of the hwmod associated with the wkupm3 device. [all …]
|
/Linux-v5.10/drivers/power/reset/ |
D | piix4-poweroff.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 #include <linux/pm.h> 50 * cycle with the correct magic data on the PCI bus. Generate that in piix4_poweroff() 54 pci_bus_write_config_dword(pm_dev->bus, spec_devid, 0, in piix4_poweroff() 68 return -EINVAL; in piix4_poweroff_probe() 70 /* Request access to the PIIX4 PM IO registers */ in piix4_poweroff_probe() 72 "PIIX4 PM IO registers"); in piix4_poweroff_probe() 74 dev_err(&dev->dev, "failed to request PM IO registers: %d\n", in piix4_poweroff_probe() 101 .name = "piix4-poweroff",
|
/Linux-v5.10/drivers/hid/intel-ish-hid/ishtp/ |
D | bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ISHTP bus driver 5 * Copyright (c) 2012-2016, Intel Corporation. 14 #include "bus.h" 15 #include "ishtp-dev.h" 28 * ishtp_recv() - process ishtp message 33 * address is zero, then they are host bus management message, 42 msg_hdr = dev->ops->ishtp_read_hdr(dev); in ishtp_recv() 46 dev->ops->sync_fw_clock(dev); in ishtp_recv() 49 dev->ishtp_msg_hdr = msg_hdr; in ishtp_recv() [all …]
|
/Linux-v5.10/drivers/ide/ |
D | ide-pm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 ide_hwif_t *hwif = drive->hwif; in generic_ide_suspend() 17 if ((drive->dn & 1) == 0 || pair == NULL) in generic_ide_suspend() 22 rq = blk_get_request(drive->queue, REQ_OP_DRV_IN, 0); in generic_ide_suspend() 23 ide_req(rq)->type = ATA_PRIV_PM_SUSPEND; in generic_ide_suspend() 24 ide_req(rq)->special = &rqpm; in generic_ide_suspend() 30 blk_execute_rq(drive->queue, NULL, rq, 0); in generic_ide_suspend() 31 ret = scsi_req(rq)->result ? -EIO : 0; in generic_ide_suspend() 36 if ((drive->dn & 1) || pair == NULL) in generic_ide_suspend() 45 struct request_queue *q = rq->q; in ide_pm_execute_rq() [all …]
|
/Linux-v5.10/drivers/gpio/ |
D | gpio-pch.c | 1 // SPDX-License-Identifier: GPL-2.0 32 u32 pm; member 42 OKISEMI_ML7223m_IOH, /* LAPIS Semiconductor ML7223 IOH PCIe Bus-m */ 43 OKISEMI_ML7223n_IOH /* LAPIS Semiconductor ML7223 IOH PCIe Bus-n */ 54 * struct pch_gpio_reg_data - The register store data. 58 * @pm_reg: To store contents of PM register. 62 * (Only ML7223 Bus-n) 75 * struct pch_gpio - GPIO private data structure. 104 spin_lock_irqsave(&chip->spinlock, flags); in pch_gpio_set() 105 reg_val = ioread32(&chip->reg->po); in pch_gpio_set() [all …]
|
/Linux-v5.10/Documentation/ABI/stable/ |
D | sysfs-bus-usb | 1 What: /sys/bus/usb/devices/.../power/persist 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 27 The autosuspend delay for newly-created devices is set to 30 What: /sys/bus/usb/device/.../power/connected_duration 37 connected to the machine. This file is read-only. 42 What: /sys/bus/usb/device/.../power/active_duration 49 active, i.e. not in a suspended state. This file is read-only. 63 What: /sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosus… [all …]
|
/Linux-v5.10/drivers/misc/mei/ |
D | pci-txe.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2013-2020, Intel Corporation. All rights reserved. 24 #include "hw-txe.h" 43 * mei_txe_probe - Device Initialization Routine 60 dev_err(&pdev->dev, "failed to enable pci device.\n"); in mei_txe_probe() 68 dev_err(&pdev->dev, "failed to get pci regions.\n"); in mei_txe_probe() 76 dev_err(&pdev->dev, "No suitable DMA available.\n"); in mei_txe_probe() 84 err = -ENOMEM; in mei_txe_probe() 88 hw->mem_addr = pcim_iomap_table(pdev); in mei_txe_probe() 97 err = request_threaded_irq(pdev->irq, in mei_txe_probe() [all …]
|
/Linux-v5.10/drivers/pci/ |
D | pci-driver.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * (C) Copyright 2002-2004, 2007 Greg Kroah-Hartman <greg@kroah.com> 22 #include <linux/dma-map-ops.h> 32 * pci_add_dynid - add a new PCI device ID to this driver and re-probe devices 50 * 0 on success, -errno on failure. 62 return -ENOMEM; in pci_add_dynid() 64 dynid->id.vendor = vendor; in pci_add_dynid() 65 dynid->id.device = device; in pci_add_dynid() 66 dynid->id.subvendor = subvendor; in pci_add_dynid() 67 dynid->id.subdevice = subdevice; in pci_add_dynid() [all …]
|
/Linux-v5.10/drivers/input/touchscreen/ |
D | ad7879-spi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * AD7879/AD7889 touchscreen (SPI bus) 5 * Copyright (C) 2008-2010 Michael Hennerich, Analog Devices Inc. 9 #include <linux/pm.h> 37 if (spi->max_speed_hz > MAX_SPI_FREQ_HZ) { in ad7879_spi_probe() 38 dev_err(&spi->dev, "SPI CLK %d Hz?\n", spi->max_speed_hz); in ad7879_spi_probe() 39 return -EINVAL; in ad7879_spi_probe() 46 return ad7879_probe(&spi->dev, regmap, spi->irq, BUS_SPI, AD7879_DEVID); in ad7879_spi_probe() 60 .pm = &ad7879_pm_ops, 69 MODULE_DESCRIPTION("AD7879(-1) touchscreen SPI bus driver");
|
D | ad7879-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * AD7879-1/AD7889-1 touchscreen (I2C bus) 5 * Copyright (C) 2008-2010 Michael Hennerich, Analog Devices Inc. 13 #include <linux/pm.h> 18 #define AD7879_DEVID 0x79 /* AD7879-1/AD7889-1 */ 31 if (!i2c_check_functionality(client->adapter, in ad7879_i2c_probe() 33 dev_err(&client->dev, "SMBUS Word Data not Supported\n"); in ad7879_i2c_probe() 34 return -EIO; in ad7879_i2c_probe() 41 return ad7879_probe(&client->dev, regmap, client->irq, in ad7879_i2c_probe() 54 { .compatible = "adi,ad7879-1", }, [all …]
|