Subject: Re: PCI-cardbus adapter problem
To: None <>
From: Hayakawa Koichi <>
List: tech-kern
Date: 05/18/2001 15:24:03
From: Matthias Drochner <>
Subject: Re: PCI-cardbus adapter problem 
Date: Thu, 17 May 2001 14:13:13 +0200
Message-ID: <>

 > Hmm, there are (at least) 2 problems:
 > 1. get an address range which is not used by anything
 > 2. make sure it is forwarded to the subordinate bus


 > For 1., I'd say that the best way to do it would be to
 > do the ressource management (which is already done by the
 > extent maps) right and complete. This means, all the address
 > ranges mapped by PCI BARs must be reserved, even if they
 > are not used by the driver or the device is unconfigured.

I think we need this to support dynamic device insertion and

 > config_defer() doesn't do trt here btw. since the deferred
 > part of the cbb attachment gets run earlier then expected
 > - after the devices on the subordinate bus are attached.

What do you mean?  Could you explain this with an example?

 > For 2., there is not much one can do once PCI devices are
 > configured, besides finding a gap between ranges used by PCI
 > devices on the bus in question within the address window
 > forwarded by the parent bridge. The FIXUP code run at the
 > very beginning could try to lay out the address windows in
 > a way which leaves room for this.
 > said:
 > > I hope the device driver of pci-pci bridge will be able to control its
 > > memory-space windows. 
 > There is only one window of each kind, and it is generally
 > dangerous to fiddle with it after other PCI devices are
 > attached. So I'd say the driver can't do this.

Why you don't think the window of PCI-PCI bridges cannot be
changed on the fly?  I suppose we can do it without problem.
Of course, every pci buses should manage the memory and io
address and size of their child devices properly.

For example, when the size of memory window of a PCI-PCI
bridge is smaller than the size of memory to be mapped for a
device inserted after boot sequence, what should we do?