Lines Matching refs:ipa
16 #include "ipa.h"
95 static int ipa_power_enable(struct ipa *ipa)
97 struct ipa_power *power = ipa->power;
115 static void ipa_power_disable(struct ipa *ipa)
117 struct ipa_power *power = ipa->power;
126 struct ipa *ipa = dev_get_drvdata(dev);
129 if (ipa->setup_complete) {
130 ipa_endpoint_suspend(ipa);
131 gsi_suspend(&ipa->gsi);
134 ipa_power_disable(ipa);
141 struct ipa *ipa = dev_get_drvdata(dev);
144 ret = ipa_power_enable(ipa);
149 if (ipa->setup_complete) {
150 gsi_resume(&ipa->gsi);
151 ipa_endpoint_resume(ipa);
159 struct ipa *ipa = dev_get_drvdata(dev);
170 ipa_interrupt_irq_disable(ipa);
177 struct ipa *ipa = dev_get_drvdata(dev);
186 ipa_interrupt_irq_enable(ipa);
192 u32 ipa_core_clock_rate(struct ipa *ipa)
194 return ipa->power ? (u32)clk_get_rate(ipa->power->core) : 0;
220 void ipa_power_retention(struct ipa *ipa, bool enable)
223 struct ipa_power *power = ipa->power;
235 int ipa_power_setup(struct ipa *ipa)
239 ipa_interrupt_enable(ipa, IPA_IRQ_TX_SUSPEND);
241 ret = device_init_wakeup(ipa->dev, true);
243 ipa_interrupt_disable(ipa, IPA_IRQ_TX_SUSPEND);
248 void ipa_power_teardown(struct ipa *ipa)
250 (void)device_init_wakeup(ipa->dev, false);
251 ipa_interrupt_disable(ipa, IPA_IRQ_TX_SUSPEND);