Lines Matching refs:entry
67 #define for_each_irq_pin(entry, head) \ argument
68 list_for_each_entry(entry, &head, list)
324 struct IO_APIC_route_entry entry; member
334 return eu.entry; in __ioapic_read_entry()
343 eu.entry = __ioapic_read_entry(apic, pin); in ioapic_read_entry()
346 return eu.entry; in ioapic_read_entry()
359 eu.entry = e; in __ioapic_write_entry()
381 union entry_union eu = { .entry.mask = 1 }; in ioapic_mask_entry()
396 struct irq_pin_list *entry; in __add_pin_to_irq_node() local
399 for_each_irq_pin(entry, cfg->irq_2_pin) in __add_pin_to_irq_node()
400 if (entry->apic == apic && entry->pin == pin) in __add_pin_to_irq_node()
403 entry = alloc_irq_pin_list(node); in __add_pin_to_irq_node()
404 if (!entry) { in __add_pin_to_irq_node()
409 entry->apic = apic; in __add_pin_to_irq_node()
410 entry->pin = pin; in __add_pin_to_irq_node()
412 list_add_tail(&entry->list, &cfg->irq_2_pin); in __add_pin_to_irq_node()
418 struct irq_pin_list *tmp, *entry; in __remove_pin_from_irq() local
420 list_for_each_entry_safe(entry, tmp, &cfg->irq_2_pin, list) in __remove_pin_from_irq()
421 if (entry->apic == apic && entry->pin == pin) { in __remove_pin_from_irq()
422 list_del(&entry->list); in __remove_pin_from_irq()
423 kfree(entry); in __remove_pin_from_irq()
441 struct irq_pin_list *entry; in replace_pin_at_irq_node() local
443 for_each_irq_pin(entry, cfg->irq_2_pin) { in replace_pin_at_irq_node()
444 if (entry->apic == oldapic && entry->pin == oldpin) { in replace_pin_at_irq_node()
445 entry->apic = newapic; in replace_pin_at_irq_node()
446 entry->pin = newpin; in replace_pin_at_irq_node()
456 static void __io_apic_modify_irq(struct irq_pin_list *entry, in __io_apic_modify_irq() argument
458 void (*final)(struct irq_pin_list *entry)) in __io_apic_modify_irq() argument
462 pin = entry->pin; in __io_apic_modify_irq()
463 reg = io_apic_read(entry->apic, 0x10 + pin * 2); in __io_apic_modify_irq()
466 io_apic_modify(entry->apic, 0x10 + pin * 2, reg); in __io_apic_modify_irq()
468 final(entry); in __io_apic_modify_irq()
473 void (*final)(struct irq_pin_list *entry)) in io_apic_modify_irq() argument
475 struct irq_pin_list *entry; in io_apic_modify_irq() local
477 for_each_irq_pin(entry, cfg->irq_2_pin) in io_apic_modify_irq()
478 __io_apic_modify_irq(entry, mask_and, mask_or, final); in io_apic_modify_irq()
481 static void io_apic_sync(struct irq_pin_list *entry) in io_apic_sync() argument
489 io_apic = io_apic_base(entry->apic); in io_apic_sync()
547 struct IO_APIC_route_entry entry, entry1; in native_eoi_ioapic_pin() local
549 entry = entry1 = __ioapic_read_entry(apic, pin); in native_eoi_ioapic_pin()
562 __ioapic_write_entry(apic, pin, entry); in native_eoi_ioapic_pin()
568 struct irq_pin_list *entry; in eoi_ioapic_irq() local
572 for_each_irq_pin(entry, cfg->irq_2_pin) in eoi_ioapic_irq()
573 x86_io_apic_ops.eoi_ioapic_pin(entry->apic, entry->pin, in eoi_ioapic_irq()
580 struct IO_APIC_route_entry entry; in clear_IO_APIC_pin() local
583 entry = ioapic_read_entry(apic, pin); in clear_IO_APIC_pin()
584 if (entry.delivery_mode == dest_SMI) in clear_IO_APIC_pin()
591 if (!entry.mask) { in clear_IO_APIC_pin()
592 entry.mask = 1; in clear_IO_APIC_pin()
593 ioapic_write_entry(apic, pin, entry); in clear_IO_APIC_pin()
594 entry = ioapic_read_entry(apic, pin); in clear_IO_APIC_pin()
597 if (entry.irr) { in clear_IO_APIC_pin()
605 if (!entry.trigger) { in clear_IO_APIC_pin()
606 entry.trigger = IOAPIC_LEVEL; in clear_IO_APIC_pin()
607 ioapic_write_entry(apic, pin, entry); in clear_IO_APIC_pin()
611 x86_io_apic_ops.eoi_ioapic_pin(apic, pin, entry.vector); in clear_IO_APIC_pin()
620 entry = ioapic_read_entry(apic, pin); in clear_IO_APIC_pin()
621 if (entry.irr) in clear_IO_APIC_pin()
706 struct IO_APIC_route_entry entry; in mask_ioapic_entries() local
708 entry = ioapics[apic].saved_registers[pin]; in mask_ioapic_entries()
709 if (!entry.mask) { in mask_ioapic_entries()
710 entry.mask = 1; in mask_ioapic_entries()
711 ioapic_write_entry(apic, pin, entry); in mask_ioapic_entries()
1216 int native_setup_ioapic_entry(int irq, struct IO_APIC_route_entry *entry, in native_setup_ioapic_entry() argument
1220 memset(entry, 0, sizeof(*entry)); in native_setup_ioapic_entry()
1222 entry->delivery_mode = apic->irq_delivery_mode; in native_setup_ioapic_entry()
1223 entry->dest_mode = apic->irq_dest_mode; in native_setup_ioapic_entry()
1224 entry->dest = destination; in native_setup_ioapic_entry()
1225 entry->vector = vector; in native_setup_ioapic_entry()
1226 entry->mask = 0; /* enable IRQ */ in native_setup_ioapic_entry()
1227 entry->trigger = attr->trigger; in native_setup_ioapic_entry()
1228 entry->polarity = attr->polarity; in native_setup_ioapic_entry()
1235 entry->mask = 1; in native_setup_ioapic_entry()
1243 struct IO_APIC_route_entry entry; in setup_ioapic_irq() local
1267 if (x86_io_apic_ops.setup_entry(irq, &entry, dest, cfg->vector, attr)) { in setup_ioapic_irq()
1279 ioapic_write_entry(attr->ioapic, attr->ioapic_pin, entry); in setup_ioapic_irq()
1307 struct IO_APIC_route_entry entry; in setup_timer_IRQ0_pin() local
1310 memset(&entry, 0, sizeof(entry)); in setup_timer_IRQ0_pin()
1320 entry.dest_mode = apic->irq_dest_mode; in setup_timer_IRQ0_pin()
1321 entry.mask = 0; /* don't mask IRQ for edge */ in setup_timer_IRQ0_pin()
1322 entry.dest = dest; in setup_timer_IRQ0_pin()
1323 entry.delivery_mode = apic->irq_delivery_mode; in setup_timer_IRQ0_pin()
1324 entry.polarity = 0; in setup_timer_IRQ0_pin()
1325 entry.trigger = 0; in setup_timer_IRQ0_pin()
1326 entry.vector = vector; in setup_timer_IRQ0_pin()
1338 ioapic_write_entry(ioapic_idx, pin, entry); in setup_timer_IRQ0_pin()
1348 struct IO_APIC_route_entry entry; in native_io_apic_print_entries() local
1350 entry = ioapic_read_entry(apic, i); in native_io_apic_print_entries()
1352 pr_debug(" %02x %02X ", i, entry.dest); in native_io_apic_print_entries()
1355 entry.mask, in native_io_apic_print_entries()
1356 entry.trigger, in native_io_apic_print_entries()
1357 entry.irr, in native_io_apic_print_entries()
1358 entry.polarity, in native_io_apic_print_entries()
1359 entry.delivery_status, in native_io_apic_print_entries()
1360 entry.dest_mode, in native_io_apic_print_entries()
1361 entry.delivery_mode, in native_io_apic_print_entries()
1362 entry.vector); in native_io_apic_print_entries()
1375 struct IO_APIC_route_entry entry; in intel_ir_io_apic_print_entries() local
1377 entry = ioapic_read_entry(apic, i); in intel_ir_io_apic_print_entries()
1379 ir_entry = (struct IR_IO_APIC_route_entry *)&entry; in intel_ir_io_apic_print_entries()
1482 struct irq_pin_list *entry; in print_IO_APICs() local
1494 for_each_irq_pin(entry, cfg->irq_2_pin) in print_IO_APICs()
1495 pr_cont("-> %d:%d", entry->apic, entry->pin); in print_IO_APICs()
1518 struct IO_APIC_route_entry entry = ioapic_read_entry(apic, pin); in enable_IO_APIC() local
1523 if ((entry.mask == 0) && (entry.delivery_mode == dest_ExtINT)) { in enable_IO_APIC()
1564 struct IO_APIC_route_entry entry; in native_disable_io_apic() local
1566 memset(&entry, 0, sizeof(entry)); in native_disable_io_apic()
1567 entry.mask = 0; /* Enabled */ in native_disable_io_apic()
1568 entry.trigger = 0; /* Edge */ in native_disable_io_apic()
1569 entry.irr = 0; in native_disable_io_apic()
1570 entry.polarity = 0; /* High */ in native_disable_io_apic()
1571 entry.delivery_status = 0; in native_disable_io_apic()
1572 entry.dest_mode = 0; /* Physical */ in native_disable_io_apic()
1573 entry.delivery_mode = dest_ExtINT; /* ExtInt */ in native_disable_io_apic()
1574 entry.vector = 0; in native_disable_io_apic()
1575 entry.dest = read_apic_id(); in native_disable_io_apic()
1580 ioapic_write_entry(ioapic_i8259.apic, ioapic_i8259.pin, entry); in native_disable_io_apic()
1825 struct irq_pin_list *entry; in __target_IO_APIC_irq() local
1828 for_each_irq_pin(entry, cfg->irq_2_pin) { in __target_IO_APIC_irq()
1831 apic = entry->apic; in __target_IO_APIC_irq()
1832 pin = entry->pin; in __target_IO_APIC_irq()
1870 struct irq_pin_list *entry; in io_apic_level_ack_pending() local
1874 for_each_irq_pin(entry, cfg->irq_2_pin) { in io_apic_level_ack_pending()
1878 pin = entry->pin; in io_apic_level_ack_pending()
1879 reg = io_apic_read(entry->apic, 0x10 + pin*2); in io_apic_level_ack_pending()