Hi Kai,
I also got ACPI IRQ routing working on a system over the weekend. Sounds
like yours is better, so great we'll adopt yours. Thanks for stepping up on
this.
> I changed pci-irq.c to use the ACPI interrupt routing, and also added
> dynamic routing table support. The appended patch is a bit
> preliminary,
> but it works here, even for assigning irqs.
> Further comments/to do:
> o The ACPI PCI in general needs further cleanup and
> integration with the
> normal PCI layer. I believe that should wait until the new device
> infrastructure is in place, though. E.g., I think one can
> get rid of the static table which is currently setup in acpi_pci.c.
<shrug>. Once we get it working, we can get it working right, and save the
1K.
> o I'm not exactly happy with the way ACPI does things currently, but I
> didn't change it to keep the patch small. It uses multiple functions
> to parse the IRQ resource descriptor into a linked list of
> "acpi_resource" which I then again have to convert back into the
> mask which was in the IRQ resource desriptor in the first place.
> About the same holds for the other way, instead of just setting
> up a five byte IRQ descriptor, I need to setup two "acpi_resource"
> structs, calculate lengths, etc. which will eventually be
> converted to
> just the five bytes. IMO the conversion routines are unnecessary
> bloat...
Like I said above, I think it's too early to be optimizing this code. My
main concern was more about integrating ACPI into pci-irq.c in a readable
manner. It is pretty $PIR-specific (no surprise there). Anyways let me work
with your new code and I will be able to comment more.
> o Things need to be made dynamic, i.e. try ACPI and if it
> doesn't work,
> fall back to the normal method. Also, a command line flag to disable
> acpi irq routing is probably a good idea.
At this point, I'd think one to *enable* it would be better until the code
is tested more.
Regards -- Andy
-
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/