Home
last modified time | relevance | path

Searched full:pm (Results 1 – 25 of 2922) sorted by relevance

12345678910>>...117

/Linux-v5.10/drivers/base/power/
Dgeneric_ops.c3 * drivers/base/power/generic_ops.c - Generic PM callbacks for subsystems
7 #include <linux/pm.h>
16 * If PM operations are defined for the @dev's driver and they include
22 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pm_generic_runtime_suspend() local
25 ret = pm && pm->runtime_suspend ? pm->runtime_suspend(dev) : 0; in pm_generic_runtime_suspend()
35 * If PM operations are defined for the @dev's driver and they include
41 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pm_generic_runtime_resume() local
44 ret = pm && pm->runtime_resume ? pm->runtime_resume(dev) : 0; in pm_generic_runtime_resume()
63 if (drv && drv->pm && drv->pm->prepare) in pm_generic_prepare()
64 ret = drv->pm->prepare(dev); in pm_generic_prepare()
[all …]
Dcommon.c83 * dev_pm_domain_attach - Attach a device to its PM domain.
87 * The @dev may only be attached to a single PM domain. By iterating through
88 * the available alternatives we try to find a valid PM domain for the device.
94 * power management through PM domains.
99 * Returns 0 on successfully attached PM domain, or when it is found that the
100 * device doesn't need a PM domain, else a negative error code.
118 * dev_pm_domain_attach_by_id - Associate a device with one of its PM domains.
119 * @dev: The device used to lookup the PM domain.
120 * @index: The index of the PM domain.
122 * As @dev may only be attached to a single PM domain, the backend PM domain
[all …]
Dmain.c18 #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()
110 * device_pm_lock - Lock the list of active devices used by the PM core.
118 * device_pm_unlock - Unlock the list of active devices used by the PM core.
126 * device_pm_add - Add a device to the PM core's list of active devices.
131 /* Skip PM setup/initialization. */ in device_pm_add()
148 * device_pm_remove - Remove a device from the PM core's list of active devices.
169 * device_pm_move_before - Move device in the PM core's list of active devices.
[all …]
/Linux-v5.10/drivers/input/touchscreen/
Dpenmount.c50 struct pm { struct
59 void (*parse_packet)(struct pm *); argument
66 static void pm_mtevent(struct pm *pm, struct input_dev *input) in pm_mtevent() argument
70 for (i = 0; i < pm->maxcontacts; ++i) { in pm_mtevent()
73 pm->slots[i].active); in pm_mtevent()
74 if (pm->slots[i].active) { in pm_mtevent()
75 input_event(input, EV_ABS, ABS_MT_POSITION_X, pm->slots[i].x); in pm_mtevent()
76 input_event(input, EV_ABS, ABS_MT_POSITION_Y, pm->slots[i].y); in pm_mtevent()
99 static void pm_parse_9000(struct pm *pm) in pm_parse_9000() argument
101 struct input_dev *dev = pm->dev; in pm_parse_9000()
[all …]
/Linux-v5.10/drivers/gpu/drm/radeon/
Dradeon_pm.c63 for (i = 0; i < rdev->pm.num_power_states; i++) { in radeon_pm_get_type_index()
64 if (rdev->pm.power_state[i].type == ps_type) { in radeon_pm_get_type_index()
71 return rdev->pm.default_power_state_index; in radeon_pm_get_type_index()
76 if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) { in radeon_pm_acpi_event_handler()
77 mutex_lock(&rdev->pm.mutex); in radeon_pm_acpi_event_handler()
79 rdev->pm.dpm.ac_power = true; in radeon_pm_acpi_event_handler()
81 rdev->pm.dpm.ac_power = false; in radeon_pm_acpi_event_handler()
84 radeon_dpm_enable_bapm(rdev, rdev->pm.dpm.ac_power); in radeon_pm_acpi_event_handler()
86 mutex_unlock(&rdev->pm.mutex); in radeon_pm_acpi_event_handler()
87 } else if (rdev->pm.pm_method == PM_METHOD_PROFILE) { in radeon_pm_acpi_event_handler()
[all …]
Dr600_dpm.c147 if (rps == rdev->pm.dpm.current_ps) in r600_dpm_print_ps_status()
149 if (rps == rdev->pm.dpm.requested_ps) in r600_dpm_print_ps_status()
151 if (rps == rdev->pm.dpm.boot_ps) in r600_dpm_print_ps_status()
758 rdev->pm.dpm.thermal.min_temp = low_temp; in r600_set_thermal_temperature_range()
759 rdev->pm.dpm.thermal.max_temp = high_temp; in r600_set_thermal_temperature_range()
792 r600_is_internal_thermal_sensor(rdev->pm.int_thermal_type)) { in r600_dpm_late_enable()
858 rdev->pm.dpm.platform_caps = le32_to_cpu(power_info->pplib.ulPlatformCaps); in r600_get_platform_caps()
859 rdev->pm.dpm.backbias_response_time = le16_to_cpu(power_info->pplib.usBackbiasTime); in r600_get_platform_caps()
860 rdev->pm.dpm.voltage_response_time = le16_to_cpu(power_info->pplib.usVoltageTime); in r600_get_platform_caps()
895 rdev->pm.dpm.fan.t_hyst = fan_info->fan.ucTHyst; in r600_parse_extended_power_table()
[all …]
Dr600.c366 rdev->pm.dynpm_can_upclock = true; in r600_pm_get_dynpm_state()
367 rdev->pm.dynpm_can_downclock = true; in r600_pm_get_dynpm_state()
373 if (rdev->pm.num_power_states > 2) in r600_pm_get_dynpm_state()
376 switch (rdev->pm.dynpm_planned_action) { in r600_pm_get_dynpm_state()
378 rdev->pm.requested_power_state_index = min_power_state_index; in r600_pm_get_dynpm_state()
379 rdev->pm.requested_clock_mode_index = 0; in r600_pm_get_dynpm_state()
380 rdev->pm.dynpm_can_downclock = false; in r600_pm_get_dynpm_state()
383 if (rdev->pm.current_power_state_index == min_power_state_index) { in r600_pm_get_dynpm_state()
384 rdev->pm.requested_power_state_index = rdev->pm.current_power_state_index; in r600_pm_get_dynpm_state()
385 rdev->pm.dynpm_can_downclock = false; in r600_pm_get_dynpm_state()
[all …]
/Linux-v5.10/net/mptcp/
Dpm.c21 msk->pm.local = *addr; in mptcp_pm_announce_addr()
22 WRITE_ONCE(msk->pm.add_addr_echo, echo); in mptcp_pm_announce_addr()
23 WRITE_ONCE(msk->pm.add_addr_signal, true); in mptcp_pm_announce_addr()
31 msk->pm.rm_id = local_id; in mptcp_pm_remove_addr()
32 WRITE_ONCE(msk->pm.rm_addr_signal, true); in mptcp_pm_remove_addr()
40 spin_lock_bh(&msk->pm.lock); in mptcp_pm_remove_subflow()
42 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_remove_subflow()
50 struct mptcp_pm_data *pm = &msk->pm; in mptcp_pm_new_connection() local
54 WRITE_ONCE(pm->server_side, server_side); in mptcp_pm_new_connection()
59 struct mptcp_pm_data *pm = &msk->pm; in mptcp_pm_allow_new_subflow() local
[all …]
Dpm_netlink.c184 if (msk->pm.add_addr_signaled == msk->pm.add_addr_signal_max && in check_work_pending()
185 (msk->pm.local_addr_used == msk->pm.local_addr_max || in check_work_pending()
186 msk->pm.subflows == msk->pm.subflows_max)) in check_work_pending()
187 WRITE_ONCE(msk->pm.work_pending, false); in check_work_pending()
196 list_for_each_entry(entry, &msk->pm.anno_list, list) { in lookup_anno_list_by_saddr()
226 spin_lock_bh(&msk->pm.lock); in mptcp_pm_add_timer()
237 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_add_timer()
250 spin_lock_bh(&msk->pm.lock); in mptcp_pm_del_add_timer()
254 spin_unlock_bh(&msk->pm.lock); in mptcp_pm_del_add_timer()
275 list_add(&add_entry->list, &msk->pm.anno_list); in mptcp_pm_alloc_anno_list()
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/amdkfd/
Dkfd_packet_manager.c40 static void pm_calc_rlib_size(struct packet_manager *pm, in pm_calc_rlib_size() argument
47 struct kfd_dev *dev = pm->dqm->dev; in pm_calc_rlib_size()
49 process_count = pm->dqm->processes_count; in pm_calc_rlib_size()
50 queue_count = pm->dqm->active_queue_count; in pm_calc_rlib_size()
51 compute_queue_count = pm->dqm->active_cp_queue_count; in pm_calc_rlib_size()
52 gws_queue_count = pm->dqm->gws_queue_count; in pm_calc_rlib_size()
65 compute_queue_count > get_cp_queues_num(pm->dqm) || in pm_calc_rlib_size()
71 map_queue_size = pm->pmf->map_queues_size; in pm_calc_rlib_size()
73 *rlib_size = process_count * pm->pmf->map_process_size + in pm_calc_rlib_size()
81 *rlib_size += pm->pmf->runlist_size; in pm_calc_rlib_size()
[all …]
/Linux-v5.10/drivers/input/misc/
Dpowermate.c88 struct powermate_device *pm = urb->context; in powermate_irq() local
89 struct device *dev = &pm->intf->dev; in powermate_irq()
110 input_report_key(pm->input, BTN_0, pm->data[0] & 0x01); in powermate_irq()
111 input_report_rel(pm->input, REL_DIAL, pm->data[1]); in powermate_irq()
112 input_sync(pm->input); in powermate_irq()
121 /* Decide if we need to issue a control message and do so. Must be called with pm->lock taken */
122 static void powermate_sync_state(struct powermate_device *pm) in powermate_sync_state() argument
124 if (pm->requires_update == 0) in powermate_sync_state()
126 if (pm->config->status == -EINPROGRESS) in powermate_sync_state()
129 if (pm->requires_update & UPDATE_PULSE_ASLEEP){ in powermate_sync_state()
[all …]
/Linux-v5.10/drivers/hid/
Dhid-prodikeys.c39 struct pcmidi_snd *pm; /* pcmidi device context */ member
44 struct pcmidi_snd *pm; member
105 dbg_hid("pcmidi sysfs read channel=%u\n", pk->pm->midi_channel); in show_channel()
107 return sprintf(buf, "%u (min:%u, max:%u)\n", pk->pm->midi_channel, in show_channel()
122 pk->pm->midi_channel = channel; in store_channel()
142 dbg_hid("pcmidi sysfs read sustain=%u\n", pk->pm->midi_sustain); in show_sustain()
144 return sprintf(buf, "%u (off:%u, max:%u (ms))\n", pk->pm->midi_sustain, in show_sustain()
159 pk->pm->midi_sustain = sustain; in store_sustain()
160 pk->pm->midi_sustain_mode = in store_sustain()
161 (0 == sustain || !pk->pm->midi_mode) ? 0 : 1; in store_sustain()
[all …]
/Linux-v5.10/drivers/media/platform/s5p-mfc/
Ds5p_mfc_pm.c17 static struct s5p_mfc_pm *pm; variable
25 pm = &dev->pm; in s5p_mfc_init_pm()
28 pm->num_clocks = dev->variant->num_clocks; in s5p_mfc_init_pm()
29 pm->clk_names = dev->variant->clk_names; in s5p_mfc_init_pm()
30 pm->device = &dev->plat_dev->dev; in s5p_mfc_init_pm()
31 pm->clock_gate = NULL; in s5p_mfc_init_pm()
34 for (i = 0; i < pm->num_clocks; i++) { in s5p_mfc_init_pm()
35 pm->clocks[i] = devm_clk_get(pm->device, pm->clk_names[i]); in s5p_mfc_init_pm()
36 if (IS_ERR(pm->clocks[i])) { in s5p_mfc_init_pm()
38 if (i && PTR_ERR(pm->clocks[i]) == -ENOENT) { in s5p_mfc_init_pm()
[all …]
/Linux-v5.10/drivers/gpu/drm/amd/pm/
Damdgpu_dpm.c114 if (rps == adev->pm.dpm.current_ps) in amdgpu_dpm_print_ps_status()
116 if (rps == adev->pm.dpm.requested_ps) in amdgpu_dpm_print_ps_status()
118 if (rps == adev->pm.dpm.boot_ps) in amdgpu_dpm_print_ps_status()
129 adev->pm.dpm.new_active_crtcs = 0; in amdgpu_dpm_get_active_displays()
130 adev->pm.dpm.new_active_crtc_count = 0; in amdgpu_dpm_get_active_displays()
136 adev->pm.dpm.new_active_crtcs |= (1 << amdgpu_crtc->crtc_id); in amdgpu_dpm_get_active_displays()
137 adev->pm.dpm.new_active_crtc_count++; in amdgpu_dpm_get_active_displays()
269 adev->pm.dpm.platform_caps = le32_to_cpu(power_info->pplib.ulPlatformCaps); in amdgpu_get_platform_caps()
270 adev->pm.dpm.backbias_response_time = le16_to_cpu(power_info->pplib.usBackbiasTime); in amdgpu_get_platform_caps()
271 adev->pm.dpm.voltage_response_time = le16_to_cpu(power_info->pplib.usVoltageTime); in amdgpu_get_platform_caps()
[all …]
/Linux-v5.10/drivers/scsi/
Dscsi_pm.c12 #include <linux/blk-pm.h>
23 static int do_scsi_suspend(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_suspend() argument
25 return pm && pm->suspend ? pm->suspend(dev) : 0; in do_scsi_suspend()
28 static int do_scsi_freeze(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_freeze() argument
30 return pm && pm->freeze ? pm->freeze(dev) : 0; in do_scsi_freeze()
33 static int do_scsi_poweroff(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_poweroff() argument
35 return pm && pm->poweroff ? pm->poweroff(dev) : 0; in do_scsi_poweroff()
38 static int do_scsi_resume(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_resume() argument
40 return pm && pm->resume ? pm->resume(dev) : 0; in do_scsi_resume()
43 static int do_scsi_thaw(struct device *dev, const struct dev_pm_ops *pm) in do_scsi_thaw() argument
[all …]
/Linux-v5.10/tools/power/pm-graph/
DMakefile9 install -d $(DESTDIR)$(PREFIX)/lib/pm-graph
10 install sleepgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
11 install bootgraph.py $(DESTDIR)$(PREFIX)/lib/pm-graph
12 install -d $(DESTDIR)$(PREFIX)/lib/pm-graph/config
13 install -m 644 config/cgskip.txt $(DESTDIR)$(PREFIX)/lib/pm-graph/config
14 install -m 644 config/freeze-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
15 install -m 644 config/freeze.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
16 install -m 644 config/freeze-dev.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
17 install -m 644 config/standby-callgraph.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
18 install -m 644 config/standby.cfg $(DESTDIR)$(PREFIX)/lib/pm-graph/config
[all …]
/Linux-v5.10/arch/powerpc/include/asm/
Dreg_fsl_emb.h27 #define PMRN_PMLCA0 0x090 /* PM Local Control A0 */
28 #define PMRN_PMLCA1 0x091 /* PM Local Control A1 */
29 #define PMRN_PMLCA2 0x092 /* PM Local Control A2 */
30 #define PMRN_PMLCA3 0x093 /* PM Local Control A3 */
31 #define PMRN_PMLCA4 0x094 /* PM Local Control A4 */
32 #define PMRN_PMLCA5 0x095 /* PM Local Control A5 */
46 #define PMRN_PMLCB0 0x110 /* PM Local Control B0 */
47 #define PMRN_PMLCB1 0x111 /* PM Local Control B1 */
48 #define PMRN_PMLCB2 0x112 /* PM Local Control B2 */
49 #define PMRN_PMLCB3 0x113 /* PM Local Control B3 */
[all …]
/Linux-v5.10/sound/drivers/
Dportman2x4.c78 static int portman_free(struct portman *pm) in portman_free() argument
80 kfree(pm); in portman_free()
88 struct portman *pm; in portman_create() local
92 pm = kzalloc(sizeof(struct portman), GFP_KERNEL); in portman_create()
93 if (pm == NULL) in portman_create()
97 spin_lock_init(&pm->reg_lock); in portman_create()
98 pm->card = card; in portman_create()
99 pm->pardev = pardev; in portman_create()
101 *rchip = pm; in portman_create()
181 static inline void portman_write_command(struct portman *pm, u8 value) in portman_write_command() argument
[all …]
/Linux-v5.10/drivers/mfd/
Dbcm2835-pm.c3 * PM MFD driver for Broadcom BCM2835
5 * This driver binds to the PM block and creates the MFD device for
11 #include <linux/mfd/bcm2835-pm.h>
32 struct bcm2835_pm *pm; in bcm2835_pm_probe() local
35 pm = devm_kzalloc(dev, sizeof(*pm), GFP_KERNEL); in bcm2835_pm_probe()
36 if (!pm) in bcm2835_pm_probe()
38 platform_set_drvdata(pdev, pm); in bcm2835_pm_probe()
40 pm->dev = dev; in bcm2835_pm_probe()
43 pm->base = devm_ioremap_resource(dev, res); in bcm2835_pm_probe()
44 if (IS_ERR(pm->base)) in bcm2835_pm_probe()
[all …]
/Linux-v5.10/Documentation/power/
Druntime_pm.rst14 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:
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
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.
28 * Three device runtime PM callbacks in 'struct dev_pm_ops' (defined in
29 include/linux/pm.h).
32 used for carrying out runtime PM operations in such a way that the
[all …]
/Linux-v5.10/include/linux/
Dpm_runtime.h13 #include <linux/pm.h>
17 /* Runtime PM flag argument bits */
63 * pm_runtime_get_if_in_use - Conditionally bump up runtime PM usage counter.
66 * Increment the runtime PM usage counter of @dev if its runtime PM status is
67 * %RPM_ACTIVE and its runtime PM usage counter is greater than 0.
75 * pm_suspend_ignore_children - Set runtime PM behavior regarding children.
80 * the runtime PM framework going forward if @enable is %true, or they will
89 * pm_runtime_get_noresume - Bump up runtime PM usage counter of a device.
98 * pm_runtime_put_noidle - Drop runtime PM usage counter of a device.
101 * Decrement the runtime PM usage counter of @dev unless it is 0 already.
[all …]
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/pm/
Dbase.c36 nvkm_pm_count_perfdom(struct nvkm_pm *pm) in nvkm_pm_count_perfdom() argument
41 list_for_each_entry(dom, &pm->domains, head) in nvkm_pm_count_perfdom()
62 nvkm_perfdom_find(struct nvkm_pm *pm, int di) in nvkm_perfdom_find() argument
67 list_for_each_entry(dom, &pm->domains, head) { in nvkm_perfdom_find()
75 nvkm_perfsig_find(struct nvkm_pm *pm, u8 di, u8 si, struct nvkm_perfdom **pdom) in nvkm_perfsig_find() argument
80 dom = nvkm_perfdom_find(pm, di); in nvkm_perfsig_find()
104 nvkm_perfsrc_find(struct nvkm_pm *pm, struct nvkm_perfsig *sig, int si) in nvkm_perfsrc_find() argument
119 list_for_each_entry(src, &pm->sources, head) { in nvkm_perfsrc_find()
129 nvkm_perfsrc_enable(struct nvkm_pm *pm, struct nvkm_perfctr *ctr) in nvkm_perfsrc_enable() argument
131 struct nvkm_subdev *subdev = &pm->engine.subdev; in nvkm_perfsrc_enable()
[all …]
/Linux-v5.10/drivers/pci/
Dpci-driver.c299 * runtime PM status. During probe, the device is set to in local_pci_probe()
301 * supports runtime PM, it should call pm_runtime_put_noidle(), in local_pci_probe()
302 * or any other runtime PM helper function decrementing the usage in local_pci_probe()
458 /* Undo the runtime PM settings in local_pci_probe() */ in pci_device_remove()
594 "PCI PM: Device state not saved by %pS\n", in pci_legacy_suspend()
633 /* Disable non-bridge devices without PM support */ in pci_pm_default_suspend()
644 * Legacy PM support is used by default, so warn if the new framework is in pci_has_legacy_pm_support()
648 pci_WARN(pci_dev, ret && drv->driver.pm, "device %04x:%04x\n", in pci_has_legacy_pm_support()
659 const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; in pci_pm_prepare() local
661 if (pm && pm->prepare) { in pci_pm_prepare()
[all …]
/Linux-v5.10/drivers/media/platform/mtk-vcodec/
Dmtk_vcodec_enc_pm.c20 struct mtk_vcodec_pm *pm; in mtk_vcodec_init_enc_pm() local
27 pm = &mtkdev->pm; in mtk_vcodec_init_enc_pm()
28 memset(pm, 0, sizeof(struct mtk_vcodec_pm)); in mtk_vcodec_init_enc_pm()
29 pm->mtkdev = mtkdev; in mtk_vcodec_init_enc_pm()
30 pm->dev = &pdev->dev; in mtk_vcodec_init_enc_pm()
32 enc_clk = &pm->venc_clk; in mtk_vcodec_init_enc_pm()
45 pm->larbvenc = &pdev->dev; in mtk_vcodec_init_enc_pm()
60 pm->larbvenclt = &pdev->dev; in mtk_vcodec_init_enc_pm()
62 pm->dev = &pdev->dev; in mtk_vcodec_init_enc_pm()
102 void mtk_vcodec_enc_clock_on(struct mtk_vcodec_pm *pm) in mtk_vcodec_enc_clock_on() argument
[all …]
Dmtk_vcodec_dec_pm.c20 struct mtk_vcodec_pm *pm; in mtk_vcodec_init_dec_pm() local
26 pm = &mtkdev->pm; in mtk_vcodec_init_dec_pm()
27 pm->mtkdev = mtkdev; in mtk_vcodec_init_dec_pm()
28 dec_clk = &pm->vdec_clk; in mtk_vcodec_init_dec_pm()
40 pm->larbvdec = &pdev->dev; in mtk_vcodec_init_dec_pm()
42 pm->dev = &pdev->dev; in mtk_vcodec_init_dec_pm()
81 pm_runtime_disable(dev->pm.dev); in mtk_vcodec_release_dec_pm()
84 void mtk_vcodec_dec_pw_on(struct mtk_vcodec_pm *pm) in mtk_vcodec_dec_pw_on() argument
88 ret = pm_runtime_get_sync(pm->dev); in mtk_vcodec_dec_pw_on()
93 void mtk_vcodec_dec_pw_off(struct mtk_vcodec_pm *pm) in mtk_vcodec_dec_pw_off() argument
[all …]

12345678910>>...117