Commit 3da34aa brakes MSI support on MPC8308 (possibly all MPC83xx)

Ilya Yanok yanok at
Fri Jul 9 06:36:26 EST 2010

Hi Kumar, All,

I've found that MSI work correctly with older kernels on my MPC8308RDB 
board and don't work with newer ones. After bisecting I've found that 
the source of the problem is commit 3da34aa:

commit 3da34aae03d498ee62f75aa7467de93cce3030fd
Author: Kumar Gala <galak at>
Date:   Tue May 12 15:51:56 2009 -0500

     powerpc/fsl: Support unique MSI addresses per PCIe Root Complex

     Its feasible based on how the PCI address map is setup that the region
     of PCI address space used for MSIs differs for each PHB on the same 

     Instead of assuming that the address mappes to CCSRBAR 1:1 we read
     PEXCSRBAR (BAR0) for the PHB that the given pci_dev is on.

     Signed-off-by: Kumar Gala <galak at>

I can see BAR0 initialization for 85xx/86xx hardware but not for 83xx 
neigher in the kernel nor in U-Boot (that makes me think that all 83xx 
can be affected).
I'm not actually an PCI expert so I've just tried to write IMMR base 
address to the BAR0 register from the U-Boot to get the correct address 
but this doesn't help.
Please direct me how to init 83xx PCIE controller to make it compatible 
with this patch.

Thanks in advance.

Regards, Ilya.

More information about the Linuxppc-dev mailing list