[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 10/17] xen/apic: program the apic triggering and polarity properly
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> We were passing the ACPI triggering and polarity levels directly into the apic - but they have reversed values. The result was that all the level-triggered interrupts were edge, and vice-versa. It's surprising that anything worked at all, but now AHCI works for me. Thanks for Gerd Hoffmann for noticing this. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> --- arch/x86/xen/pci.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c index d661c74..fb408ce 100644 --- a/arch/x86/xen/pci.c +++ b/arch/x86/xen/pci.c @@ -53,7 +53,9 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity) printk(KERN_DEBUG "xen: --> irq=%d\n", irq); if (irq > 0) - xen_set_io_apic_routing(irq, triggering, polarity); + xen_set_io_apic_routing(irq, + triggering == ACPI_EDGE_SENSITIVE ? 0 : 1, + polarity == ACPI_ACTIVE_HIGH ? 0 : 1); return irq; } -- 1.6.0.6 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |