From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Roese Date: Thu, 30 Mar 2017 15:39:03 +0200 Subject: [U-Boot] [PATCH 2/3] fix: mvebu: pcie_dw: Allow probing empty PCIe slots In-Reply-To: <1490715395-24751-3-git-send-email-kostap@marvell.com> References: <1490715395-24751-1-git-send-email-kostap@marvell.com> <1490715395-24751-3-git-send-email-kostap@marvell.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 28.03.2017 17:36, kostap at marvell.com wrote: > From: Konstantin Porotchkin > > This patch allows probing all PCIe nodes defined in DTS > even if there no device connected to such node (no link). > Without this fix the driver returns -ENODEV when the PCIe > link is down. As result the pci_init function stops > scanning bus on first empty PCIe slot and all devices > located in higher numbered buses are not discovered. > > Signed-off-by: Konstantin Porotchkin > Cc: Stefan Roese > Cc: Igal Liberman > Cc: Nadav Haklai > --- > drivers/pci/pcie_dw_mvebu.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c > index d4776a9..05a0660 100644 > --- a/drivers/pci/pcie_dw_mvebu.c > +++ b/drivers/pci/pcie_dw_mvebu.c > @@ -487,13 +487,13 @@ static int pcie_dw_mvebu_probe(struct udevice *dev) > /* Don't register host if link is down */ > if (!pcie_dw_mvebu_pcie_link_up(pcie->ctrl_base, LINK_SPEED_GEN_3)) { > printf("PCIE-%d: Link down\n", dev->seq); > - return -ENODEV; > + } else { > + printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev->seq, > + pcie_dw_get_link_speed(pcie->ctrl_base), > + pcie_dw_get_link_width(pcie->ctrl_base), > + hose->first_busno); > } > > - printf("PCIE-%d: Link up (Gen%d-x%d, Bus%d)\n", dev->seq, > - pcie_dw_get_link_speed(pcie->ctrl_base), > - pcie_dw_get_link_width(pcie->ctrl_base), hose->first_busno); > - > pcie_dw_regions_setup(pcie); > > /* Set the CLASS_REV of RC CFG header to PCI_CLASS_BRIDGE_PCI */ > Reviewed-by: Stefan Roese Thanks, Stefan