Lines Matching +full:ipa +full:- +full:ap +full:- +full:to +full:- +full:modem

1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2022 Linaro Ltd.
11 struct ipa;
15 /* IPA device power management function block */
19 * ipa_core_clock_rate() - Return the current IPA core clock rate
20 * @ipa: IPA structure
24 u32 ipa_core_clock_rate(struct ipa *ipa);
27 * ipa_power_modem_queue_stop() - Possibly stop the modem netdev TX queue
28 * @ipa: IPA pointer
30 void ipa_power_modem_queue_stop(struct ipa *ipa);
33 * ipa_power_modem_queue_wake() - Possibly wake the modem netdev TX queue
34 * @ipa: IPA pointer
36 void ipa_power_modem_queue_wake(struct ipa *ipa);
39 * ipa_power_modem_queue_active() - Report modem netdev TX queue active
40 * @ipa: IPA pointer
42 void ipa_power_modem_queue_active(struct ipa *ipa);
45 * ipa_power_retention() - Control register retention on power collapse
46 * @ipa: IPA pointer
49 void ipa_power_retention(struct ipa *ipa, bool enable);
52 * ipa_power_suspend_handler() - Handler for SUSPEND IPA interrupts
53 * @ipa: IPA pointer
54 * @irq_id: IPA interrupt ID (unused)
56 * If an RX endpoint is suspended, and the IPA has a packet destined for
57 * that endpoint, the IPA generates a SUSPEND interrupt to inform the AP
60 void ipa_power_suspend_handler(struct ipa *ipa, enum ipa_irq_id irq_id);
63 * ipa_power_setup() - Set up IPA power management
64 * @ipa: IPA pointer
68 int ipa_power_setup(struct ipa *ipa);
71 * ipa_power_teardown() - Inverse of ipa_power_setup()
72 * @ipa: IPA pointer
74 void ipa_power_teardown(struct ipa *ipa);
77 * ipa_power_init() - Initialize IPA power management
78 * @dev: IPA device
81 * Return: A pointer to an ipa_power structure, or a pointer-coded error
87 * ipa_power_exit() - Inverse of ipa_power_init()
88 * @power: IPA power pointer