aboutsummaryrefslogtreecommitdiff
path: root/hw/phb4.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-06-06 08:59:21 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-06 20:49:05 +1000
commit1fac18610fc03f4f9cb7cae1ce77a8ef7c06d4a6 (patch)
tree6e02e6aaf9df37aa7f77eb11c884acee1fb439e0 /hw/phb4.c
parent5bbbb398544ae2869d1c1818280cd97f537d8cb9 (diff)
downloadskiboot-1fac18610fc03f4f9cb7cae1ce77a8ef7c06d4a6.zip
skiboot-1fac18610fc03f4f9cb7cae1ce77a8ef7c06d4a6.tar.gz
skiboot-1fac18610fc03f4f9cb7cae1ce77a8ef7c06d4a6.tar.bz2
phb4: Call pci config filters
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/phb4.c')
-rw-r--r--hw/phb4.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hw/phb4.c b/hw/phb4.c
index e4a90a6..0f57833 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -325,6 +325,12 @@ static int64_t phb4_pcicfg_read(struct phb4 *p, uint32_t bdfn,
return OPAL_HARDWARE;
}
+ /* Handle per-device filters */
+ rc = pci_handle_cfg_filters(&p->phb, bdfn, offset, size,
+ (uint32_t *)data, false);
+ if (rc != OPAL_PARTIAL)
+ return rc;
+
/* Handle root complex MMIO based config space */
if (bdfn == 0)
return phb4_rc_read(p, offset, size, data);
@@ -428,6 +434,12 @@ static int64_t phb4_pcicfg_write(struct phb4 *p, uint32_t bdfn,
return OPAL_HARDWARE;
}
+ /* Handle per-device filters */
+ rc = pci_handle_cfg_filters(&p->phb, bdfn, offset, size,
+ (uint32_t *)&data, true);
+ if (rc != OPAL_PARTIAL)
+ return rc;
+
/* Handle root complex MMIO based config space */
if (bdfn == 0)
return phb4_rc_write(p, offset, size, data);