lkml.org 
[lkml]   [2007]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH -rt] irq nobody cared workaround for i386
Michal Schmidt wrote:
> Michal Schmidt wrote:

> I came to the conclusion that the IO-APICs which need the fix for the
> nobody cared bug don't have the issue ack_ioapic_quirk_irq is designed
> to work-around. It should be safe simply to use the normal
> ack_ioapic_irq as the .eoi method in pcix_ioapic_chip.
> So this is the port of Steven's fix for the nobody cared bug to i386. It
> works fine on IBM LS21 I have access to.
>

Thanks Michal for doing this!

> Signed-off-by: Michal Schmidt <mschmidt@redhat.com>


> @@ -1336,7 +1371,7 @@ static void __init setup_IO_APIC_irqs(vo
> if (IO_APIC_IRQ(irq)) {
> vector = assign_irq_vector(irq);
> entry.vector = vector;
> - ioapic_register_intr(irq, vector, IOAPIC_AUTO);
> + ioapic_register_intr(irq, vector, IOAPIC_AUTO, apic>0);

You want to make that "apic > 0". Note the spacing. If it breaks
80 characters, then simply put it to a new line.

>
> if (!apic && (irq < 16))
> disable_8259A_irq(irq);
> @@ -2058,6 +2093,18 @@ static struct irq_chip ioapic_chip __rea
> .retrigger = ioapic_retrigger_irq,
> };
>

[...]

> static inline void init_IO_APIC_traps(void)
> {
> @@ -2858,7 +2905,7 @@ int io_apic_set_pci_routing (int ioapic,
> mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq,
> edge_level, active_high_low);
>
> - ioapic_register_intr(irq, entry.vector, edge_level);
> + ioapic_register_intr(irq, entry.vector, edge_level, ioapic>0);

Again, add the spaces.

>
> if (!ioapic && (irq < 16))
> disable_8259A_irq(irq);
>
>


ACK

-- Steve
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2007-06-20 16:23    [W:1.343 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site