x86, io_apic: Introduce eoi_ioapic_pin call-back
This callback replaces the old __eoi_ioapic_pin function which needs a special path for interrupt remapping. Signed-off-by: Joerg Roedel <joro@8bytes.org> Acked-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
@@ -143,11 +143,23 @@ static int irq_remapping_setup_msi_irqs(struct pci_dev *dev,
|
||||
return do_setup_msix_irqs(dev, nvec);
|
||||
}
|
||||
|
||||
void eoi_ioapic_pin_remapped(int apic, int pin, int vector)
|
||||
{
|
||||
/*
|
||||
* Intr-remapping uses pin number as the virtual vector
|
||||
* in the RTE. Actual vector is programmed in
|
||||
* intr-remapping table entry. Hence for the io-apic
|
||||
* EOI we use the pin number.
|
||||
*/
|
||||
io_apic_eoi(apic, pin);
|
||||
}
|
||||
|
||||
static void __init irq_remapping_modify_x86_ops(void)
|
||||
{
|
||||
x86_io_apic_ops.disable = irq_remapping_disable_io_apic;
|
||||
x86_io_apic_ops.set_affinity = set_remapped_irq_affinity;
|
||||
x86_io_apic_ops.setup_entry = setup_ioapic_remapped_entry;
|
||||
x86_io_apic_ops.eoi_ioapic_pin = eoi_ioapic_pin_remapped;
|
||||
x86_msi.setup_msi_irqs = irq_remapping_setup_msi_irqs;
|
||||
x86_msi.setup_hpet_msi = setup_hpet_msi_remapped;
|
||||
x86_msi.compose_msi_msg = compose_remapped_msi_msg;
|
||||
|
Reference in New Issue
Block a user