pci: tegra: Fix port information parsing
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Tue, 20 Jan 2015 17:06:53 +0000 (18:06 +0100)
committerSimon Glass <sjg@chromium.org>
Sat, 24 Jan 2015 00:25:30 +0000 (17:25 -0700)
commit a62e84d7b1824a202dd incorrectly changed the tegra pci code to the
new fdtdec pci helpers. To get the device index of the root port, the
"reg" property should be parsed from the dtb (as was previously the
case).

With this patch i can successfully network boot my jetson tk1

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
drivers/pci/pci_tegra.c

index f9e05ad..67b5fdf 100644 (file)
@@ -459,7 +459,6 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node,
                                      unsigned int *lanes)
 {
        struct fdt_pci_addr addr;
-       pci_dev_t bdf;
        int err;
 
        err = fdtdec_get_int(fdt, node, "nvidia,num-lanes", 0);
@@ -470,13 +469,13 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node,
 
        *lanes = err;
 
-       err = fdtdec_get_pci_bdf(fdt, node, &addr, &bdf);
+       err = fdtdec_get_pci_addr(fdt, node, 0, "reg", &addr);
        if (err < 0) {
                error("failed to parse \"reg\" property");
                return err;
        }
 
-       *index = PCI_DEV(bdf) - 1;
+       *index = PCI_DEV(addr.phys_hi) - 1;
 
        return 0;
 }