Lines Matching refs:prcm_irq_setup

62 static struct omap_prcm_irq_setup *prcm_irq_setup;  variable
86 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_events_filter_priority()
88 events[i] & prcm_irq_setup->priority_mask[i]; in omap_prcm_events_filter_priority()
107 int nr_irq = prcm_irq_setup->nr_regs * 32; in omap_prcm_irq_handler()
119 if (prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
120 prcm_irq_setup->save_and_clear_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_handler()
121 prcm_irq_setup->suspend_save_flag = true; in omap_prcm_irq_handler()
128 while (!prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
129 prcm_irq_setup->read_pending_irqs(pending); in omap_prcm_irq_handler()
144 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
148 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
156 prcm_irq_setup->ocp_barrier(); /* avoid spurious IRQs */ in omap_prcm_irq_handler()
173 if (!prcm_irq_setup || !name) in omap_prcm_event_to_irq()
176 for (i = 0; i < prcm_irq_setup->nr_irqs; i++) in omap_prcm_event_to_irq()
177 if (!strcmp(prcm_irq_setup->irqs[i].name, name)) in omap_prcm_event_to_irq()
178 return prcm_irq_setup->base_irq + in omap_prcm_event_to_irq()
179 prcm_irq_setup->irqs[i].offset; in omap_prcm_event_to_irq()
195 if (!prcm_irq_setup) { in omap_prcm_irq_cleanup()
201 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_irq_cleanup()
211 kfree(prcm_irq_setup->saved_mask); in omap_prcm_irq_cleanup()
212 prcm_irq_setup->saved_mask = NULL; in omap_prcm_irq_cleanup()
214 kfree(prcm_irq_setup->priority_mask); in omap_prcm_irq_cleanup()
215 prcm_irq_setup->priority_mask = NULL; in omap_prcm_irq_cleanup()
217 irq = prcm_irq_setup->irq; in omap_prcm_irq_cleanup()
220 if (prcm_irq_setup->base_irq > 0) in omap_prcm_irq_cleanup()
221 irq_free_descs(prcm_irq_setup->base_irq, in omap_prcm_irq_cleanup()
222 prcm_irq_setup->nr_regs * 32); in omap_prcm_irq_cleanup()
223 prcm_irq_setup->base_irq = 0; in omap_prcm_irq_cleanup()
228 prcm_irq_setup->suspended = true; in omap_prcm_irq_prepare()
233 prcm_irq_setup->suspended = false; in omap_prcm_irq_complete()
236 if (!prcm_irq_setup->suspend_save_flag) in omap_prcm_irq_complete()
239 prcm_irq_setup->suspend_save_flag = false; in omap_prcm_irq_complete()
246 prcm_irq_setup->restore_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_complete()
272 if (prcm_irq_setup) { in omap_prcm_register_chain_handler()
282 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
285 prcm_irq_setup->saved_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
287 prcm_irq_setup->priority_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
290 if (!prcm_irq_chips || !prcm_irq_setup->saved_mask || in omap_prcm_register_chain_handler()
291 !prcm_irq_setup->priority_mask) in omap_prcm_register_chain_handler()
501 if (!prcm_irq_setup || !prcm_irq_setup->reconfigure_io_chain) in omap_prm_reconfigure_io_chain()
504 prcm_irq_setup->reconfigure_io_chain(); in omap_prm_reconfigure_io_chain()