Thread (1 message) 1 message, 1 author, 2012-08-15

Re: [PATCH v3 00/10] ARM: tegra: Add PCIe device tree support

From: Thierry Reding <hidden>
Date: 2012-08-15 20:19:56
Also in: linux-arm-kernel, linux-pci, linux-tegra

Possibly related (same subject, not in this thread)

On Wed, Aug 15, 2012 at 02:11:10PM -0600, Stephen Warren wrote:
On 08/15/2012 02:09 PM, Thierry Reding wrote:
quoted
On Wed, Aug 15, 2012 at 01:04:20PM -0600, Stephen Warren wrote:
quoted
On 08/14/2012 05:51 PM, Stephen Warren wrote:
quoted
On 08/14/2012 04:58 PM, Stephen Warren wrote:
...
quoted
quoted
Can't we make the call to pci_bus_add_devices() optional in 
pci_scan_root_bus() somehow; one of:
Sigh, that turns out not to work correctly; it solves at least
this part of the problem when booting using device tree, but
when booting using a board file, it causes the IRQ number
passed to the PCIe device to be bogus:-(

I give up for now.
I think the appropriate workaround for Tegra in 3.6 is to simply
make any drivers for PCIe-based devices be modules instead of
built-in, as Thierry hinted at much earlier in the thread. I've
validated that the Ethernet works just fine on TrimSlice with
that change, booting v3.6-rc1 using either board files or device
tree.
That's certainly the easiest and least error-prone solution.
quoted
For 3.7, we should continue the discussion about a real fix; I'll
look into the change Bjorn requested and see if it works,
although given that hacking pci_scan_root_bus as described
immediately previously in this thread caused a regression when
booting using a board file, and the fact that board files are no
longer supported on Tegra, I'm not too confident in the
outcome...
I don't understand this last part. If the problem is there when
booting from board files and the board files are removed, doesn't
that remove the problem as well? =)
It does for ARM SoCs/CPUs exclusively using device tree, but not all
ARM systems are converting to device tree, so the fact that Tegra has
makes it harder for me not to break anything else.
I think the best road to a real fix would be to implement a custom scan
function for Tegra along the lines of what Bjorn suggested. Ideally,
this implementation should eventually converge to what's done on other
architectures. At that point maybe ARM can completely be converted to
this new generic implementation and the Tegra-specific hook removed.

Thierry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help