Subject: Re: pci in arch/powerpc vs arch/ppc

From: Scott Wood <[email-masked]>
Date: Wed, 08 Aug 2007 14:56:02 -0500

Alexandros Kostopoulos wrote:
> I was referring to the allocation of primary bus' IO space based on the 
> device tree. I understand that IO-space resources are relative to the start 
> of the primary bus' IO space. But I think the primary bus IO space allocation 
> itself is broken. Let me explain with an example:
> 
> In mpc8272ads.dts, the ranges property for pci is:
> 
> ranges = <42000000 0 80000000 80000000 0 20000000
>           02000000 0 a0000000 a0000000 0 20000000
>           01000000 0 00000000 f6000000 0 02000000>;
> 
> The third obviously corresponds to IO space. So, shouldn't the res->start for 
> the host bridge be set to f6000000 ?

No, because as I said, res->start is relative to the start of IO-space. 
  The in/out functions add isa_io_base to the address.

> Because, currently, based on what I've 
> described in my previous mail, it gets set to 0. It seems to me like a matter 
> of incorrect parsing of the device tree from pci_process_bridge_OF_ranges() 
> for IO space.

It is not, at least not in this case.  It does appear to be ignoring the 
possibility that it needs to do further translation of the address 
through parent buses, though.

-Scott