Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PCI interrupts, IOAPIC and ACPI woes: modify the DSDT or apply a patch to mpacpi.c?



Joerg Sonnenberger wrote:
> On Mon, Jun 23, 2008 at 09:04:16PM +0200, Kaspar Brand wrote:
>> I have board with _PRT entries in the ACPI configuration which do not
>> make much sense to me - I'm not completely sure if they are wrong, but
>> the net effect is that if both ACPI and the IOAPIC are enabled, devices
>> on the secondary IDE channel can't be used, because IRQ 15 is not
>> properly routed.
> 
> Can you please provide me the complete DSDT?

Just a short update for the readers of this list: I tried to send the
file to the list on 24 June, but it didn't get through (probably due to
its size). So I mailed it to Joerg off-list, and we exchanged a couple
of private mails subsequently.

In the meantime, I had another proposal for a possible fix which also
addresses my issue (see attachment), but am not sure if that's the
better/more correct solution.

Kaspar
Index: sys/arch/x86/x86/mpacpi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/mpacpi.c,v
retrieving revision 1.65
diff -u -p -r1.65 mpacpi.c
--- sys/arch/x86/x86/mpacpi.c   25 Jun 2008 19:57:22 -0000      1.65
+++ sys/arch/x86/x86/mpacpi.c   30 Jun 2008 05:14:27 -0000
@@ -819,7 +819,7 @@ mpacpi_pciroute(struct mpacpi_pcibus *mp
 #endif
                                mpi->ioapic_ih = pin;
                        mpi->linkdev = NULL;
-                       mpi->flags = MPS_INTPO_ACTLO | (MPS_INTTR_LEVEL << 2);
+                       mpi->flags = MPS_INTPO_DEF | (MPS_INTTR_DEF << 2);
                        if (mp_verbose > 1)
                                printf("pciroute: done adding entry\n");
                }


Home | Main Index | Thread Index | Old Index