John Baldwin <jhb_at_FreeBSD.org> wrote: > Yes, I am. However, what this is doing is going and looking to see if the > BIOS has programmed a valid IRQ into any of the devices routed by this IRQ, > and if so, we (currently) trust what the BIOS says over what the link claims > as far as what the best IRQ to use is. If the BIOS is just confused but the > BIOS IRQ is still valid in _PRS then the fact that we always do an _SRS means > we are still ok. The real problem here is that for this machine, calling > _DIS seems to permanently break the link devices. I think we'll have to add > a quirk to disable calling _DIS. I wonder if Linux already has such a quirk > for this box or if they are more selective about how and when they call _DIS. Hi, I was wondering why ACPI pci link code from RELENG_5 worked (it called _DIS too) and I noticed this in my dmesg: - pci_link[0-14] are attached - then pci0, pcib0 and other devices are attached - then pci_link[15-31] are attached - then other devices are attached I thought that perhaps the problem was that _DIS was called after devices had already been attached and had allocated an irq. So I tried this patch: %%% Index: acpi_pci_link.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_pci_link.c,v retrieving revision 1.44 diff -u -p -r1.44 acpi_pci_link.c --- acpi_pci_link.c 18 Jan 2005 20:18:46 -0000 1.44 +++ acpi_pci_link.c 8 Apr 2005 11:19:29 -0000 _at__at_ -511,7 +511,8 _at__at_ acpi_pci_link_attach(device_t dev) * run _DIS (i.e., the method doesn't exist), assume the initial * IRQ was routed by the BIOS. */ - if (ACPI_SUCCESS(AcpiEvaluateObject(acpi_get_handle(dev), "_DIS", NULL, + if (device_get_unit(dev) <= 14 && + ACPI_SUCCESS(AcpiEvaluateObject(acpi_get_handle(dev), "_DIS", NULL, NULL))) for (i = 0; i < sc->pl_num_links; i++) sc->pl_links[i].l_irq = PCI_INVALID_IRQ; %%% With this patch, sk0 uses irq9 but everything works fine (no timeouts, no interrupt storms). I don't know if my idea is totally silly or not ... Perhaps the pci links should be all attached before other devices are attached ? Cheers, AntoineReceived on Fri Apr 08 2005 - 10:10:23 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:31 UTC