Re: [PATCH v3 0/4] DT schema changes for HiKey970 PCIe hardware to work
From: Rob Herring <robh@kernel.org>
Date: 2021-08-04 16:29:05
Also in:
linux-pci, linux-phy, lkml
On Wed, Aug 04, 2021 at 08:50:45AM +0200, Mauro Carvalho Chehab wrote:
Em Tue, 3 Aug 2021 16:11:42 -0600 Rob Herring [off-list ref] escreveu:quoted
On Mon, Aug 2, 2021 at 10:39 PM Mauro Carvalho Chehab [off-list ref] wrote:quoted
Hi Rob, That's the third version of the DT bindings for Kirin 970 PCIE and its corresponding PHY. It is identical to v2, except by: - pcie@7,0 { // Lane 7: Ethernet + pcie@7,0 { // Lane 6: EthernetCan you check whether you have DT node links in sysfs for the PCI devices? If you don't, then something is wrong still in the topology or the PCI core is failing to set the DT node pointer in struct device. Though you don't rely on that currently, we want the topology to match. It's possible this never worked on arm/arm64 as mainly powerpc relied on this. I'd like some way to validate the DT matches the PCI topology. We could have a tool that generates the DT structure based on the PCI topology.The of_node node link is on those places: $ find /sys/devices/platform/soc/f4000000.pcie/ -name of_node /sys/devices/platform/soc/f4000000.pcie/of_node /sys/devices/platform/soc/f4000000.pcie/pci0000:00/0000:00:00.0/of_node /sys/devices/platform/soc/f4000000.pcie/pci0000:00/0000:00:00.0/pci_bus/0000:01/of_node /sys/devices/platform/soc/f4000000.pcie/pci0000:00/pci_bus/0000:00/of_node
Looks like we're missing some... It's not immediately obvious to me what's wrong here. Only the root bus is getting it's DT node set. The relevant code is pci_scan_device(), pci_set_of_node() and pci_set_bus_of_node(). Give me a few days to try to reproduce and debug it. In the mean time, I applied the series but haven't pushed it out. Rob