Date: Wed, 21 Jan 2004 11:49:53 -0500 From: Andrew Heybey <ath@niksun.com> To: "M. Warner Losh" <imp@bsdimp.com> Cc: gdt@bbn.com Subject: Re: PCCARD unrecogonized by FreeBSD 5.1-RELEASE on IBM Thinkpad 600 Message-ID: <85isj5p7pq.fsf@stiegl.mj.niksun.com> In-Reply-To: <20040113.160746.125464783.imp@bsdimp.com> (M. Warner Losh's message of "Tue, 13 Jan 2004 16:07:46 -0700 (MST)") References: <20040112070640.87077.qmail@web40808.mail.yahoo.com> <20040113185231.22FBC2051D@wolfe.bbn.com> <20040113.160746.125464783.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
"M. Warner Losh" <imp@bsdimp.com> writes: > In message: <20040113185231.22FBC2051D@wolfe.bbn.com> > Greg Troxel <gdt@bbn.com> writes: > : Probing cbb, I get a problem with "unconfigured IRQ". Turning on > : various PCIBIOS options (in NetBSD), I found that the IRQ in the PIR > : was set to -1, which means that the BIOS failed to configure the > : device properly. I set a PCIBIOS_FIXUP_INTR option (actually many): > : > : options PCIBIOS # PCI BIOS support > : options PCIBIOSVERBOSE # PCI BIOS verbose info > : options PCIBIOS_ADDR_FIXUP # fixup PCI I/O addresses > : options PCIBIOS_BUS_FIXUP # fixup PCI bus numbering > : options PCIBIOS_INTR_FIXUP # fixup PCI interrupt routing > : options PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11 > : options PCIBIOS_INTR_GUESS # see pcibios(4) > > Many of these are rolled up into FreeBSD's code already. I'm working > on not needing addr_fixup. bus_fixup is needed. The intr stuff is > being worked on by John Baldwin. The bus_fixup stuff is needed by a > few laptops now to get cardbus working... To chime in with my experience: I recently installed 5.2-RELEASE on an IBM Thinkpad 600X (2645-4EU). I could not get PCI interrupts working correctly using ACPI. I ran out of time to fiddle with it and went back to APM and it is working. (Well, pccard and cardbus cards are working; suspend still wedges the box). I did upgrade to the latest BIOS available from IBM (ITET55WW, 1.11). The cardbus/pccard problems are because ACPI does not route a usable interrupt to cbb0/cbb1. In dmesg I get: pcib0: slot 2 INTA routed to irq 3 via \\_SB_.LNKA ... cbb0: <TI1450 PCI-CardBus Bridge> mem 0x50103000-0x501-3fff irq 3 at device 2.0 on pci0 cbb1 also gets irq 3. In W98SE or FreeBSD 4.9 or 5.2 w/ apm, they get irqs 9 & 11 respectively. I tried setting a hint, eg (in /boot/device.hints): hw.acpi.pci.link.0.2.0.irq=9 but it does not work because the call to dev/acpica/acpi_pci_link.c:acpi_pci_link_set_irq() dies because its call to acpi_pci_get_current_irq() dies because its call to acpi_pci_link_get_irq_resources() fails because NumberOfInterrupts == 0 (in acpi_pci_link_get_irq_resources()). I assume that this is related to Greg's finding the the IRQ in the PIR was set to -1??? (Sorry I am ACPI-ignorant.) That is as far as I got in trying to figure out what is going on. Any suggestions are welcome. I do not include a full dmesg, but am happy to provide such or any other information on request. andrew
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85isj5p7pq.fsf>