Subject: Re: A TODO list for cardbus/ PCMCIA support.
To: None <>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-kern
Date: 06/16/1999 22:08:10
itojun writes:

>	I believe per-slot kernel thread is enough.

Yes, but only if we redo (the moral equivalent of) autoconfig.

I dont know, currently, what interrupt or memory-allocation or or
locking protocols that might break.  I dont think there are any left
if we use a kernel thread to do it, but last time I suggested this,
lots of gotchas were raised.

>	foreach (pcmcia drivers) {
>		if (xx_probe success)	/* check for cis tuple */
>			break;
>	}
>	in slot watcher kernel thread should be enough.

Yep, but then how do we expand this to cardbus and still handle
16-bit, non-dma cards in cardbus slots? Dont we need to yank the
cis-tuple-parsing stuff (and the 16-bit pcmcia code?) out and share it
for children of both cardbus bridges and pcics?

>	In BSDI version, this is done like below.
>	Not very clean but works well.  This should better be implemented in
>	pccard configuration logic, not in the driver.

Given how we keep struct ifnets and mac addresses, we could probably
make that an MI fragment and call into it from all the pcic/cardbus
Ethernet drivers.

Given Ted's comments, though, we may still need a bit (separate from
IFF_UP) which says whether an interface is /really/ present or not.

And what will/should happen when someone puts a cardbus card into a
pcmcia-only slot. Is that mechanically possible?  Do any cards (3com
nics?) have both PIO and DMA APIs?