msi.c (2a85386a73fa57b114ba66421b57d3850dbcef9f) | msi.c (c201c91799d687c0a6d8c3272950f51aad5ffebe) |
---|---|
1/* 2 * Support of MSI, HPET and DMAR interrupts. 3 * 4 * Copyright (C) 1997, 1998, 1999, 2000, 2009 Ingo Molnar, Hajnalka Szabo 5 * Moved from arch/x86/kernel/apic/io_apic.c. 6 * Jiang Liu <jiang.liu@linux.intel.com> 7 * Convert to hierarchical irqdomain 8 * --- 115 unchanged lines hidden (view full) --- 124static struct msi_domain_ops pci_msi_domain_ops = { 125 .get_hwirq = pci_msi_get_hwirq, 126 .msi_prepare = pci_msi_prepare, 127 .set_desc = pci_msi_set_desc, 128}; 129 130static struct msi_domain_info pci_msi_domain_info = { 131 .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | | 1/* 2 * Support of MSI, HPET and DMAR interrupts. 3 * 4 * Copyright (C) 1997, 1998, 1999, 2000, 2009 Ingo Molnar, Hajnalka Szabo 5 * Moved from arch/x86/kernel/apic/io_apic.c. 6 * Jiang Liu <jiang.liu@linux.intel.com> 7 * Convert to hierarchical irqdomain 8 * --- 115 unchanged lines hidden (view full) --- 124static struct msi_domain_ops pci_msi_domain_ops = { 125 .get_hwirq = pci_msi_get_hwirq, 126 .msi_prepare = pci_msi_prepare, 127 .set_desc = pci_msi_set_desc, 128}; 129 130static struct msi_domain_info pci_msi_domain_info = { 131 .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | |
132 MSI_FLAG_PCI_MSIX | MSI_FLAG_MUST_REACTIVATE, | 132 MSI_FLAG_PCI_MSIX, |
133 .ops = &pci_msi_domain_ops, 134 .chip = &pci_msi_controller, 135 .handler = handle_edge_irq, 136 .handler_name = "edge", 137}; 138 139void __init arch_init_msi_domain(struct irq_domain *parent) 140{ --- 21 unchanged lines hidden (view full) --- 162 .irq_ack = irq_chip_ack_parent, 163 .irq_retrigger = irq_chip_retrigger_hierarchy, 164 .irq_set_vcpu_affinity = irq_chip_set_vcpu_affinity_parent, 165 .flags = IRQCHIP_SKIP_SET_WAKE, 166}; 167 168static struct msi_domain_info pci_msi_ir_domain_info = { 169 .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | | 133 .ops = &pci_msi_domain_ops, 134 .chip = &pci_msi_controller, 135 .handler = handle_edge_irq, 136 .handler_name = "edge", 137}; 138 139void __init arch_init_msi_domain(struct irq_domain *parent) 140{ --- 21 unchanged lines hidden (view full) --- 162 .irq_ack = irq_chip_ack_parent, 163 .irq_retrigger = irq_chip_retrigger_hierarchy, 164 .irq_set_vcpu_affinity = irq_chip_set_vcpu_affinity_parent, 165 .flags = IRQCHIP_SKIP_SET_WAKE, 166}; 167 168static struct msi_domain_info pci_msi_ir_domain_info = { 169 .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | |
170 MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX | 171 MSI_FLAG_MUST_REACTIVATE, | 170 MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX, |
172 .ops = &pci_msi_domain_ops, 173 .chip = &pci_msi_ir_controller, 174 .handler = handle_edge_irq, 175 .handler_name = "edge", 176}; 177 178struct irq_domain *arch_create_remap_msi_irq_domain(struct irq_domain *parent, 179 const char *name, int id) --- 214 unchanged lines hidden --- | 171 .ops = &pci_msi_domain_ops, 172 .chip = &pci_msi_ir_controller, 173 .handler = handle_edge_irq, 174 .handler_name = "edge", 175}; 176 177struct irq_domain *arch_create_remap_msi_irq_domain(struct irq_domain *parent, 178 const char *name, int id) --- 214 unchanged lines hidden --- |