Skip site navigation (1)Skip section navigation (2)
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>