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 if (prcm_irq_setup->xlate_irq) in omap_prcm_irq_cleanup()
222 irq = prcm_irq_setup->xlate_irq(prcm_irq_setup->irq); in omap_prcm_irq_cleanup()
224 irq = prcm_irq_setup->irq; in omap_prcm_irq_cleanup()
227 if (prcm_irq_setup->base_irq > 0) in omap_prcm_irq_cleanup()
228 irq_free_descs(prcm_irq_setup->base_irq, in omap_prcm_irq_cleanup()
229 prcm_irq_setup->nr_regs * 32); in omap_prcm_irq_cleanup()
230 prcm_irq_setup->base_irq = 0; in omap_prcm_irq_cleanup()
235 prcm_irq_setup->suspended = true; in omap_prcm_irq_prepare()
240 prcm_irq_setup->suspended = false; in omap_prcm_irq_complete()
243 if (!prcm_irq_setup->suspend_save_flag) in omap_prcm_irq_complete()
246 prcm_irq_setup->suspend_save_flag = false; in omap_prcm_irq_complete()
253 prcm_irq_setup->restore_irqen(prcm_irq_setup->saved_mask); in omap_prcm_irq_complete()
280 if (prcm_irq_setup) { in omap_prcm_register_chain_handler()
290 prcm_irq_setup = irq_setup; in omap_prcm_register_chain_handler()
293 prcm_irq_setup->saved_mask = kzalloc(sizeof(u32) * nr_regs, GFP_KERNEL); in omap_prcm_register_chain_handler()
294 prcm_irq_setup->priority_mask = kzalloc(sizeof(u32) * nr_regs, in omap_prcm_register_chain_handler()
297 if (!prcm_irq_chips || !prcm_irq_setup->saved_mask || in omap_prcm_register_chain_handler()
298 !prcm_irq_setup->priority_mask) { in omap_prcm_register_chain_handler()
515 if (!prcm_irq_setup || !prcm_irq_setup->reconfigure_io_chain) in omap_prm_reconfigure_io_chain()
518 prcm_irq_setup->reconfigure_io_chain(); in omap_prm_reconfigure_io_chain()