[PATCH 2.6.11-rc4] ppc: add support for Radstone ppc7d boards
Mark A. Greer
mgreer at mvista.com
Tue Mar 1 09:24:45 EST 2005
James Chapman wrote:
> 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.
mv64x60_set_bus() is supposed to do that. Try doing your bus numbering
setup/bus scanning like what's in ev64260.c. If there is still a
deficiency, then we should fix up that routine.
Mark
More information about the Linuxppc-embedded
mailing list