Lines Matching refs:prcm_irq_setup

56 static struct omap_prcm_irq_setup *prcm_irq_setup;  variable
68 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_events_filter_priority()
70 events[i] & prcm_irq_setup->priority_mask[i]; in omap_prcm_events_filter_priority()
89 int nr_irqs = prcm_irq_setup->nr_regs * 32; in omap_prcm_irq_handler()
101 if (prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
102 prcm_irq_setup->save_and_clear_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_handler()
103 prcm_irq_setup->suspend_save_flag = true; in omap_prcm_irq_handler()
110 while (!prcm_irq_setup->suspended) { in omap_prcm_irq_handler()
111 prcm_irq_setup->read_pending_irqs(pending); in omap_prcm_irq_handler()
126 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
130 generic_handle_irq(prcm_irq_setup->base_irq + virtirq); in omap_prcm_irq_handler()
138 prcm_irq_setup->ocp_barrier(); /* avoid spurious IRQs */ in omap_prcm_irq_handler()
155 if (!prcm_irq_setup || !name) in omap_prcm_event_to_irq()
158 for (i = 0; i < prcm_irq_setup->nr_irqs; i++) in omap_prcm_event_to_irq()
159 if (!strcmp(prcm_irq_setup->irqs[i].name, name)) in omap_prcm_event_to_irq()
160 return prcm_irq_setup->base_irq + in omap_prcm_event_to_irq()
161 prcm_irq_setup->irqs[i].offset; in omap_prcm_event_to_irq()
176 if (!prcm_irq_setup) { in omap_prcm_irq_cleanup()
182 for (i = 0; i < prcm_irq_setup->nr_regs; i++) { in omap_prcm_irq_cleanup()
192 kfree(prcm_irq_setup->saved_mask); in omap_prcm_irq_cleanup()
193 prcm_irq_setup->saved_mask = NULL; in omap_prcm_irq_cleanup()
195 kfree(prcm_irq_setup->priority_mask); in omap_prcm_irq_cleanup()
196 prcm_irq_setup->priority_mask = NULL; in omap_prcm_irq_cleanup()
198 irq_set_chained_handler(prcm_irq_setup->irq, NULL); in omap_prcm_irq_cleanup()
200 if (prcm_irq_setup->base_irq > 0) in omap_prcm_irq_cleanup()
201 irq_free_descs(prcm_irq_setup->base_irq, in omap_prcm_irq_cleanup()
202 prcm_irq_setup->nr_regs * 32); in omap_prcm_irq_cleanup()
203 prcm_irq_setup->base_irq = 0; in omap_prcm_irq_cleanup()
208 prcm_irq_setup->suspended = true; in omap_prcm_irq_prepare()
213 prcm_irq_setup->suspended = false; in omap_prcm_irq_complete()
216 if (!prcm_irq_setup->suspend_save_flag) in omap_prcm_irq_complete()
219 prcm_irq_setup->suspend_save_flag = false; in omap_prcm_irq_complete()
226 prcm_irq_setup->restore_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_complete()
250 if (prcm_irq_setup) { in omap_prcm_register_chain_handler()
260 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
263 prcm_irq_setup->saved_mask = kzalloc(sizeof(u32) * nr_regs, GFP_KERNEL); in omap_prcm_register_chain_handler()
264 prcm_irq_setup->priority_mask = kzalloc(sizeof(u32) * nr_regs, in omap_prcm_register_chain_handler()
267 if (!prcm_irq_chips || !prcm_irq_setup->saved_mask || in omap_prcm_register_chain_handler()
268 !prcm_irq_setup->priority_mask) { in omap_prcm_register_chain_handler()