Lines Matching defs:ipa
25 #include "ipa.h"
33 * @ipa: IPA pointer
39 struct ipa *ipa;
55 struct ipa *ipa = interrupt->ipa;
62 iowrite32(mask, ipa->reg_virt + IPA_REG_IRQ_CLR_OFFSET);
65 interrupt->handler[irq_id](interrupt->ipa, irq_id);
72 iowrite32(mask, ipa->reg_virt + IPA_REG_IRQ_CLR_OFFSET);
78 struct ipa *ipa = interrupt->ipa;
86 mask = ioread32(ipa->reg_virt + IPA_REG_IRQ_STTS_OFFSET);
95 mask = ioread32(ipa->reg_virt + IPA_REG_IRQ_STTS_OFFSET);
104 ipa_clock_get(interrupt->ipa);
108 ipa_clock_put(interrupt->ipa);
117 struct ipa *ipa = interrupt->ipa;
120 mask = ioread32(ipa->reg_virt + IPA_REG_IRQ_STTS_OFFSET);
125 iowrite32(mask, ipa->reg_virt + IPA_REG_IRQ_CLR_OFFSET);
127 dev_err(&ipa->pdev->dev, "%s: unexpected interrupt, mask 0x%08x\n",
137 struct ipa *ipa = interrupt->ipa;
141 /* assert(mask & ipa->available); */
142 val = ioread32(ipa->reg_virt + IPA_REG_SUSPEND_IRQ_EN_OFFSET);
147 iowrite32(val, ipa->reg_virt + IPA_REG_SUSPEND_IRQ_EN_OFFSET);
167 struct ipa *ipa = interrupt->ipa;
170 val = ioread32(ipa->reg_virt + IPA_REG_IRQ_SUSPEND_INFO_OFFSET);
171 iowrite32(val, ipa->reg_virt + IPA_REG_SUSPEND_IRQ_CLR_OFFSET);
184 struct ipa *ipa = interrupt->ipa;
191 iowrite32(interrupt->enabled, ipa->reg_virt + IPA_REG_IRQ_EN_OFFSET);
198 struct ipa *ipa = interrupt->ipa;
203 iowrite32(interrupt->enabled, ipa->reg_virt + IPA_REG_IRQ_EN_OFFSET);
209 struct ipa_interrupt *ipa_interrupt_setup(struct ipa *ipa)
211 struct device *dev = &ipa->pdev->dev;
216 ret = platform_get_irq_byname(ipa->pdev, "ipa");
218 dev_err(dev, "DT error %d getting \"ipa\" IRQ property\n",
227 interrupt->ipa = ipa;
231 iowrite32(0, ipa->reg_virt + IPA_REG_IRQ_EN_OFFSET);
234 "ipa", interrupt);
236 dev_err(dev, "error %d requesting \"ipa\" IRQ\n", ret);
242 dev_err(dev, "error %d enabling wakeup for \"ipa\" IRQ\n", ret);
259 struct device *dev = &interrupt->ipa->pdev->dev;
264 dev_err(dev, "error %d disabling \"ipa\" IRQ wakeup\n", ret);