/linux-6.12.1/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 …]
|
D | fsl,imx8qxp-pixel-link-msi-bus.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/bus/fsl,imx8qxp-pixel-link-msi-bus.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale i.MX8qxp Pixel Link Medium Speed Interconnect (MSI) Bus 10 - Liu Ying <victor.liu@nxp.com> 13 i.MX8qxp pixel link MSI bus is used to control settings of PHYs, I/Os 14 sitting together with the PHYs. It is not the same as the MSI bus coming 18 i.MX8qxp pixel link MSI bus is a simple memory-mapped bus. Two input clocks, 20 connected to the bus can be accessed. Also, the bus is part of a power [all …]
|
/linux-6.12.1/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 24 #include <linux/pm.h> 26 #include <linux/pm-trace.h> 88 return "(unknown PM event)"; in pm_verb() 93 * device_pm_sleep_init - Initialize system suspend-related device fields. 98 dev->power.is_prepared = false; in device_pm_sleep_init() 99 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> 40 * pm_clk_list_lock - ensure exclusive access for modifying the PM clock 42 * @psd: pm_subsys_data instance corresponding to the PM clock entry list 45 * Get exclusive access before modifying the PM clock entry list and the 47 * This also protects against a concurrent clock_op_might_sleep and PM clock 53 __acquires(&psd->lock) in pm_clk_list_lock() 55 mutex_lock(&psd->clock_mutex); in pm_clk_list_lock() 56 spin_lock_irq(&psd->lock); in pm_clk_list_lock() [all …]
|
/linux-6.12.1/arch/mips/pci/ |
D | pci-alchemy.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright 2001-2003, 2007-2008 MontaVista Software Inc. 20 #include <linux/dma-map-ops.h> /* for dma_default_coherent */ 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-6.12.1/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-6.12.1/drivers/bus/ |
D | simple-pm-bus.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Simple Power-Managed Bus Driver 5 * Copyright (C) 2014-2015 Glider bvba 27 const struct device *dev = &pdev->dev; in simple_pm_bus_probe() 29 struct device_node *np = dev->of_node; in simple_pm_bus_probe() 31 struct simple_pm_bus *bus; in simple_pm_bus_probe() local 35 * transparent bus device which has a different compatible string in simple_pm_bus_probe() 37 * of the simple-pm-bus tasks for these devices, so return early. in simple_pm_bus_probe() 39 if (pdev->driver_override) in simple_pm_bus_probe() 42 match = of_match_device(dev->driver->of_match_table, dev); in simple_pm_bus_probe() [all …]
|
/linux-6.12.1/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-6.12.1/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-6.12.1/drivers/pmdomain/bcm/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Broadcom PM Domains" 8 select PM_GENERIC_DOMAINS if PM 20 select PM_GENERIC_DOMAINS if PM 26 bool "Broadcom PMB (Power Management Bus) driver" 29 select PM_GENERIC_DOMAINS if PM 31 This enables support for the Broadcom's PMB (Power Management Bus) that 37 select PM_GENERIC_DOMAINS if PM
|
/linux-6.12.1/include/linux/ |
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 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 101 * of the other devices that the PM core has unsuccessfully attempted to [all …]
|
/linux-6.12.1/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 42 Used to configure the EBI (external bus interface) when the device- 43 tree is used. This bus supports NANDs, external ethernet controller, 68 bool "Baikal-T1 CM2 L2-RAM Cache Control Block" 72 Baikal-T1 CPU is based on the MIPS P5600 Warrior IP-core. The CPU 73 resides Coherency Manager v2 with embedded 1MB L2-cache. It's 75 tags and way-select latencies of RAM access. This driver provides a 76 dt properties-based and sysfs interface for it. [all …]
|
/linux-6.12.1/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-6.12.1/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-6.12.1/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", 109 MODULE_DESCRIPTION("Intel PIIX4 power-off driver");
|
/linux-6.12.1/drivers/gpu/drm/amd/amdgpu/ |
D | smu_v11_0_i2c.c | 50 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_set_clock_gating() 62 * I2C data transfer mode is 400 kb/s, then t_i2c_poll is 25 us." -- 79 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_enable() 86 for (ii = I2C_MAX_T_POLL_COUNT; ii > 0; ii--) { in smu_v11_0_i2c_enable() 105 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_clear_status() 116 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_configure() 124 * 1: standard mode, 0 - 100 Kb/s, in smu_v11_0_i2c_configure() 138 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_set_clock() 162 struct amdgpu_device *adev = smu_i2c->adev; in smu_v11_0_i2c_set_address() 164 /* The IC_TAR::IC_TAR field is 10-bits wide. in smu_v11_0_i2c_set_address() [all …]
|
/linux-6.12.1/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-6.12.1/drivers/gpio/ |
D | gpio-pch.c | 1 // SPDX-License-Identifier: GPL-2.0 32 u32 pm; member 47 OKISEMI_ML7223m_IOH, /* LAPIS Semiconductor ML7223 IOH PCIe Bus-m */ 48 OKISEMI_ML7223n_IOH /* LAPIS Semiconductor ML7223 IOH PCIe Bus-n */ 59 * struct pch_gpio_reg_data - The register store data. 63 * @pm_reg: To store contents of PM register. 67 * (Only ML7223 Bus-n) 80 * struct pch_gpio - GPIO private data structure. 108 spin_lock_irqsave(&chip->spinlock, flags); in pch_gpio_set() 109 reg_val = ioread32(&chip->reg->po); in pch_gpio_set() [all …]
|
/linux-6.12.1/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-6.12.1/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() 72 err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(36)); in mei_txe_probe() 74 err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); 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() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/mips/loongson/ |
D | ls2k-reset.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mips/loongson/ls2k-reset.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Loongson 2K1000 PM Controller 10 - Qing Zhang <zhangqing@loongson.cn> 13 This controller can be found in Loongson-2K1000 Soc systems. 17 const: loongson,ls2k-pm 23 - compatible 24 - reg [all …]
|
/linux-6.12.1/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> 33 * pci_add_dynid - add a new PCI device ID to this driver and re-probe devices 51 * 0 on success, -errno on failure. 63 return -ENOMEM; in pci_add_dynid() 65 dynid->id.vendor = vendor; in pci_add_dynid() 66 dynid->id.device = device; in pci_add_dynid() 67 dynid->id.subvendor = subvendor; in pci_add_dynid() 68 dynid->id.subdevice = subdevice; in pci_add_dynid() [all …]
|
/linux-6.12.1/drivers/amba/ |
D | bus.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <linux/pm.h> 16 #include <linux/amba/bus.h> 19 #include <linux/clk/clk-conf.h> 27 #include <linux/dma-map-ops.h> 38 uci = table->data; in amba_cs_uci_id_match() 40 /* no table data or zero mask - return match on periphid */ in amba_cs_uci_id_match() 41 if (!uci || (uci->devarch_mask == 0)) in amba_cs_uci_id_match() 45 ret = (dev->uci.devtype == uci->devtype) && in amba_cs_uci_id_match() 46 ((dev->uci.devarch & uci->devarch_mask) == uci->devarch); in amba_cs_uci_id_match() [all …]
|