Lines Matching refs:prcm_irq_setup

66 static struct omap_prcm_irq_setup *prcm_irq_setup;  variable
90 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_events_filter_priority()
92 events[i] & prcm_irq_setup->priority_mask[i]; in omap_prcm_events_filter_priority()
111 int nr_irq = prcm_irq_setup->nr_regs * 32; in omap_prcm_irq_handler()
123 if (prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
124 prcm_irq_setup->save_and_clear_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_handler()
125 prcm_irq_setup->suspend_save_flag = true; in omap_prcm_irq_handler()
132 while (!prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
133 prcm_irq_setup->read_pending_irqs(pending); in omap_prcm_irq_handler()
148 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
152 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
160 prcm_irq_setup->ocp_barrier(); /* avoid spurious IRQs */ in omap_prcm_irq_handler()
177 if (!prcm_irq_setup || !name) in omap_prcm_event_to_irq()
180 for (i = 0; i < prcm_irq_setup->nr_irqs; i++) in omap_prcm_event_to_irq()
181 if (!strcmp(prcm_irq_setup->irqs[i].name, name)) in omap_prcm_event_to_irq()
182 return prcm_irq_setup->base_irq + in omap_prcm_event_to_irq()
183 prcm_irq_setup->irqs[i].offset; in omap_prcm_event_to_irq()
199 if (!prcm_irq_setup) { in omap_prcm_irq_cleanup()
205 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_irq_cleanup()
215 kfree(prcm_irq_setup->saved_mask); in omap_prcm_irq_cleanup()
216 prcm_irq_setup->saved_mask = NULL; in omap_prcm_irq_cleanup()
218 kfree(prcm_irq_setup->priority_mask); in omap_prcm_irq_cleanup()
219 prcm_irq_setup->priority_mask = NULL; in omap_prcm_irq_cleanup()
221 irq = prcm_irq_setup->irq; in omap_prcm_irq_cleanup()
224 if (prcm_irq_setup->base_irq > 0) in omap_prcm_irq_cleanup()
225 irq_free_descs(prcm_irq_setup->base_irq, in omap_prcm_irq_cleanup()
226 prcm_irq_setup->nr_regs * 32); in omap_prcm_irq_cleanup()
227 prcm_irq_setup->base_irq = 0; in omap_prcm_irq_cleanup()
232 prcm_irq_setup->suspended = true; in omap_prcm_irq_prepare()
237 prcm_irq_setup->suspended = false; in omap_prcm_irq_complete()
240 if (!prcm_irq_setup->suspend_save_flag) in omap_prcm_irq_complete()
243 prcm_irq_setup->suspend_save_flag = false; in omap_prcm_irq_complete()
250 prcm_irq_setup->restore_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_complete()
276 if (prcm_irq_setup) { in omap_prcm_register_chain_handler()
286 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
289 prcm_irq_setup->saved_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
291 prcm_irq_setup->priority_mask = kcalloc(nr_regs, sizeof(u32), in omap_prcm_register_chain_handler()
294 if (!prcm_irq_chips || !prcm_irq_setup->saved_mask || in omap_prcm_register_chain_handler()
295 !prcm_irq_setup->priority_mask) in omap_prcm_register_chain_handler()
505 if (!prcm_irq_setup || !prcm_irq_setup->reconfigure_io_chain) in omap_prm_reconfigure_io_chain()
508 prcm_irq_setup->reconfigure_io_chain(); in omap_prm_reconfigure_io_chain()