/Linux-v6.1/drivers/base/power/ |
D | runtime.c | 69 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 …]
|
D | qos.c | 54 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 …]
|
D | sysfs.c | 105 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 …]
|
D | main.c | 99 dev->power.is_prepared = false; in device_pm_sleep_init() 100 dev->power.is_suspended = false; in device_pm_sleep_init() 101 dev->power.is_noirq_suspended = false; in device_pm_sleep_init() 102 dev->power.is_late_suspended = false; in device_pm_sleep_init() 103 init_completion(&dev->power.completion); in device_pm_sleep_init() 104 complete_all(&dev->power.completion); in device_pm_sleep_init() 105 dev->power.wakeup = NULL; in device_pm_sleep_init() 106 INIT_LIST_HEAD(&dev->power.entry); in device_pm_sleep_init() 139 if (dev->parent && dev->parent->power.is_prepared) in device_pm_add() 142 list_add_tail(&dev->power.entry, &dpm_list); in device_pm_add() [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/apple/ |
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 …]
|
/Linux-v6.1/drivers/net/ipa/ |
D | ipa_power.c | 74 static int ipa_interconnect_init(struct ipa_power *power, in ipa_interconnect_init() argument 82 interconnect = &power->interconnect[0]; in ipa_interconnect_init() 83 for (i = 0; i < power->interconnect_count; i++) { in ipa_interconnect_init() 92 ret = of_icc_bulk_get(power->dev, power->interconnect_count, in ipa_interconnect_init() 93 power->interconnect); in ipa_interconnect_init() 98 icc_bulk_disable(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 101 ret = icc_bulk_set_bw(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 103 icc_bulk_put(power->interconnect_count, power->interconnect); in ipa_interconnect_init() 109 static void ipa_interconnect_exit(struct ipa_power *power) in ipa_interconnect_exit() argument 111 icc_bulk_put(power->interconnect_count, power->interconnect); in ipa_interconnect_exit() [all …]
|
/Linux-v6.1/drivers/power/supply/ |
D | axp20x_usb_power.c | 77 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 …]
|
D | axp20x_ac_power.c | 54 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, ®); in axp20x_ac_power_get_property() 83 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property() 91 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); 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 …]
|
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-v6.1/drivers/staging/nvec/ |
D | nvec_power.c | 87 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-v6.1/drivers/gpu/drm/msm/dp/ |
D | dp_power.c | 27 static int dp_power_clk_init(struct dp_power_private *power) in dp_power_clk_init() argument 31 struct device *dev = &power->pdev->dev; in dp_power_clk_init() 33 core = &power->parser->mp[DP_CORE_PM]; in dp_power_clk_init() 34 ctrl = &power->parser->mp[DP_CTRL_PM]; in dp_power_clk_init() 35 stream = &power->parser->mp[DP_STREAM_PM]; in dp_power_clk_init() 63 struct dp_power_private *power; in dp_power_clk_status() local 65 power = container_of(dp_power, struct dp_power_private, dp_power); in dp_power_clk_status() 67 drm_dbg_dp(power->drm_dev, in dp_power_clk_status() 87 struct dp_power_private *power; in dp_power_clk_enable() local 90 power = container_of(dp_power, struct dp_power_private, dp_power); in dp_power_clk_enable() [all …]
|
/Linux-v6.1/drivers/soc/bcm/ |
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 …]
|
/Linux-v6.1/arch/arm64/boot/dts/arm/ |
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-v6.1/Documentation/devicetree/bindings/soc/mediatek/ |
D | scpsys.txt | 4 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-v6.1/drivers/soc/bcm/bcm63xx/ |
D | bcm63xx-power.c | 21 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() 95 struct bcm63xx_power *power; in bcm63xx_power_probe() local 100 power = devm_kzalloc(dev, sizeof(*power), GFP_KERNEL); in bcm63xx_power_probe() [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/power/ |
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-v6.1/include/trace/events/ |
D | thermal.h | 96 TP_PROTO(int cpu, u32 power), 98 TP_ARGS(cpu, power), 102 __field(u32, power) 107 __entry->power = power; 110 TP_printk("cpu=%d power=%u", __entry->cpu, __entry->power) 115 unsigned long cdev_state, u32 power), 117 TP_ARGS(cpus, freq, cdev_state, power), 123 __field(u32, power ) 131 __entry->power = power; 136 __entry->power) [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | bcm2835-rpi.dtsi | 1 #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-v6.1/arch/powerpc/boot/dts/fsl/ |
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 …]
|
/Linux-v6.1/Documentation/ABI/testing/ |
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-v6.1/Documentation/devicetree/bindings/soc/bcm/ |
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-v6.1/Documentation/hwmon/ |
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-v6.1/drivers/usb/musb/ |
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() 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-v6.1/arch/arm64/boot/dts/mediatek/ |
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-v6.1/Documentation/power/powercap/ |
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 …]
|