Date: Wed, 14 Nov 2001 08:37:52 -0700 From: Warner Losh <imp@harmony.village.org> To: John Gordon <john.gordon@windriver.com> Cc: freebsd-mobile@FreeBSD.ORG Subject: Re: RFH: Some things I don't understand about the 4.4-STABLE code Message-ID: <200111141537.fAEFbq703356@harmony.village.org> In-Reply-To: Your message of "Wed, 14 Nov 2001 01:00:28 PST." <3BF232AB.97AEC3CA@windriver.com> References: <3BF232AB.97AEC3CA@windriver.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <3BF232AB.97AEC3CA@windriver.com> John Gordon writes: : Still trying to discover why my Xircom card/PCICIA slot (embedded in the : machine, so I cannot tell which it is for now) is not working since I : upgraded to 4.4 (first the -RELEASE and now -STABLE). There are a few : things about the output from the new code that puzzle me, and I cannot : seem to find out where they come from: Ok. I'll do my best to describe it. I suspect that you are seeing a problem with the memory allocation stuff (I have some patches that I've not committed). sysctl -w machdep.pccard.mem_start=0xd0000 (or some larger number, like 0xd4000 or 0xd8000) : 1) Why the output changed to show three pcic devices instead of two : pcic-pci and two pcic ones. I'm not sure what is meant to happen in the : new system. The output is like this: : : pcic0: <TI PCI-1131 PCI-CardBus Bridge> irq 9 at device 7.0 on pci0 : pcic0: PCI Memory allocated: 0x44000000 : pcic0: Polling mode : pcic0: TI113X PCI Config Reg: [speaker enable][CSC serial isa irq] : pccard0: <PC Card bus (classic)> on pcic0 : pcic1: <TI PCI-1131 PCI-CardBus Bridge> irq 10 at device 7.1 on pci0 : pcic1: PCI Memory allocated: 0x44001000 : pcic1: Polling mode : pcic1: TI113X PCI Config Reg: [speaker enable][CSC serial isa irq] : pccard1: <PC Card bus (classic)> on pcic1 : : [other stuff] : : pcic2: <Cirrus logic 6722> at port 0x3e0 iomem 0xd0000 on isa0 : pcic2: Polling mode : pccard2: <PC Card bus (classic)> on pcic2 : pccard3: <PC Card bus (classic)> on pcic2 : : Under 4.3 I get this which makes much more sense for my Hinote's : hardware configuration: : : pcic-pci0: <TI PCI-1131 PCI-CardBus Bridge> irq 9 at device 7.0 on pci0 : pcic-pci0: TI113X PCI Config Reg: [speaker enable][CSC serial isa irq] : pcic-pci1: <TI PCI-1131 PCI-CardBus Bridge> irq 10 at device 7.1 on pci0 : pcic-pci1: TI113X PCI Config Reg: [speaker enable][CSC serial isa irq] : : [other stuff] : : pcic0: <Cirrus Logic PD672X> at port 0x3e0 iomem 0xd0000 on isa0 : pcic0: Polling mode : pccard0: <PC Card bus -- kludge version> on pcic0 : pccard1: <PC Card bus -- kludge version> on pcic0 : pcic1: <VLSI 82C146> at port 0x3e2 iomem 0xd4000 on isa0 : pcic1: Polling mode : pccard2: <PC Card bus -- kludge version> on pcic1 : pccard3: <PC Card bus -- kludge version> on pcic1 OK. The reason that they changed is that I upgraded the pci pcic devices to first class devices. Before, we'd have a pcic-pci which was just a kludge that tried to put the bridge into a compatibility mode. It looks like I've changed the probe order a little, since the VLSI 82C146 detection (which really means Intel 82365SL step DF) is what the TI chips emulate. : 2) Where do I find the code that detected pcic2 and logged the message : shown? Since the Xircom card is connected to that controller (or at : least it was under 4.3), I suspect that the problem is something to do : with that device being detected in the ISA device scan. src/sys/pccard. I doubt the problem is that what you think. there's no ISA attachment for the xe card. : 3) Why do pcic0 and pcic1 only have one pccard associated with them, but : pcic2 has two (as expected)? Because that's the way it works :-) Each pci chip has two functions, each of which is an independent slot. This is a little different than how it works with the old ISA way of doing it. : 4) Should I see any messages for the VLSI 82C146 under 4.4? Do I need to : tell the system that there is a pcic3 somewhere too? I tried adding them : to the kernel config, but that made no difference. No. You shouldn't. : Any pointers much appreciated as I cannot work much more out from the : code... All I know for sure is that the xe device probe fails because it : does not get sensible information from what it believes to be the card's : CIS. Since I know the card works, I can only assume that this is : something funny in the way the memory is mapped during the PCMCIA : subsystem initialisation. I also changed how the memory for pccard was allocated between 4.3 and 4.4. That's what is biting you now, I think. I think that if you try the above sysctl, you'll be OK. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111141537.fAEFbq703356>