/linux/drivers/base/power/ |
H A D | runtime.c | 70 if (dev->power.disable_depth > 0) in update_pm_runtime_accounting() 73 last = dev->power.accounting_timestamp; in update_pm_runtime_accounting() 76 dev->power.accounting_timestamp = now; in update_pm_runtime_accounting() 88 if (dev->power.runtime_status == RPM_SUSPENDED) in update_pm_runtime_accounting() 89 dev->power.suspended_time += delta; in update_pm_runtime_accounting() 91 dev->power.active_time += delta; in update_pm_runtime_accounting() 98 dev->power.runtime_status = status; in __update_runtime_status() 106 spin_lock_irqsave(&dev->power.lock, flags); in rpm_get_accounted_time() 109 time = suspended ? dev->power.suspended_time : dev->power.active_time; in rpm_get_accounted_time() 111 spin_unlock_irqrestore(&dev->power.lock, flags); in rpm_get_accounted_time() [all …]
|
H A D | main.c | 98 dev->power.is_prepared = false; in device_pm_sleep_init() 99 dev->power.is_suspended = false; in device_pm_sleep_init() 100 dev->power.is_noirq_suspended = false; in device_pm_sleep_init() 101 dev->power.is_late_suspended = false; in device_pm_sleep_init() 102 init_completion(&dev->power.completion); in device_pm_sleep_init() 103 complete_all(&dev->power.completion); in device_pm_sleep_init() 104 dev->power.wakeup = NULL; in device_pm_sleep_init() 105 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init() 138 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add() 141 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add() [all …]
|
/linux/arch/arm64/boot/dts/apple/ |
H A D | t8112-pmgr.dtsi | 10 ps_sbr: power-controller@100 { 13 #power-domain-cells = <0>; 19 ps_aic: power-controller@108 { 22 #power-domain-cells = <0>; 28 ps_dwi: power-controller@110 { 31 #power-domain-cells = <0>; 37 ps_soc_spmi0: power-controller@118 { 40 #power-domain-cells = <0>; 45 ps_gpio: power-controller@120 { 48 #power-domain-cells = <0>; [all …]
|
H A D | t8103-pmgr.dtsi | 10 ps_sbr: power-controller@100 { 13 #power-domain-cells = <0>; 19 ps_aic: power-controller@108 { 22 #power-domain-cells = <0>; 28 ps_dwi: power-controller@110 { 31 #power-domain-cells = <0>; 37 ps_soc_spmi0: power-controller@118 { 40 #power-domain-cells = <0>; 45 ps_soc_spmi1: power-controller@120 { 48 #power-domain-cells = <0>; [all …]
|
H A D | t600x-pmgr.dtsi | 9 DIE_NODE(ps_pms_bridge): power-controller@100 { 12 #power-domain-cells = <0>; 18 DIE_NODE(ps_aic): power-controller@108 { 21 #power-domain-cells = <0>; 27 DIE_NODE(ps_dwi): power-controller@110 { 30 #power-domain-cells = <0>; 36 DIE_NODE(ps_pms): power-controller@118 { 39 #power-domain-cells = <0>; 45 DIE_NODE(ps_gpio): power-controller@120 { 48 #power-domain-cells = <0>; [all …]
|
/linux/drivers/net/ipa/ |
H A D | ipa_power.c | 54 static int ipa_interconnect_init(struct ipa_power *power, in ipa_interconnect_init() argument 62 interconnect = &power->interconnect[0]; in ipa_interconnect_init() 63 for (i = 0; i < power->interconnect_count; i++) { in ipa_interconnect_init() 72 ret = of_icc_bulk_get(power->dev, power->interconnect_count, in ipa_interconnect_init() 73 power->interconnect); in ipa_interconnect_init() 78 icc_bulk_disable(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 81 ret = icc_bulk_set_bw(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 83 icc_bulk_put(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 89 static void ipa_interconnect_exit(struct ipa_power *power) in ipa_interconnect_exit() argument 91 icc_bulk_put(power->interconnect_count, power->interconnect); in ipa_interconnect_exit() [all …]
|
/linux/drivers/power/supply/ |
H A D | axp20x_usb_power.c | 76 struct axp20x_usb_power *power); 77 int (*axp20x_cfg_adc_reg)(struct axp20x_usb_power *power); 101 static bool axp20x_usb_vbus_needs_polling(struct axp20x_usb_power *power) in axp20x_usb_vbus_needs_polling() argument 108 if (power->axp_data->vbus_needs_polling && !power->online) in axp20x_usb_vbus_needs_polling() 116 struct axp20x_usb_power *power = devid; in axp20x_usb_power_irq() local 118 power_supply_changed(power->supply); in axp20x_usb_power_irq() 120 mod_delayed_work(system_power_efficient_wq, &power->vbus_detect, DEBOUNCE_TIME); in axp20x_usb_power_irq() 127 struct axp20x_usb_power *power = in axp20x_usb_power_poll_vbus() local 132 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, &val); in axp20x_usb_power_poll_vbus() 137 if (val != power->old_status) in axp20x_usb_power_poll_vbus() [all …]
|
H A D | axp20x_ac_power.c | 53 struct axp20x_ac_power *power = devid; in axp20x_ac_power_irq() local 55 power_supply_changed(power->supply); in axp20x_ac_power_irq() 64 struct axp20x_ac_power *power = power_supply_get_drvdata(psy); in axp20x_ac_power_get_property() local 69 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property() 82 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property() 90 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property() 97 if (val->intval && power->has_acin_path_sel) { in axp20x_ac_power_get_property() 98 ret = regmap_read(power->regmap, AXP813_ACIN_PATH_CTRL, in axp20x_ac_power_get_property() 109 ret = iio_read_channel_processed(power->acin_v, &val->intval); in axp20x_ac_power_get_property() 119 ret = iio_read_channel_processed(power->acin_i, &val->intval); in axp20x_ac_power_get_property() [all …]
|
H A D | wm831x_power.c | 536 struct wm831x_power *power; in wm831x_power_probe() local 539 power = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_power), in wm831x_power_probe() 541 if (power == NULL) in wm831x_power_probe() 544 power->wm831x = wm831x; in wm831x_power_probe() 545 platform_set_drvdata(pdev, power); in wm831x_power_probe() 548 snprintf(power->wall_name, sizeof(power->wall_name), in wm831x_power_probe() 550 snprintf(power->battery_name, sizeof(power->wall_name), in wm831x_power_probe() 552 snprintf(power->usb_name, sizeof(power->wall_name), in wm831x_power_probe() 555 snprintf(power->wall_name, sizeof(power->wall_name), in wm831x_power_probe() 557 snprintf(power->battery_name, sizeof(power->wall_name), in wm831x_power_probe() [all …]
|
/linux/drivers/pmdomain/bcm/ |
H A D | bcm2835-power.c | 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 133 struct bcm2835_power *power; member 152 static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable) in bcm2835_asb_control() argument 154 void __iomem *base = power->asb; in bcm2835_asb_control() 163 if (power->rpivid_asb) in bcm2835_asb_control() 164 base = power->rpivid_asb; in bcm2835_asb_control() 187 static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg) in bcm2835_asb_enable() argument 189 return bcm2835_asb_control(power, reg, true); in bcm2835_asb_enable() 192 static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg) in bcm2835_asb_disable() argument [all …]
|
H A D | bcm63xx-power.c | 20 struct bcm63xx_power *power; member 40 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_get_state() local 47 *is_on = !(__raw_readl(power->base) & pmd->mask); in bcm63xx_power_get_state() 54 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_set_state() local 61 spin_lock_irqsave(&power->lock, flags); in bcm63xx_power_set_state() 62 val = __raw_readl(power->base); in bcm63xx_power_set_state() 67 __raw_writel(val, power->base); in bcm63xx_power_set_state() 68 spin_unlock_irqrestore(&power->lock, flags); in bcm63xx_power_set_state() 94 struct bcm63xx_power *power; in bcm63xx_power_probe() local 99 power = devm_kzalloc(dev, sizeof(*power), GFP_KERNEL); in bcm63xx_power_probe() [all …]
|
/linux/arch/arm64/boot/dts/arm/ |
H A D | juno-scmi.dtsi | 3 power-domains = <&scmi_devpd 8>; 7 power-domains = <&scmi_devpd 8>; 11 power-domains = <&scmi_devpd 8>; 15 power-domains = <&scmi_devpd 8>; 19 power-domains = <&scmi_devpd 8>; 23 power-domains = <&scmi_devpd 8>; 27 power-domains = <&scmi_devpd 8>; 31 power-domains = <&scmi_devpd 8>; 55 #power-domain-cells = <1>; 120 power-domains = <&scmi_devpd 8>; [all …]
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm2835-rpi.dtsi | 1 #include <dt-bindings/power/raspberrypi-power.h> 15 power: power { label 16 compatible = "raspberrypi,bcm2835-power"; 18 #power-domain-cells = <1>; 33 power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>; 40 power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>; 70 power-domains = <&power RPI_POWER_DOMAIN_USB>; 74 power-domains = <&power RPI_POWER_DOMAIN_VEC>; 79 power-domains = <&power RPI_POWER_DOMAIN_DSI0>; 83 power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | power_domain.txt | 4 used for power gating of selected IP blocks for power saving by reduced leakage 12 #power-domain-cells property in the PM domain provider node. 16 See power-domain.yaml. 21 - power-domains : A list of PM domain specifiers, as defined by bindings of 22 the power controller that is the PM domain provider. 25 - power-domain-names : A list of power domain name strings sorted in the same 26 order as the power-domains property. Consumers drivers will use 27 power-domain-names to match power domains with power-domains 35 power-domains = <&power 0>; 36 power-domain-names = "io"; [all …]
|
/linux/drivers/usb/musb/ |
H A D | musb_virthub.c | 25 u8 power; in musb_host_finish_resume() local 31 power = musb_readb(musb->mregs, MUSB_POWER); in musb_host_finish_resume() 32 power &= ~MUSB_POWER_RESUME; in musb_host_finish_resume() 33 musb_dbg(musb, "root port resume stopped, power %02x", power); in musb_host_finish_resume() 34 musb_writeb(musb->mregs, MUSB_POWER, power); in musb_host_finish_resume() 53 u8 power; in musb_port_suspend() local 64 power = musb_readb(mbase, MUSB_POWER); in musb_port_suspend() 68 if (power & MUSB_POWER_RESUME) in musb_port_suspend() 71 if (!(power & MUSB_POWER_SUSPENDM)) { in musb_port_suspend() 72 power |= MUSB_POWER_SUSPENDM; in musb_port_suspend() [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-powercap | 6 The powercap/ class sub directory belongs to the power cap 8 Documentation/power/powercap/powercap.rst for details. 16 Here <control type> determines how the power is going to be 17 controlled. A <control type> can contain multiple power zones. 24 This allows to enable/disable power capping for a "control type". 25 This status affects every power zone using this "control_type. 27 What: /sys/class/powercap/<control type>/<power zone> 32 A power zone is a single or a collection of devices, which can 33 be independently monitored and controlled. A power zone sysfs 37 What: /sys/class/powercap/<control type>/<power zone>/<child power zone> [all …]
|
/linux/arch/arm64/boot/dts/mediatek/ |
H A D | mt8167.dtsi | 10 #include <dt-bindings/power/mt8167-power.h> 42 spm: power-controller { 43 compatible = "mediatek,mt8167-power-controller"; 46 #power-domain-cells = <1>; 48 /* power domains of the SoC */ 49 power-domain@MT8167_POWER_DOMAIN_MM { 53 #power-domain-cells = <0>; 57 power-domain@MT8167_POWER_DOMAIN_VDEC { 62 #power-domain-cells = <0>; 65 power-domain@MT8167_POWER_DOMAIN_ISP { [all …]
|
/linux/Documentation/hwmon/ |
H A D | occ.rst | 17 sensor data as well as perform thermal and power management on the system. 77 power[1-n]_input 78 Latest measured power reading of the component in 80 power[1-n]_average 81 Average power of the component in microwatts. 82 power[1-n]_average_interval 83 The amount of time over which the power average 86 [with power sensor version < 2] 88 power[1-n]_label 91 [with power sensor version >= 2] [all …]
|
/linux/arch/powerpc/boot/dts/fsl/ |
H A D | e6500_power_isa.dtsi | 37 power-isa-version = "2.06"; 38 power-isa-b; // Base 39 power-isa-e; // Embedded 40 power-isa-atb; // Alternate Time Base 41 power-isa-cs; // Cache Specification 42 power-isa-ds; // Decorated Storage 43 power-isa-e.ed; // Embedded.Enhanced Debug 44 power-isa-e.pd; // Embedded.External PID 45 power-isa-e.hv; // Embedded.Hypervisor 46 power-isa-e.le; // Embedded.Little-Endian [all …]
|
H A D | e5500_power_isa.dtsi | 37 power-isa-version = "2.06"; 38 power-isa-b; // Base 39 power-isa-e; // Embedded 40 power-isa-atb; // Alternate Time Base 41 power-isa-cs; // Cache Specification 42 power-isa-ds; // Decorated Storage 43 power-isa-e.ed; // Embedded.Enhanced Debug 44 power-isa-e.pd; // Embedded.External PID 45 power-isa-e.hv; // Embedded.Hypervisor 46 power-isa-e.le; // Embedded.Little-Endian [all …]
|
H A D | e500mc_power_isa.dtsi | 37 power-isa-version = "2.06"; 38 power-isa-b; // Base 39 power-isa-e; // Embedded 40 power-isa-atb; // Alternate Time Base 41 power-isa-cs; // Cache Specification 42 power-isa-ds; // Decorated Storage 43 power-isa-e.ed; // Embedded.Enhanced Debug 44 power-isa-e.pd; // Embedded.External PID 45 power-isa-e.hv; // Embedded.Hypervisor 46 power-isa-e.le; // Embedded.Little-Endian [all …]
|
/linux/Documentation/power/powercap/ |
H A D | powercap.rst | 5 The power capping framework provides a consistent interface between the kernel 6 and the user space that allows power capping drivers to expose the settings to 12 The framework exposes power capping devices to user space via sysfs in the 14 'control types', which correspond to different methods of power capping. For 17 corresponds to the use of idle injection for controlling power. 20 monitored using the power capping method determined by the control type the 21 given zone belongs to. They each contain attributes for monitoring power, as 22 well as controls represented in the form of power constraints. If the parts of 23 the system represented by different power zones are hierarchical (that is, one 24 bigger part consists of multiple smaller parts that each have their own power [all …]
|
H A D | dtpm.rst | 12 Another aspect is to sustain the performance for a given power budget, 15 reduce the battery charging because the dissipated power is too high 16 compared with the power consumed by other devices. 19 different devices by limiting their power given an application 23 the device power by limiting and/or balancing a power budget among 27 device power. 34 driver to do the connection with the power manageable device. 36 The DTPM is a tree representation describing the power constraints 39 The nodes of the tree are a virtual description aggregating the power 40 characteristics of the children nodes and their power limitations. [all …]
|
/linux/Documentation/devicetree/bindings/soc/bcm/ |
H A D | raspberrypi,bcm2835-power.txt | 1 Raspberry Pi power domain driver 5 - compatible: Should be "raspberrypi,bcm2835-power". 7 - #power-domain-cells: Should be <1>, we providing multiple power domains. 9 The valid defines for power domain are: 37 power: power { 38 compatible = "raspberrypi,bcm2835-power"; 40 #power-domain-cells = <1>; 43 Example for using power domain: 46 power-domains = <&power RPI_POWER_DOMAIN_USB>;
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A D | twl4030-power.txt | 1 Texas Instruments TWL family (twl4030) reset and power management module 3 The power management module inside the TWL family provides several facilities 4 to control the power resources, including power scripts. For now, the 9 "ti,twl4030-power" 10 "ti,twl4030-power-reset" 11 "ti,twl4030-power-idle" 12 "ti,twl4030-power-idle-osc-off" 14 The use of ti,twl4030-power-reset is recommended at least on 17 When using ti,twl4030-power-idle, the TI recommended configuration 20 When using ti,twl4030-power-idle-osc-off, the TI recommended [all …]
|