pci in arch/powerpc vs arch/ppc
Alexandros Kostopoulos
akostop at inaccessnetworks.com
Tue Aug 7 19:06:46 EST 2007
Except from some macros arch/powerpc/include/asm/io.h / mpc8260_pci9.h, I
can seem to find anywhere the code regarding PCI Erratum 9. The defined
macros(in io.h) for read/write are sufficient as a workaround for PCI9?
Who does DMA and register initialization for this (it used to be done in
arch/ppc/syslib/m8260_pci_erratum9.c in arc/ppc). Maybe u-boot or the
bootwrapper?
Another question regarding resource allocation: when
alloc_resource(pci_32.c), called from pcibios_allocate_resources(), during
pcibios init, attempts to allocate resources using request_resource(), the
request fails. This seems to happen because the previously scanned PCI
devices request resources in the form, e.g. 00000- 0000f (i.e. starting
from zero), and this should be mapped somewhere else in cpu mem space. My
question (in order to find my bug) is, who performs this mapping, from PCI
space to CPU space, the kernel (and if yes, where?) or the host bridge (in
which case, I've probably failed to configure it properly).
Thank you
On Sat, 04 Aug 2007 19:39:58 +0300, Kumar Gala <galak at kernel.crashing.org>
wrote:
>
> On Aug 3, 2007, at 3:10 PM, Scott Wood wrote:
>
>> On Fri, Aug 03, 2007 at 05:58:56PM +0300, Alexandros Kostopoulos wrote:
>>> Hi all,
>>> in the old arch/ppc tree, there was a function called
>>> pq2ads_setup_pci()
>>> that set up PCI regs for 8272xx, in m82xx_pci.c. I was wandering, where
>>> are these registers configured now in arch/powerpc? I can't seem to
>>> find
>>> these code now.
>>
>> It's done by the firmware or the bootwrapper.
>
>>> Also, I can see that now bus 0, dev 0 (which I think represents the
>>> host
>>> bridge, right?) is now excluded using pq2_pci_exclude_device, but it
>>> wasn't in older code. Why is that?
>>
>> The older code probably either excluded all host bridges by class, or
>> just lived with the error message that gets printed on boot.
>
> This will change in 2.6.24. I've fixed the reason we excluded the host
> bridges on Freescale host bridges.
>
> - k
More information about the Linuxppc-dev
mailing list