[parisc-linux-cvs] linux-2.6 jejb

Grant Grundler grundler at parisc-linux.org
Sun Dec 21 18:42:12 MST 2003


On Sun, Dec 21, 2003 at 04:14:16PM -0700, James Bottomley wrote:
> Log message:
> Finally get PCMCIA working on the B180

awesome!
That's too cool!

BTW, I still have a change to dino_fixup_bus() in my local tree
that I don't know for sure if it's correct:
-                 for(i = 0; i < PCI_NUM_RESOURCES; i++) {
+                 for(i = 0; i < PCI_BRIDGE_RESOURCES; i++) {

That chunk of code doesn't "feel" right even though it may be.
This bit is code is dealing with a PCI-PCI Bridge...seems like
we shouldn't be messing with Bridge Resources (index > 6) unless
it's to "F-Extend" or otherwise adjust PCI-PCI Bridge resources.

What has me nervous (but haven't worked out yet) are the following
lines in drivers/pci:
        align = (resno < PCI_BRIDGE_RESOURCES) ? size : res->start;
or
	r_align = (i < PCI_BRIDGE_RESOURCES) ? r_align + 1 : r->start;

PCI uses >= PCI_BRIDGE_RESOURCES of this bridge to parent the resources
available on the secondary pci_bus.
See drivers/pci/probe.c:pci_read_bridge_bases() line 163.
Thus the alignment seems to be consistently handled different for
PCI Bridge resources than for other resources. And the dino
code treats them all the same.

hth,
grant


More information about the parisc-linux-cvs mailing list