Lines Matching refs:cfg
250 struct irq_cfg *cfg; in arch_early_ioapic_init() local
264 cfg = alloc_irq_and_cfg_at(i, node); in arch_early_ioapic_init()
265 cfg->vector = IRQ0_VECTOR + i; in arch_early_ioapic_init()
266 cpumask_setall(cfg->domain); in arch_early_ioapic_init()
394 static int __add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin) in __add_pin_to_irq_node() argument
399 for_each_irq_pin(entry, cfg->irq_2_pin) in __add_pin_to_irq_node()
412 list_add_tail(&entry->list, &cfg->irq_2_pin); in __add_pin_to_irq_node()
416 static void __remove_pin_from_irq(struct irq_cfg *cfg, int apic, int pin) in __remove_pin_from_irq() argument
420 list_for_each_entry_safe(entry, tmp, &cfg->irq_2_pin, list) in __remove_pin_from_irq()
428 static void add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin) in add_pin_to_irq_node() argument
430 if (__add_pin_to_irq_node(cfg, node, apic, pin)) in add_pin_to_irq_node()
437 static void __init replace_pin_at_irq_node(struct irq_cfg *cfg, int node, in replace_pin_at_irq_node() argument
443 for_each_irq_pin(entry, cfg->irq_2_pin) { in replace_pin_at_irq_node()
453 add_pin_to_irq_node(cfg, node, newapic, newpin); in replace_pin_at_irq_node()
471 static void io_apic_modify_irq(struct irq_cfg *cfg, in io_apic_modify_irq() argument
477 for_each_irq_pin(entry, cfg->irq_2_pin) in io_apic_modify_irq()
493 static void mask_ioapic(struct irq_cfg *cfg) in mask_ioapic() argument
498 io_apic_modify_irq(cfg, ~0, IO_APIC_REDIR_MASKED, &io_apic_sync); in mask_ioapic()
507 static void __unmask_ioapic(struct irq_cfg *cfg) in __unmask_ioapic() argument
509 io_apic_modify_irq(cfg, ~IO_APIC_REDIR_MASKED, 0, NULL); in __unmask_ioapic()
512 static void unmask_ioapic(struct irq_cfg *cfg) in unmask_ioapic() argument
517 __unmask_ioapic(cfg); in unmask_ioapic()
566 void eoi_ioapic_irq(unsigned int irq, struct irq_cfg *cfg) in eoi_ioapic_irq() argument
572 for_each_irq_pin(entry, cfg->irq_2_pin) in eoi_ioapic_irq()
574 cfg->vector); in eoi_ioapic_irq()
1192 static void ioapic_register_intr(unsigned int irq, struct irq_cfg *cfg, in ioapic_register_intr() argument
1208 if (setup_remapped_irq(irq, cfg, chip)) in ioapic_register_intr()
1240 static void setup_ioapic_irq(unsigned int irq, struct irq_cfg *cfg, in setup_ioapic_irq() argument
1249 if (assign_irq_vector(irq, cfg, apic->target_cpus())) in setup_ioapic_irq()
1252 if (apic->cpu_mask_to_apicid_and(cfg->domain, apic->target_cpus(), in setup_ioapic_irq()
1256 clear_irq_vector(irq, cfg); in setup_ioapic_irq()
1265 cfg->vector, irq, attr->trigger, attr->polarity, dest); in setup_ioapic_irq()
1267 if (x86_io_apic_ops.setup_entry(irq, &entry, dest, cfg->vector, attr)) { in setup_ioapic_irq()
1270 clear_irq_vector(irq, cfg); in setup_ioapic_irq()
1275 ioapic_register_intr(irq, cfg, attr->trigger); in setup_ioapic_irq()
1461 struct irq_cfg *cfg; in print_IO_APICs() local
1488 cfg = irq_cfg(irq); in print_IO_APICs()
1489 if (!cfg) in print_IO_APICs()
1491 if (list_empty(&cfg->irq_2_pin)) in print_IO_APICs()
1494 for_each_irq_pin(entry, cfg->irq_2_pin) in print_IO_APICs()
1822 static void __target_IO_APIC_irq(unsigned int irq, unsigned int dest, struct irq_cfg *cfg) in __target_IO_APIC_irq() argument
1826 u8 vector = cfg->vector; in __target_IO_APIC_irq()
1828 for_each_irq_pin(entry, cfg->irq_2_pin) { in __target_IO_APIC_irq()
1868 static bool io_apic_level_ack_pending(struct irq_cfg *cfg) in io_apic_level_ack_pending() argument
1874 for_each_irq_pin(entry, cfg->irq_2_pin) { in io_apic_level_ack_pending()
1891 static inline bool ioapic_irqd_mask(struct irq_data *data, struct irq_cfg *cfg) in ioapic_irqd_mask() argument
1895 mask_ioapic(cfg); in ioapic_irqd_mask()
1902 struct irq_cfg *cfg, bool masked) in ioapic_irqd_unmask() argument
1931 if (!io_apic_level_ack_pending(cfg)) in ioapic_irqd_unmask()
1933 unmask_ioapic(cfg); in ioapic_irqd_unmask()
1937 static inline bool ioapic_irqd_mask(struct irq_data *data, struct irq_cfg *cfg) in ioapic_irqd_mask() argument
1942 struct irq_cfg *cfg, bool masked) in ioapic_irqd_unmask() argument
1949 struct irq_cfg *cfg = irqd_cfg(data); in ack_ioapic_level() local
1954 irq_complete_move(cfg); in ack_ioapic_level()
1955 masked = ioapic_irqd_mask(data, cfg); in ack_ioapic_level()
1989 i = cfg->vector; in ack_ioapic_level()
2008 eoi_ioapic_irq(irq, cfg); in ack_ioapic_level()
2011 ioapic_irqd_unmask(data, cfg, masked); in ack_ioapic_level()
2028 struct irq_cfg *cfg; in init_IO_APIC_traps() local
2032 cfg = irq_cfg(irq); in init_IO_APIC_traps()
2033 if (IO_APIC_IRQ(irq) && cfg && !cfg->vector) { in init_IO_APIC_traps()
2165 struct irq_cfg *cfg = irq_cfg(0); in check_timer() local
2177 assign_irq_vector(0, cfg, apic->target_cpus()); in check_timer()
2198 cfg->vector, apic1, pin1, apic2, pin2); in check_timer()
2222 add_pin_to_irq_node(cfg, node, apic1, pin1); in check_timer()
2223 setup_timer_IRQ0_pin(apic1, pin1, cfg->vector); in check_timer()
2233 unmask_ioapic(cfg); in check_timer()
2254 replace_pin_at_irq_node(cfg, node, apic1, pin1, apic2, pin2); in check_timer()
2255 setup_timer_IRQ0_pin(apic2, pin2, cfg->vector); in check_timer()
2274 apic_write(APIC_LVT0, APIC_DM_FIXED | cfg->vector); /* Fixed mode */ in check_timer()
2283 apic_write(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | cfg->vector); in check_timer()
2335 struct ioapic_domain_cfg *cfg = &ip->irqdomain_cfg; in mp_irqdomain_create() local
2343 if (cfg->type == IOAPIC_DOMAIN_INVALID) in mp_irqdomain_create()
2346 ip->irqdomain = irq_domain_add_linear(cfg->dev, hwirqs, cfg->ops, in mp_irqdomain_create()
2354 if (cfg->type == IOAPIC_DOMAIN_LEGACY || in mp_irqdomain_create()
2355 cfg->type == IOAPIC_DOMAIN_STRICT) in mp_irqdomain_create()
2457 struct irq_cfg *cfg = alloc_irq_and_cfg_at(irq, node); in io_apic_setup_irq_pin() local
2460 if (!cfg) in io_apic_setup_irq_pin()
2462 ret = __add_pin_to_irq_node(cfg, node, attr->ioapic, attr->ioapic_pin); in io_apic_setup_irq_pin()
2464 setup_ioapic_irq(irq, cfg, attr); in io_apic_setup_irq_pin()
2868 struct ioapic_domain_cfg *cfg) in mp_register_ioapic() argument
2930 ioapics[idx].irqdomain_cfg = *cfg; in mp_register_ioapic()
3059 struct irq_cfg *cfg = irq_cfg(virq); in mp_irqdomain_unmap() local
3064 __remove_pin_from_irq(cfg, ioapic, pin); in mp_irqdomain_unmap()
3065 WARN_ON(!list_empty(&cfg->irq_2_pin)); in mp_irqdomain_unmap()