Subject: Re: [PATCH 2.6.11-rc4] ppc: add support for Radstone ppc7d boards

From: "Mark A. Greer" <[email-masked]>
Date: Mon, 28 Feb 2005 15:24:45 -0700

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