[Skiboot] [PATCH v2] Allow to create slot for downstream port of any switch

Ilya Kuznetsov ilya at yadro.com
Mon Jun 24 23:34:50 AEST 2019


System vendor may build systems with large PCIe tree with
deeper switch topologies. Currenlty downstream ports slot
creation is limited to first switch. Patch allows to use any.

Signed-off-by: Ilya Kuznetsov <ilya at yadro.com>
---
 core/pcie-slot.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/core/pcie-slot.c b/core/pcie-slot.c
index e7013d1e..dc5e4dcb 100644
--- a/core/pcie-slot.c
+++ b/core/pcie-slot.c
@@ -544,13 +544,8 @@ struct pci_slot *pcie_slot_create_dynamic(struct phb *phb,
 	if (!phb || !pd || pd->slot)
 		return NULL;
 
-	/* Try to create slot whose details aren't provided by platform.
-	 * We only care the downstream ports of PCIe switch that connects
-	 * to root port.
-	 */
-	if (pd->dev_type != PCIE_TYPE_SWITCH_DNPORT ||
-	    !pd->parent || !pd->parent->parent ||
-	    pd->parent->parent->parent)
+	/* Try to create slot whose details aren't provided by platform. */
+	if (pd->dev_type != PCIE_TYPE_SWITCH_DNPORT)
 		return NULL;
 
 	ecap = pci_cap(pd, PCI_CFG_CAP_ID_EXP, false);
-- 
2.22.0



More information about the Skiboot mailing list