aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/pci-opal.c9
-rw-r--r--core/pci.c4
2 files changed, 9 insertions, 4 deletions
diff --git a/core/pci-opal.c b/core/pci-opal.c
index aa375c6..acbcd2a 100644
--- a/core/pci-opal.c
+++ b/core/pci-opal.c
@@ -748,7 +748,8 @@ static void rescan_slot_devices(struct pci_slot *slot)
* prepare_link_change() is called (if needed) by the state
* machine during the slot reset or link polling
*/
- if (phb->phb_type != phb_type_npu_v2_opencapi) {
+ if ((phb->phb_type != phb_type_npu_v2_opencapi) &&
+ (phb->phb_type != phb_type_pau_opencapi)) {
pci_scan_bus(phb, pd->secondary_bus,
pd->subordinate_bus, &pd->children, pd, true);
pci_add_device_nodes(phb, &pd->children, pd->dn,
@@ -766,7 +767,8 @@ static void remove_slot_devices(struct pci_slot *slot)
struct phb *phb = slot->phb;
struct pci_device *pd = slot->pd;
- if (phb->phb_type != phb_type_npu_v2_opencapi)
+ if ((phb->phb_type != phb_type_npu_v2_opencapi) &&
+ (phb->phb_type != phb_type_pau_opencapi))
pci_remove_bus(phb, &pd->children);
else
pci_remove_bus(phb, &phb->devices);
@@ -817,7 +819,8 @@ static bool training_needed(struct pci_slot *slot)
struct pci_device *pd = slot->pd;
/* only for opencapi slots for now */
- if (!pd && phb->phb_type == phb_type_npu_v2_opencapi)
+ if (!pd && ((phb->phb_type == phb_type_npu_v2_opencapi) ||
+ (phb->phb_type == phb_type_pau_opencapi)))
return true;
return false;
}
diff --git a/core/pci.c b/core/pci.c
index e195ecb..0a146c8 100644
--- a/core/pci.c
+++ b/core/pci.c
@@ -1517,7 +1517,9 @@ static void __noinline pci_add_one_device_node(struct phb *phb,
* device has a 4KB config space. It's got nothing to do with the
* standard Type 0/1 config spaces defined by PCI.
*/
- if (is_pcie || phb->phb_type == phb_type_npu_v2_opencapi) {
+ if (is_pcie ||
+ (phb->phb_type == phb_type_npu_v2_opencapi) ||
+ (phb->phb_type == phb_type_pau_opencapi)) {
snprintf(compat, MAX_NAME, "pciex%x,%x",
PCI_VENDOR_ID(pd->vdid), PCI_DEVICE_ID(pd->vdid));
dt_add_property_cells(np, "ibm,pci-config-space-type", 1);