Date: Wed, 11 Aug 2004 15:35:00 -0700 From: Nate Lawson <nate@root.org> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: current@FreeBSD.org Subject: Re: ia64: ACPI PCI IRQ routing breakage Message-ID: <411A9F14.4000204@root.org> In-Reply-To: <20040811214708.GA25696@dhcp50.pn.xcllnt.net> References: <20040811214708.GA25696@dhcp50.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------060108080209020609010400 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Marcel Moolenaar wrote: > Nate, > > I just tried to boot a kernel with the new ACPI PCI IRQ routing and > things look very bad: > > Table 'SSDT' at 0xe00000003fdfc680 > Table 'SSDT' at 0xe00000003fdfc740 > Table 'SSDT' at 0xe00000003fdfc970 > Table 'SSDT' at 0xe00000003fdfcfe0 > Table 'SSDT' at 0xe00000003fdfd650 > Table 'SSDT' at 0xe00000003fdfdcc0 > Table 'SSDT' at 0xe00000003fdfe330 It's very hard to debug things when all your important devices are hidden in SSDTs. I'd appreciate it if someone took me up on adding SSDT support to acpidump. > acpi0: <HP> on motherboard > acpi0: [GIANT-LOCKED] > acpi0: Power Button (fixed) > acpi0: Sleep Button (fixed) > > pcib0: <ACPI Host-PCI bridge> on acpi0 > ACPI PCI link initial configuration: > pci0: <ACPI PCI bus> on pcib0 > pci0: physical bus=0 > map[10]: type 1, range 32, base 80023000, size 12, enabled > found-> vendor=0x1033, dev=0x0035, revid=0x41 > bus=0, slot=1, func=0 > class=0c-03-10, hdrtype=0x00, mfdev=1 > cmdreg=0x0146, statreg=0x0210, cachelnsz=32 (dwords) > lattimer=0x80 (3840 ns), mingnt=0x01 (250 ns), maxlat=0x2a (10500 ns) > intpin=a, irq=0 > powerspec 2 supports D0 D1 D2 D3 current D0 > map[10]: type 1, range 32, base 80022000, size 12, enabled [...] > > If you don't have any suggestions from the top of your head, then > please could you back it out so that we can work out what's going > on without having ia64 completely bOrked. It not just inconvenient > for me. It's a major blocker. In that light I'd hoped to be given > more time for testing. It's likely your link devices don't like being called with _DIS. Try the attached patch. -Nate --------------060108080209020609010400 Content-Type: text/plain; name="dbg.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dbg.diff" Index: acpi_pci_link.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_pci_link.c,v retrieving revision 1.20 diff -u -r1.20 acpi_pci_link.c --- acpi_pci_link.c 11 Aug 2004 20:37:24 -0000 1.20 +++ acpi_pci_link.c 11 Aug 2004 22:33:09 -0000 @@ -377,12 +377,13 @@ * run _DIS (i.e., the method doesn't exist), assume the initial * IRQ was routed by the BIOS. */ +#if 0 if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) { link->current_irq = 0; link->flags = ACPI_LINK_NONE; } else { +#endif link->flags = ACPI_LINK_ROUTED; - } error = AcpiGetPossibleResources(handle, &buf); if (ACPI_FAILURE(error)) { --------------060108080209020609010400--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?411A9F14.4000204>