Lines Matching refs:prcm_irq_setup

62 static struct omap_prcm_irq_setup *prcm_irq_setup;  variable
92 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_events_filter_priority()
94 events[i] & prcm_irq_setup->priority_mask[i]; in omap_prcm_events_filter_priority()
113 int nr_irq = prcm_irq_setup->nr_regs * 32; in omap_prcm_irq_handler()
125 if (prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
126 prcm_irq_setup->save_and_clear_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_handler()
127 prcm_irq_setup->suspend_save_flag = true; in omap_prcm_irq_handler()
134 while (!prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
135 prcm_irq_setup->read_pending_irqs(pending); in omap_prcm_irq_handler()
150 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
154 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
162 prcm_irq_setup->ocp_barrier(); /* avoid spurious IRQs */ in omap_prcm_irq_handler()
179 if (!prcm_irq_setup || !name) in omap_prcm_event_to_irq()
182 for (i = 0; i < prcm_irq_setup->nr_irqs; i++) in omap_prcm_event_to_irq()
183 if (!strcmp(prcm_irq_setup->irqs[i].name, name)) in omap_prcm_event_to_irq()
184 return prcm_irq_setup->base_irq + in omap_prcm_event_to_irq()
185 prcm_irq_setup->irqs[i].offset; in omap_prcm_event_to_irq()
201 if (!prcm_irq_setup) { in omap_prcm_irq_cleanup()
207 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_irq_cleanup()
217 kfree(prcm_irq_setup->saved_mask); in omap_prcm_irq_cleanup()
218 prcm_irq_setup->saved_mask = NULL; in omap_prcm_irq_cleanup()
220 kfree(prcm_irq_setup->priority_mask); in omap_prcm_irq_cleanup()
221 prcm_irq_setup->priority_mask = NULL; in omap_prcm_irq_cleanup()
223 irq = prcm_irq_setup->irq; in omap_prcm_irq_cleanup()
226 if (prcm_irq_setup->base_irq > 0) in omap_prcm_irq_cleanup()
227 irq_free_descs(prcm_irq_setup->base_irq, in omap_prcm_irq_cleanup()
228 prcm_irq_setup->nr_regs * 32); in omap_prcm_irq_cleanup()
229 prcm_irq_setup->base_irq = 0; in omap_prcm_irq_cleanup()
234 prcm_irq_setup->suspended = true; in omap_prcm_irq_prepare()
239 prcm_irq_setup->suspended = false; in omap_prcm_irq_complete()
242 if (!prcm_irq_setup->suspend_save_flag) in omap_prcm_irq_complete()
245 prcm_irq_setup->suspend_save_flag = false; in omap_prcm_irq_complete()
252 prcm_irq_setup->restore_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_complete()
278 if (prcm_irq_setup) { in omap_prcm_register_chain_handler()
288 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
291 prcm_irq_setup->saved_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
293 prcm_irq_setup->priority_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
296 if (!prcm_irq_chips || !prcm_irq_setup->saved_mask || in omap_prcm_register_chain_handler()
297 !prcm_irq_setup->priority_mask) in omap_prcm_register_chain_handler()