summaryrefslogtreecommitdiffstats
path: root/sys/dev/fdt
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2021-02-28 21:06:58 +0000
committerpatrick <patrick@openbsd.org>2021-02-28 21:06:58 +0000
commit19800b49477abc7e4c7112b3baecafcf009ff243 (patch)
treedf3b0d8121b327feaded219234382101412c353d /sys/dev/fdt
parentRename addr to gateway. (diff)
downloadwireguard-openbsd-19800b49477abc7e4c7112b3baecafcf009ff243.tar.xz
wireguard-openbsd-19800b49477abc7e4c7112b3baecafcf009ff243.zip
Issue call to IOMMU OFW API to collect an IOMMU-sprinkled DMA tag.
ok kettenis@
Diffstat (limited to 'sys/dev/fdt')
-rw-r--r--sys/dev/fdt/dwpcie.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/fdt/dwpcie.c b/sys/dev/fdt/dwpcie.c
index 70637fc9b4c..9da14732dbc 100644
--- a/sys/dev/fdt/dwpcie.c
+++ b/sys/dev/fdt/dwpcie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dwpcie.c,v 1.25 2021/02/25 23:07:49 patrick Exp $ */
+/* $OpenBSD: dwpcie.c,v 1.26 2021/02/28 21:06:58 patrick Exp $ */
/*
* Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
*
@@ -1135,6 +1135,12 @@ dwpcie_conf_write(void *v, pcitag_t tag, int reg, pcireg_t data)
int
dwpcie_probe_device_hook(void *v, struct pci_attach_args *pa)
{
+ struct dwpcie_softc *sc = v;
+ uint16_t rid;
+
+ rid = pci_requester_id(pa->pa_pc, pa->pa_tag);
+ pa->pa_dmat = iommu_device_map_pci(sc->sc_node, rid, pa->pa_dmat);
+
return 0;
}