linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: iproc: Fix BCMA PCIe bus scanning regression
@ 2016-01-20 22:55 Ray Jui
  2016-01-26 18:22 ` Bjorn Helgaas
  0 siblings, 1 reply; 5+ messages in thread
From: Ray Jui @ 2016-01-20 22:55 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Rafal Milecki, Hante Meuleman, Hauke Mehrtens, linux-kernel,
	bcm-kernel-feedback-list, linux-pci, Ray Jui

Commit 943ebae781f5 ("PCI: iproc: Add PAXC interface support") causes
regression on EP device detection on BCMA based platforms. This patch
fixes the issue by allowing multiple devices to be configured on the
same bus, for all PAXB based child buses

Reported-by: Rafal Milecki <zajec5@gmail.com>
Fixes: 943ebae781f5 ("PCI: iproc: Add PAXC interface support")
Signed-off-by: Ray Jui <rjui@broadcom.com>
---
 drivers/pci/host/pcie-iproc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/host/pcie-iproc.c b/drivers/pci/host/pcie-iproc.c
index 5816bce..4627561 100644
--- a/drivers/pci/host/pcie-iproc.c
+++ b/drivers/pci/host/pcie-iproc.c
@@ -171,10 +171,11 @@ static inline void iproc_pcie_ob_write(struct iproc_pcie *pcie,
 }
 
 static inline bool iproc_pcie_device_is_valid(struct iproc_pcie *pcie,
+					      unsigned int busnum,
 					      unsigned int slot,
 					      unsigned int fn)
 {
-	if (slot > 0)
+	if ((pcie->type == IPROC_PCIE_PAXC || busnum == 0) && slot > 0)
 		return false;
 
 	/* PAXC can only support limited number of functions */
@@ -199,7 +200,7 @@ static void __iomem *iproc_pcie_map_cfg_bus(struct pci_bus *bus,
 	u32 val;
 	u16 offset;
 
-	if (!iproc_pcie_device_is_valid(pcie, slot, fn))
+	if (!iproc_pcie_device_is_valid(pcie, busno, slot, fn))
 		return NULL;
 
 	/* root complex access */
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-26 22:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-20 22:55 [PATCH] PCI: iproc: Fix BCMA PCIe bus scanning regression Ray Jui
2016-01-26 18:22 ` Bjorn Helgaas
2016-01-26 18:37   ` Ray Jui
2016-01-26 21:54     ` Bjorn Helgaas
2016-01-26 22:39       ` Ray Jui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).