Lines Matching defs:ipa

12 #include "ipa.h"
118 static struct ipa_uc_mem_area *ipa_uc_shared(struct ipa *ipa)
120 const struct ipa_mem *mem = ipa_mem_find(ipa, IPA_MEM_UC_SHARED);
121 u32 offset = ipa->mem_offset + mem->offset;
123 return ipa->mem_virt + offset;
127 static void ipa_uc_event_handler(struct ipa *ipa)
129 struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
130 struct device *dev = ipa->dev;
141 static void ipa_uc_response_hdlr(struct ipa *ipa)
143 struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
144 struct device *dev = ipa->dev;
156 if (ipa->uc_powered) {
157 ipa->uc_loaded = true;
158 ipa_power_retention(ipa, true);
161 ipa->uc_powered = false;
173 void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id)
177 ipa_uc_event_handler(ipa);
179 ipa_uc_response_hdlr(ipa);
183 void ipa_uc_config(struct ipa *ipa)
185 ipa->uc_powered = false;
186 ipa->uc_loaded = false;
187 ipa_interrupt_enable(ipa, IPA_IRQ_UC_0);
188 ipa_interrupt_enable(ipa, IPA_IRQ_UC_1);
192 void ipa_uc_deconfig(struct ipa *ipa)
194 struct device *dev = ipa->dev;
196 ipa_interrupt_disable(ipa, IPA_IRQ_UC_1);
197 ipa_interrupt_disable(ipa, IPA_IRQ_UC_0);
198 if (ipa->uc_loaded)
199 ipa_power_retention(ipa, false);
201 if (!ipa->uc_powered)
209 void ipa_uc_power(struct ipa *ipa)
211 struct device *dev = ipa->dev;
225 ipa->uc_powered = true;
230 static void send_uc_command(struct ipa *ipa, u32 command, u32 command_param)
232 struct ipa_uc_mem_area *shared = ipa_uc_shared(ipa);
244 reg = ipa_reg(ipa, IPA_IRQ_UC);
247 iowrite32(val, ipa->reg_virt + reg_offset(reg));
251 void ipa_uc_panic_notifier(struct ipa *ipa)
253 if (!ipa->uc_loaded)
256 send_uc_command(ipa, IPA_UC_COMMAND_ERR_FATAL, 0);