Mark A. Greer wrote: > > + /* Setup P2P for PCI#0 */ > > + val32 = mv64x60_read(&bh, MV64x60_PCI0_P2P_CONFIG); > > + val32 &= ~(0x00ffffff); > > + val32 |= ((bh.hose_a->first_busno & 0xff) << 16); > etc. > > Do you really use the P2P bridge? Unless I missed something, I think it > remains disabled. You shouldn't need it unless you have PCI devices on > one hose directly accessing PCI devices on the other hose. The P2P > stuff seems complicated & unnecessary.
Thinking about this more, what is really being configured here is the primary bus number before the scan is performed. If the bus number doesn't match the hose's primary bus number, the mv64x60 will issue Type 2 PCI config cycles instead of Type 1 and the scan will fail. This board has an on-board PCI-X bridge and potentially other PCI bridges on PMC cards. I found that I had to init the P2P_CONFIG primary bus value before scan in order for the PCI scan of bus 2 to work (hose_a has PCI busses 0 and 1). I think the writes to the P2P config registers are necessary. /james -- James Chapman PGP key : http://www.katalix.com/~jchapman/pgpkey.txt