Subject: Re: A TODO list for cardbus/ PCMCIA support.
To: Chris G. Demetriou <cgd@netbsd.org>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-kern
Date: 06/17/1999 12:49:38
Chris G. Demetriou writes:
[....]
Personally, I'd punt on supporting CBB's as PCICs via the
PCIC-compatible mapping if no CBB driver is loaded, leaving only two
cases. At least for a first implementation. (we dont support, e.g.,
EISA boards via ISA, do we?) The rest looks okay.
>FWIW, the things that I see as being necessary for CardBus support
>are, in approximate order:
[numbered instead of starred]
------
#1. enough the PCI bus space management/"bin packing" to
make sure you can arrange for CBBs to be properly mapped.
-- at this point, if the CBBs have support compatibility
register access you can at least use the PCIC
driver with them. It would seem that for many
bridges to enable compat. register access they
_need_ their register BAR to be mapped. I did N
gross PCI bar hacks for people to make their CBBs
function to this minimal level, i.e. _any use of
PCMCIA at all for their laptop__.
#2. the PCMCIA 'access registers via various methods' code.
#3. code to cope with CBB's well enough to make provide the same
services as PCIC, i.e. allow you to use PCMCIA cards (with
the CBB register access method).
-- at this point you're using PCMCIA cards on CBBs
with CBB style register access and enough support
from the CBBs to deal with insertions and removals
of at least some types of cards.
#4. the stuff relating to CIS, i.e. making the existing CIS
tuple code cope with variety in its sources of input.
#5. coping with mapping inserted CB cards, i.e. dealing with
their CIS, mapping their BARs, etc.
-- at this point you're actually using CB cards.
#6. coping with unmapping removed or to-be-removed CB cards.
-- at this point you can remove CB cards.
------
These look reasonable to me.
As far as I can tell, the hard bits of #4, #5, and #6 are already done
in the Japanese cardbus patches. Jason has committed to working on #1,
when his current UVM stuff is done.
To make more progress we need to nail down the method interfaces to
use in #2 and #4. I'd imagined handles with methods to read and write
registers, instantiated for the pcic and for cardbus bridges.
I dont recall if hayakawa-san's CardBus patches do that or not.
But we're a lot further along than it looks; what we need is to
co-ordinate the people working on the various pieces.
I dont see why, say, #4 cant be done in the Japanese patche tree in
parallel with Jason (or whoever) doing work on #1.
Re your closing comments: `me too'. That's why I'm spending time
trying to co-ordinate the various bits.