Home
last modified time | relevance | path

Searched refs:power (Results 1 – 25 of 2607) sorted by relevance

12345678910>>...105

/Linux-v5.15/drivers/base/power/
Druntime.c69 if (dev->power.disable_depth > 0) in update_pm_runtime_accounting()
72 last = dev->power.accounting_timestamp; in update_pm_runtime_accounting()
75 dev->power.accounting_timestamp = now; in update_pm_runtime_accounting()
87 if (dev->power.runtime_status == RPM_SUSPENDED) in update_pm_runtime_accounting()
88 dev->power.suspended_time += delta; in update_pm_runtime_accounting()
90 dev->power.active_time += delta; in update_pm_runtime_accounting()
96 dev->power.runtime_status = status; in __update_runtime_status()
104 spin_lock_irqsave(&dev->power.lock, flags); in rpm_get_accounted_time()
107 time = suspended ? dev->power.suspended_time : dev->power.active_time; in rpm_get_accounted_time()
109 spin_unlock_irqrestore(&dev->power.lock, flags); in rpm_get_accounted_time()
[all …]
Dqos.c54 struct dev_pm_qos *qos = dev->power.qos; in __dev_pm_qos_flags()
58 lockdep_assert_held(&dev->power.lock); in __dev_pm_qos_flags()
84 spin_lock_irqsave(&dev->power.lock, irqflags); in dev_pm_qos_flags()
86 spin_unlock_irqrestore(&dev->power.lock, irqflags); in dev_pm_qos_flags()
100 lockdep_assert_held(&dev->power.lock); in __dev_pm_qos_resume_latency()
112 struct dev_pm_qos *qos = dev->power.qos; in dev_pm_qos_read_value()
116 spin_lock_irqsave(&dev->power.lock, flags); in dev_pm_qos_read_value()
136 spin_unlock_irqrestore(&dev->power.lock, flags); in dev_pm_qos_read_value()
153 struct dev_pm_qos *qos = req->dev->power.qos; in apply_constraint()
169 req->dev->power.set_latency_tolerance(req->dev, value); in apply_constraint()
[all …]
Dsysfs.c105 dev->power.runtime_auto ? ctrl_auto : ctrl_on); in control_show()
155 if (dev->power.runtime_error) { in runtime_status_show()
157 } else if (dev->power.disable_depth) { in runtime_status_show()
160 switch (dev->power.runtime_status) { in runtime_status_show()
186 if (!dev->power.use_autosuspend) in autosuspend_delay_ms_show()
189 return sysfs_emit(buf, "%d\n", dev->power.autosuspend_delay); in autosuspend_delay_ms_show()
197 if (!dev->power.use_autosuspend) in autosuspend_delay_ms_store()
248 ret = dev_pm_qos_update_request(dev->power.qos->resume_latency_req, in pm_qos_resume_latency_us_store()
355 spin_lock_irq(&dev->power.lock); in wakeup_count_show()
356 if (dev->power.wakeup) { in wakeup_count_show()
[all …]
Dmain.c100 dev->power.is_prepared = false; in device_pm_sleep_init()
101 dev->power.is_suspended = false; in device_pm_sleep_init()
102 dev->power.is_noirq_suspended = false; in device_pm_sleep_init()
103 dev->power.is_late_suspended = false; in device_pm_sleep_init()
104 init_completion(&dev->power.completion); in device_pm_sleep_init()
105 complete_all(&dev->power.completion); in device_pm_sleep_init()
106 dev->power.wakeup = NULL; in device_pm_sleep_init()
107 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init()
140 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add()
143 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add()
[all …]
/Linux-v5.15/drivers/staging/nvec/
Dnvec_power.c87 struct nvec_power *power = in nvec_power_notifier() local
95 if (power->on != res->plu) { in nvec_power_notifier()
96 power->on = res->plu; in nvec_power_notifier()
109 static void get_bat_mfg_data(struct nvec_power *power) in get_bat_mfg_data() argument
116 nvec_write_async(power->nvec, buf, 2); in get_bat_mfg_data()
123 struct nvec_power *power = in nvec_power_bat_notifier() local
134 if (power->bat_present == 0) { in nvec_power_bat_notifier()
136 get_bat_mfg_data(power); in nvec_power_bat_notifier()
139 power->bat_present = 1; in nvec_power_bat_notifier()
143 power->bat_status = in nvec_power_bat_notifier()
[all …]
/Linux-v5.15/drivers/power/supply/
Daxp20x_usb_power.c77 static bool axp20x_usb_vbus_needs_polling(struct axp20x_usb_power *power) in axp20x_usb_vbus_needs_polling() argument
84 if (power->axp20x_id >= AXP221_ID && !power->online) in axp20x_usb_vbus_needs_polling()
92 struct axp20x_usb_power *power = devid; in axp20x_usb_power_irq() local
94 power_supply_changed(power->supply); in axp20x_usb_power_irq()
96 mod_delayed_work(system_power_efficient_wq, &power->vbus_detect, DEBOUNCE_TIME); in axp20x_usb_power_irq()
103 struct axp20x_usb_power *power = in axp20x_usb_power_poll_vbus() local
108 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, &val); in axp20x_usb_power_poll_vbus()
113 if (val != power->old_status) in axp20x_usb_power_poll_vbus()
114 power_supply_changed(power->supply); in axp20x_usb_power_poll_vbus()
116 power->old_status = val; in axp20x_usb_power_poll_vbus()
[all …]
Daxp20x_ac_power.c54 struct axp20x_ac_power *power = devid; in axp20x_ac_power_irq() local
56 power_supply_changed(power->supply); in axp20x_ac_power_irq()
65 struct axp20x_ac_power *power = power_supply_get_drvdata(psy); in axp20x_ac_power_get_property() local
70 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, &reg); in axp20x_ac_power_get_property()
83 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, &reg); in axp20x_ac_power_get_property()
91 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, &reg); in axp20x_ac_power_get_property()
98 if (val->intval && power->has_acin_path_sel) { in axp20x_ac_power_get_property()
99 ret = regmap_read(power->regmap, AXP813_ACIN_PATH_CTRL, in axp20x_ac_power_get_property()
110 ret = iio_read_channel_processed(power->acin_v, &val->intval); in axp20x_ac_power_get_property()
120 ret = iio_read_channel_processed(power->acin_i, &val->intval); in axp20x_ac_power_get_property()
[all …]
Dwm831x_power.c536 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-v5.15/drivers/net/ipa/
Dipa_power.c111 static int ipa_interconnect_init(struct ipa_power *power, struct device *dev, in ipa_interconnect_init() argument
118 count = power->interconnect_count; in ipa_interconnect_init()
122 power->interconnect = interconnect; in ipa_interconnect_init()
134 while (interconnect-- > power->interconnect) in ipa_interconnect_init()
136 kfree(power->interconnect); in ipa_interconnect_init()
137 power->interconnect = NULL; in ipa_interconnect_init()
143 static void ipa_interconnect_exit(struct ipa_power *power) in ipa_interconnect_exit() argument
147 interconnect = power->interconnect + power->interconnect_count; in ipa_interconnect_exit()
148 while (interconnect-- > power->interconnect) in ipa_interconnect_exit()
150 kfree(power->interconnect); in ipa_interconnect_exit()
[all …]
/Linux-v5.15/drivers/gpu/drm/msm/dp/
Ddp_power.c27 static void dp_power_regulator_disable(struct dp_power_private *power) in dp_power_regulator_disable() argument
29 struct regulator_bulk_data *s = power->supplies; in dp_power_regulator_disable()
30 const struct dp_reg_entry *regs = power->parser->regulator_cfg->regs; in dp_power_regulator_disable()
31 int num = power->parser->regulator_cfg->num; in dp_power_regulator_disable()
43 static int dp_power_regulator_enable(struct dp_power_private *power) in dp_power_regulator_enable() argument
45 struct regulator_bulk_data *s = power->supplies; in dp_power_regulator_enable()
46 const struct dp_reg_entry *regs = power->parser->regulator_cfg->regs; in dp_power_regulator_enable()
47 int num = power->parser->regulator_cfg->num; in dp_power_regulator_enable()
77 static int dp_power_regulator_init(struct dp_power_private *power) in dp_power_regulator_init() argument
79 struct regulator_bulk_data *s = power->supplies; in dp_power_regulator_init()
[all …]
/Linux-v5.15/drivers/soc/bcm/
Dbcm2835-power.c109 #define PM_READ(reg) readl(power->base + (reg))
110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg))
129 #define ASB_READ(reg) readl(power->asb + (reg))
130 #define ASB_WRITE(reg, val) writel(PM_PASSWORD | (val), power->asb + (reg))
134 struct bcm2835_power *power; member
151 static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg) in bcm2835_asb_enable() argument
171 static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg) in bcm2835_asb_disable() argument
193 struct bcm2835_power *power = pd->power; in bcm2835_power_power_off() local
209 struct bcm2835_power *power = pd->power; in bcm2835_power_power_on() local
210 struct device *dev = power->dev; in bcm2835_power_power_on()
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/soc/mediatek/
Dscpsys.txt4 The System Control Processor System (SCPSYS) has several power management
7 The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
11 power/power-domain.yaml. It provides the power domains defined in
12 - include/dt-bindings/power/mt8173-power.h
13 - include/dt-bindings/power/mt6797-power.h
14 - include/dt-bindings/power/mt6765-power.h
15 - include/dt-bindings/power/mt2701-power.h
16 - include/dt-bindings/power/mt2712-power.h
17 - include/dt-bindings/power/mt7622-power.h
30 - #power-domain-cells: Must be 1
[all …]
/Linux-v5.15/drivers/soc/bcm/bcm63xx/
Dbcm63xx-power.c21 struct bcm63xx_power *power; member
41 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_get_state() local
48 *is_on = !(__raw_readl(power->base) & pmd->mask); in bcm63xx_power_get_state()
55 struct bcm63xx_power *power = pmd->power; in bcm63xx_power_set_state() local
62 spin_lock_irqsave(&power->lock, flags); in bcm63xx_power_set_state()
63 val = __raw_readl(power->base); in bcm63xx_power_set_state()
68 __raw_writel(val, power->base); in bcm63xx_power_set_state()
69 spin_unlock_irqrestore(&power->lock, flags); in bcm63xx_power_set_state()
96 struct bcm63xx_power *power; in bcm63xx_power_probe() local
101 power = devm_kzalloc(dev, sizeof(*power), GFP_KERNEL); in bcm63xx_power_probe()
[all …]
/Linux-v5.15/Documentation/devicetree/bindings/power/
Dpower_domain.txt4 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-v5.15/arch/arm/boot/dts/
Dbcm2835-rpi.dtsi1 #include <dt-bindings/power/raspberrypi-power.h>
24 power: power { label
25 compatible = "raspberrypi,bcm2835-power";
27 #power-domain-cells = <1>;
67 power-domains = <&power RPI_POWER_DOMAIN_USB>;
71 power-domains = <&power RPI_POWER_DOMAIN_VEC>;
76 power-domains = <&power RPI_POWER_DOMAIN_DSI0>;
80 power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
/Linux-v5.15/Documentation/devicetree/bindings/soc/bcm/
Draspberrypi,bcm2835-power.txt1 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-v5.15/arch/powerpc/boot/dts/fsl/
De6500_power_isa.dtsi37 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 …]
De5500_power_isa.dtsi37 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-v5.15/arch/arm64/boot/dts/mediatek/
Dmt8167.dtsi10 #include <dt-bindings/power/mt8167-power.h>
41 #power-domain-cells = <1>;
43 spm: power-controller {
44 compatible = "mediatek,mt8167-power-controller";
47 #power-domain-cells = <1>;
49 /* power domains of the SoC */
50 power-domain@MT8167_POWER_DOMAIN_MM {
54 #power-domain-cells = <0>;
58 power-domain@MT8167_POWER_DOMAIN_VDEC {
63 #power-domain-cells = <0>;
[all …]
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-class-powercap6 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-v5.15/Documentation/hwmon/
Docc.rst17 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-v5.15/drivers/usb/musb/
Dmusb_virthub.c25 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()
54 u8 power; in musb_port_suspend() local
65 power = musb_readb(mbase, MUSB_POWER); in musb_port_suspend()
69 if (power & MUSB_POWER_RESUME) in musb_port_suspend()
72 if (!(power & MUSB_POWER_SUSPENDM)) { in musb_port_suspend()
73 power |= MUSB_POWER_SUSPENDM; in musb_port_suspend()
[all …]
/Linux-v5.15/Documentation/power/powercap/
Dpowercap.rst5 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 …]
Ddtpm.rst12 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-v5.15/Documentation/devicetree/bindings/mfd/
Dtwl4030-power.txt1 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 …]

12345678910>>...105