Lines Matching refs:hwirq
178 static void pruss_intc_map(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_map() argument
186 intc->event_channel[hwirq].ref_count++; in pruss_intc_map()
188 ch = intc->event_channel[hwirq].value; in pruss_intc_map()
191 pruss_intc_update_cmr(intc, hwirq, ch); in pruss_intc_map()
193 reg_idx = hwirq / 32; in pruss_intc_map()
194 val = BIT(hwirq % 32); in pruss_intc_map()
208 hwirq, ch, host); in pruss_intc_map()
222 static void pruss_intc_unmap(struct pruss_intc *intc, unsigned long hwirq) in pruss_intc_unmap() argument
229 ch = intc->event_channel[hwirq].value; in pruss_intc_unmap()
240 intc->event_channel[hwirq].ref_count--; in pruss_intc_unmap()
241 reg_idx = hwirq / 32; in pruss_intc_unmap()
242 val = BIT(hwirq % 32); in pruss_intc_unmap()
250 pruss_intc_update_cmr(intc, hwirq, 0); in pruss_intc_unmap()
253 hwirq, ch, host); in pruss_intc_unmap()
293 unsigned int hwirq = data->hwirq; in pruss_intc_irq_ack() local
295 pruss_intc_write_reg(intc, PRU_INTC_SICR, hwirq); in pruss_intc_irq_ack()
301 unsigned int hwirq = data->hwirq; in pruss_intc_irq_mask() local
303 pruss_intc_write_reg(intc, PRU_INTC_EICR, hwirq); in pruss_intc_irq_mask()
309 unsigned int hwirq = data->hwirq; in pruss_intc_irq_unmask() local
311 pruss_intc_write_reg(intc, PRU_INTC_EISR, hwirq); in pruss_intc_irq_unmask()
337 reg = PRU_INTC_SRSR(data->hwirq / 32); in pruss_intc_irq_get_irqchip_state()
338 mask = BIT(data->hwirq % 32); in pruss_intc_irq_get_irqchip_state()
357 pruss_intc_write_reg(intc, PRU_INTC_SISR, data->hwirq); in pruss_intc_irq_set_irqchip_state()
359 pruss_intc_write_reg(intc, PRU_INTC_SICR, data->hwirq); in pruss_intc_irq_set_irqchip_state()
466 unsigned long hwirq = irqd_to_hwirq(irq_get_irq_data(virq)); in pruss_intc_irq_domain_unmap() local
470 pruss_intc_unmap(intc, hwirq); in pruss_intc_irq_domain_unmap()
491 int hwirq, err; in pruss_intc_irq_handler() local
498 hwirq = hipir & GENMASK(9, 0); in pruss_intc_irq_handler()
499 err = generic_handle_domain_irq(intc->domain, hwirq); in pruss_intc_irq_handler()
506 pruss_intc_write_reg(intc, PRU_INTC_SICR, hwirq); in pruss_intc_irq_handler()
606 unsigned int hwirq; in pruss_intc_remove() local
615 for (hwirq = 0; hwirq < max_system_events; hwirq++) in pruss_intc_remove()
616 irq_dispose_mapping(irq_find_mapping(intc->domain, hwirq)); in pruss_intc_remove()