Lines Matching refs:desc

82         struct irq_desc *desc;  in share_vector_maps()  local
86 desc = irq_to_desc(irq); in share_vector_maps()
87 if (desc->arch.used_vectors == vector_map[dst]) in share_vector_maps()
88 desc->arch.used_vectors = vector_map[src]; in share_vector_maps()
456 static void mask_IO_APIC_irq(struct irq_desc *desc) in mask_IO_APIC_irq() argument
461 __mask_IO_APIC_irq(desc->irq); in mask_IO_APIC_irq()
465 static void unmask_IO_APIC_irq(struct irq_desc *desc) in unmask_IO_APIC_irq() argument
470 __unmask_IO_APIC_irq(desc->irq); in unmask_IO_APIC_irq()
474 static void __eoi_IO_APIC_irq(struct irq_desc *desc) in __eoi_IO_APIC_irq() argument
476 struct irq_pin_list *entry = irq_2_pin + desc->irq; in __eoi_IO_APIC_irq()
477 unsigned int pin, vector = desc->arch.vector; in __eoi_IO_APIC_irq()
490 static void eoi_IO_APIC_irq(struct irq_desc *desc) in eoi_IO_APIC_irq() argument
494 __eoi_IO_APIC_irq(desc); in eoi_IO_APIC_irq()
550 set_ioapic_affinity_irq(struct irq_desc *desc, const cpumask_t *mask) in set_ioapic_affinity_irq() argument
557 irq = desc->irq; in set_ioapic_affinity_irq()
560 dest = set_desc_affinity(desc, mask); in set_ioapic_affinity_irq()
574 data |= desc->arch.vector & 0xFF; in set_ioapic_affinity_irq()
675 struct irq_desc *desc; in setup_ioapic_dest() local
681 desc = irq_to_desc(irq); in setup_ioapic_dest()
682 BUG_ON(cpumask_empty(desc->arch.cpu_mask)); in setup_ioapic_dest()
683 set_ioapic_affinity_irq(desc, desc->arch.cpu_mask); in setup_ioapic_dest()
986 struct irq_desc *desc; in setup_IO_APIC_irqs() local
1040 desc = irq_to_desc(irq); in setup_IO_APIC_irqs()
1530 static unsigned int startup_edge_ioapic_irq(struct irq_desc *desc) in startup_edge_ioapic_irq() argument
1536 if (platform_legacy_irq(desc->irq)) { in startup_edge_ioapic_irq()
1537 disable_8259A_irq(desc); in startup_edge_ioapic_irq()
1538 if (i8259A_irq_pending(desc->irq)) in startup_edge_ioapic_irq()
1541 __unmask_IO_APIC_irq(desc->irq); in startup_edge_ioapic_irq()
1552 static void ack_edge_ioapic_irq(struct irq_desc *desc) in ack_edge_ioapic_irq() argument
1554 irq_complete_move(desc); in ack_edge_ioapic_irq()
1555 move_native_irq(desc); in ack_edge_ioapic_irq()
1557 if ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) in ack_edge_ioapic_irq()
1559 mask_IO_APIC_irq(desc); in ack_edge_ioapic_irq()
1577 static unsigned int startup_level_ioapic_irq(struct irq_desc *desc) in startup_level_ioapic_irq() argument
1579 unmask_IO_APIC_irq(desc); in startup_level_ioapic_irq()
1635 static void mask_and_ack_level_ioapic_irq(struct irq_desc *desc) in mask_and_ack_level_ioapic_irq() argument
1640 irq_complete_move(desc); in mask_and_ack_level_ioapic_irq()
1643 mask_IO_APIC_irq(desc); in mask_and_ack_level_ioapic_irq()
1664 i = desc->arch.vector; in mask_and_ack_level_ioapic_irq()
1673 if ((desc->status & IRQ_MOVE_PENDING) && in mask_and_ack_level_ioapic_irq()
1674 !io_apic_level_ack_pending(desc->irq)) in mask_and_ack_level_ioapic_irq()
1675 move_masked_irq(desc); in mask_and_ack_level_ioapic_irq()
1679 __edge_IO_APIC_irq(desc->irq); in mask_and_ack_level_ioapic_irq()
1680 __level_IO_APIC_irq(desc->irq); in mask_and_ack_level_ioapic_irq()
1685 static void end_level_ioapic_irq_old(struct irq_desc *desc, u8 vector) in end_level_ioapic_irq_old() argument
1689 if ( !(desc->status & (IRQ_DISABLED|IRQ_MOVE_PENDING)) ) in end_level_ioapic_irq_old()
1691 eoi_IO_APIC_irq(desc); in end_level_ioapic_irq_old()
1695 mask_IO_APIC_irq(desc); in end_level_ioapic_irq_old()
1696 eoi_IO_APIC_irq(desc); in end_level_ioapic_irq_old()
1697 if ( (desc->status & IRQ_MOVE_PENDING) && in end_level_ioapic_irq_old()
1698 !io_apic_level_ack_pending(desc->irq) ) in end_level_ioapic_irq_old()
1699 move_masked_irq(desc); in end_level_ioapic_irq_old()
1702 if ( !(desc->status & IRQ_DISABLED) ) in end_level_ioapic_irq_old()
1703 unmask_IO_APIC_irq(desc); in end_level_ioapic_irq_old()
1706 static void end_level_ioapic_irq_new(struct irq_desc *desc, u8 vector) in end_level_ioapic_irq_new() argument
1727 unsigned int v, i = desc->arch.vector; in end_level_ioapic_irq_new()
1731 eoi_IO_APIC_irq(desc); in end_level_ioapic_irq_new()
1737 if ( (desc->status & IRQ_MOVE_PENDING) && in end_level_ioapic_irq_new()
1738 !io_apic_level_ack_pending(desc->irq) ) in end_level_ioapic_irq_new()
1739 move_native_irq(desc); in end_level_ioapic_irq_new()
1743 __mask_IO_APIC_irq(desc->irq); in end_level_ioapic_irq_new()
1744 __edge_IO_APIC_irq(desc->irq); in end_level_ioapic_irq_new()
1745 __level_IO_APIC_irq(desc->irq); in end_level_ioapic_irq_new()
1746 if ( !(desc->status & IRQ_DISABLED) ) in end_level_ioapic_irq_new()
1747 __unmask_IO_APIC_irq(desc->irq); in end_level_ioapic_irq_new()
1790 static void enable_lapic_irq(struct irq_desc *desc) in enable_lapic_irq() argument
1798 static void disable_lapic_irq(struct irq_desc *desc) in disable_lapic_irq() argument
1806 static void ack_lapic_irq(struct irq_desc *desc) in ack_lapic_irq() argument
2200 struct irq_desc *desc = irq_to_desc(irq); in io_apic_set_pci_routing() local
2239 if (cpumask_intersects(&mask, desc->arch.cpu_mask)) in io_apic_set_pci_routing()
2240 cpumask_and(&mask, &mask, desc->arch.cpu_mask); in io_apic_set_pci_routing()
2251 disable_8259A_irq(desc); in io_apic_set_pci_routing()
2258 spin_lock(&desc->lock); in io_apic_set_pci_routing()
2259 if (!(desc->status & (IRQ_DISABLED | IRQ_GUEST))) in io_apic_set_pci_routing()
2260 desc->handler->startup(desc); in io_apic_set_pci_routing()
2261 spin_unlock_irqrestore(&desc->lock, flags); in io_apic_set_pci_routing()
2318 struct irq_desc *desc; in ioapic_guest_write() local
2358 desc = irq_to_desc(irq); in ioapic_guest_write()
2375 if ( desc->action ) in ioapic_guest_write()
2380 rte.vector = desc->arch.vector; in ioapic_guest_write()
2388 if ( desc->arch.vector <= 0 || desc->arch.vector > LAST_DYNAMIC_VECTOR ) in ioapic_guest_write()
2390 int vector = desc->arch.vector; in ioapic_guest_write()
2395 desc->arch.vector = IRQ_VECTOR_UNASSIGNED; in ioapic_guest_write()
2402 desc->arch.vector = vector; in ioapic_guest_write()
2420 desc->handler = rte.trigger ? in ioapic_guest_write()
2426 rte.vector = desc->arch.vector; in ioapic_guest_write()
2428 SET_DEST(rte, logical, cpu_mask_to_apicid(desc->arch.cpu_mask)); in ioapic_guest_write()