Re: [PATCH 12/24] powerpc: 4xx PLB to PCI Express support
From: Josh Boyer <hidden>
Date: 2007-12-02 14:17:34
On Sun, 2 Dec 2007 13:32:28 +0100 Stefan Roese [off-list ref] wrote:
Hi Ben, On Friday 30 November 2007, Benjamin Herrenschmidt wrote:quoted
This adds to the previous 2 patches the support for the 4xx PCI Express cells as found in the 440SPe revA, revB and 405EX. Unfortunately, due to significant differences between these, and other interesting "features" of those pieces of HW, the code isn't as simple as it is for PCI and PCI-X and some of the functions differ significantly between the 3 implementations. Thus, not only this code can only support those 3 implementations for now and will refuse to operate on any other, but there are added ifdef's to avoid the bloat of building a fairly large amount of code on platforms that don't need it. Also, this code currently only supports fully initializing root complex nodes, not endpoint. Some more code will have to be lifted from the arch/ppc implementation to add the endpoint support, though it's mostly differences in memory mapping, and the question on how to represent endpoint mode PCI in the device-tree is thus open. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> --- 440SPeA is untested, 440SPeB is slightly tested (with a sky2 network card on port 0 only for now) and 405EX is untested.As already mentioned I'm experiencing some problems with this current version. At least what's available in Josh's 2.6.25-candidates branch. The kernel crashes in the first ppc4xx_pciex_read_config() call upon (after I fixed the small problem mentioned further down below): BUG_ON(hose != port->hose); So before digging into this deeper, I wanted to check if you don't have a slightly "better" version which passed your tests with the sky2 PCIe card.
These should be the latest versions that Ben sent out. I plan on applying newer versions to that branch as they come out, which means the git branch will probably reset often for a bit. I have some other patches I want to pull into there as well anyway. josh