Lines Matching refs:ipa
39 struct ipa *ipa; member
55 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_process() local
63 reg = ipa_reg(ipa, IPA_IRQ_CLR); in ipa_interrupt_process()
66 iowrite32(mask, ipa->reg_virt + offset); in ipa_interrupt_process()
69 interrupt->handler[irq_id](interrupt->ipa, irq_id); in ipa_interrupt_process()
76 iowrite32(mask, ipa->reg_virt + offset); in ipa_interrupt_process()
83 struct ipa *ipa = interrupt->ipa; in ipa_isr_thread() local
92 dev = &ipa->pdev->dev; in ipa_isr_thread()
101 reg = ipa_reg(ipa, IPA_IRQ_STTS); in ipa_isr_thread()
103 pending = ioread32(ipa->reg_virt + offset); in ipa_isr_thread()
112 pending = ioread32(ipa->reg_virt + offset); in ipa_isr_thread()
119 reg = ipa_reg(ipa, IPA_IRQ_CLR); in ipa_isr_thread()
121 iowrite32(pending, ipa->reg_virt + offset); in ipa_isr_thread()
134 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_suspend_control() local
140 WARN_ON(!(mask & ipa->available)); in ipa_interrupt_suspend_control()
143 if (ipa->version == IPA_VERSION_3_0) in ipa_interrupt_suspend_control()
146 reg = ipa_reg(ipa, IRQ_SUSPEND_EN); in ipa_interrupt_suspend_control()
148 val = ioread32(ipa->reg_virt + offset); in ipa_interrupt_suspend_control()
153 iowrite32(val, ipa->reg_virt + offset); in ipa_interrupt_suspend_control()
173 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_suspend_clear_all() local
177 reg = ipa_reg(ipa, IRQ_SUSPEND_INFO); in ipa_interrupt_suspend_clear_all()
178 val = ioread32(ipa->reg_virt + ipa_reg_offset(reg)); in ipa_interrupt_suspend_clear_all()
181 if (ipa->version == IPA_VERSION_3_0) in ipa_interrupt_suspend_clear_all()
184 reg = ipa_reg(ipa, IRQ_SUSPEND_CLR); in ipa_interrupt_suspend_clear_all()
185 iowrite32(val, ipa->reg_virt + ipa_reg_offset(reg)); in ipa_interrupt_suspend_clear_all()
198 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_add() local
209 reg = ipa_reg(ipa, IPA_IRQ_EN); in ipa_interrupt_add()
210 iowrite32(interrupt->enabled, ipa->reg_virt + ipa_reg_offset(reg)); in ipa_interrupt_add()
217 struct ipa *ipa = interrupt->ipa; in ipa_interrupt_remove() local
226 reg = ipa_reg(ipa, IPA_IRQ_EN); in ipa_interrupt_remove()
227 iowrite32(interrupt->enabled, ipa->reg_virt + ipa_reg_offset(reg)); in ipa_interrupt_remove()
233 struct ipa_interrupt *ipa_interrupt_config(struct ipa *ipa) in ipa_interrupt_config() argument
235 struct device *dev = &ipa->pdev->dev; in ipa_interrupt_config()
241 ret = platform_get_irq_byname(ipa->pdev, "ipa"); in ipa_interrupt_config()
252 interrupt->ipa = ipa; in ipa_interrupt_config()
256 reg = ipa_reg(ipa, IPA_IRQ_EN); in ipa_interrupt_config()
257 iowrite32(0, ipa->reg_virt + ipa_reg_offset(reg)); in ipa_interrupt_config()
285 struct device *dev = &interrupt->ipa->pdev->dev; in ipa_interrupt_deconfig()