Lines Matching +full:interrupt +full:- +full:affinity

1 // SPDX-License-Identifier: GPL-2.0-only
13 #include <asm/irqflags-arcv2.h>
71 * STATUS32[H]/actionpoint/breakpoint/self-halt in mcip_update_debug_halt_mask()
111 * If receiver already has a pending interrupt, elide sending this one. in mcip_ipi_send()
181 * ARCv2 Interrupt Distribution Unit (IDU)
184 * -dynamic routing (IRQ affinity)
185 * -load balancing (Round Robin interrupt distribution)
186 * -1:N distribution
232 idu_irq_mask_raw(data->hwirq); in idu_irq_mask()
240 __mcip_cmd_data(CMD_IDU_SET_MASK, data->hwirq, 0); in idu_irq_unmask()
249 __mcip_cmd(CMD_IDU_ACK_CIRQ, data->hwirq); in idu_irq_ack()
258 __mcip_cmd_data(CMD_IDU_SET_MASK, data->hwirq, 1); in idu_irq_mask_ack()
259 __mcip_cmd(CMD_IDU_ACK_CIRQ, data->hwirq); in idu_irq_mask_ack()
274 return -EINVAL; in idu_irq_set_affinity()
279 idu_set_dest(data->hwirq, destination_bits); in idu_irq_set_affinity()
286 idu_set_mode(data->hwirq, false, 0, true, distribution_mode); in idu_irq_set_affinity()
299 * only interrupt types supported. in idu_irq_set_type()
302 return -EINVAL; in idu_irq_set_type()
306 idu_set_mode(data->hwirq, true, in idu_irq_set_type()
320 * The affinity of common interrupts in IDU must be set manually since in idu_irq_enable()
324 * interrupt controllers does not support setting of the affinity in idu_irq_enable()
350 irq_hw_number_t idu_hwirq = core_hwirq - FIRST_EXT_IRQ; in idu_cascade_isr()
369 * [16, 23]: Statically assigned always private-per-core (Timers, WDT, IPI)
371 * [24+C, N]: Not statically assigned, private-per-core
397 /* Parent interrupts (core-intc) are already mapped */ in idu_of_init()
418 IRQCHIP_DECLARE(arcv2_idu_intc, "snps,archs-idu-intc", idu_of_init);