aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2024-01-23 17:35:36 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2024-01-23 17:35:36 +0000
commite9eb353b324a3d051f81dde91d9f9f0fc044d822 (patch)
tree3fbe1710ca203707affa04661d7c9922ea50e2ee /sys/dev/pci
parentc2d4fef658e0dfd998115f1395cd8705b432e3c8 (diff)
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/pci_host_generic.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c
index 90361a7258ed..43b6d26e9217 100644
--- a/sys/dev/pci/pci_host_generic.c
+++ b/sys/dev/pci/pci_host_generic.c
@@ -504,9 +504,19 @@ static int
generic_pcie_activate_resource(device_t dev, device_t child, int type,
int rid, struct resource *r)
{
+#if defined(NEW_PCIB) && defined(PCI_RES_BUS)
+ struct generic_pcie_core_softc *sc;
+#endif
rman_res_t start, end;
int res;
+#if defined(NEW_PCIB) && defined(PCI_RES_BUS)
+ sc = device_get_softc(dev);
+ if (type == PCI_RES_BUS) {
+ return (pci_domain_activate_bus(sc->ecam, child, rid, r));
+ }
+#endif
+
if ((res = rman_activate_resource(r)) != 0)
return (res);
@@ -529,8 +539,17 @@ static int
generic_pcie_deactivate_resource(device_t dev, device_t child, int type,
int rid, struct resource *r)
{
+#if defined(NEW_PCIB) && defined(PCI_RES_BUS)
+ struct generic_pcie_core_softc *sc;
+#endif
int res;
+#if defined(NEW_PCIB) && defined(PCI_RES_BUS)
+ sc = device_get_softc(dev);
+ if (type == PCI_RES_BUS) {
+ return (pci_domain_deactivate_bus(sc->ecam, child, rid, r));
+ }
+#endif
if ((res = rman_deactivate_resource(r)) != 0)
return (res);