From 55d339a1a9263f95d20f6683d1edb200130f06fc Mon Sep 17 00:00:00 2001
From: Michael Neumann <mneumann@ntecs.de>
Date: Sat, 9 Dec 2023 02:46:00 +0100
Subject: [PATCH] busdma - Remove filter functionality

- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and
  fix all callers. All callers use NULL today for both filterfunc and
  filterarg with one exception: if_jme.

- Remove filter functionality internally and parent tag tracking.
  Without filter functions, we do not need to keep track of tag
  ancestry.  All inheritance of the parent tag's parameters occurs when
  creating the new child tag.

- rename run_filter() to addr_needs_bounce().

- FreeBSD keeps the filtfunc and filtarg arguments but requires them to
  be NULL.

- Drop filterfunc usage from if_jme. It should use 32bit DMA addressing,
  in which case no filterfunc is required. There seems to be a hardware
  "bug" in one specific chip revision concerning DMA transfers that
  cross the 4 GB boundary... if we stay within 32bits there should be no
  problem. A better fix would be to check the chip revision and only
  apply the limitations when we really have to.

  TODO: This needs some more careful review. Anyone using if_jme?

Mainly obtained from: FreeBSD (commits 7cb028de, 900907f4, 1228b93b, 3933ff56)
---
 share/man/man9/bus_dma.9                      | 52 ++------------
 sys/bus/firewire/fwdma.c                      |  6 +-
 sys/bus/firewire/fwohci.c                     |  2 +
 sys/bus/firewire/fwohci_pci.c                 |  2 +
 sys/bus/u4b/usb_busdma.c                      |  2 -
 sys/dev/crypto/hifn/hifn7751.c                |  1 -
 sys/dev/crypto/safe/safe.c                    |  3 -
 sys/dev/crypto/ubsec/ubsec.c                  |  2 -
 sys/dev/disk/advansys/adv_pci.c               |  2 -
 sys/dev/disk/advansys/advansys.c              |  2 -
 sys/dev/disk/advansys/adw_pci.c               |  1 -
 sys/dev/disk/advansys/adwcam.c                |  4 --
 sys/dev/disk/ahci/ahci_attach.c               |  8 ---
 sys/dev/disk/amd/amd.c                        |  1 -
 sys/dev/disk/buslogic/bt.c                    |  8 ---
 sys/dev/disk/buslogic/bt_pci.c                |  2 -
 sys/dev/disk/isp/isp_freebsd.h                |  8 ++-
 sys/dev/disk/mpt/mpt.h                        |  2 +-
 sys/dev/disk/nata/ata-dma.c                   |  8 +--
 sys/dev/disk/nvme/nvme_attach.c               |  8 ---
 sys/dev/disk/sbp/sbp.c                        |  2 +
 sys/dev/disk/sdhci/sdhci.c                    |  2 +-
 sys/dev/disk/sili/sili_attach.c               |  4 --
 sys/dev/disk/sym/sym_hipd.c                   |  3 +-
 sys/dev/disk/trm/trm.c                        |  7 --
 sys/dev/misc/dcons/dcons_crom.c               |  1 -
 sys/dev/netif/ae/if_ae.c                      |  1 -
 sys/dev/netif/age/if_age.c                    |  9 ---
 sys/dev/netif/alc/if_alc.c                    |  9 ---
 sys/dev/netif/ale/if_ale.c                    |  7 --
 sys/dev/netif/ath/ath/if_ath_ahb.c            |  3 +
 sys/dev/netif/ath/ath/if_ath_descdma.c        |  3 +
 sys/dev/netif/ath/ath/if_ath_pci.c            |  3 +
 sys/dev/netif/bce/if_bce.c                    | 10 ++-
 sys/dev/netif/bfe/if_bfe.c                    |  3 -
 sys/dev/netif/bge/if_bge.c                    |  4 +-
 sys/dev/netif/bnx/if_bnx.c                    |  6 +-
 sys/dev/netif/bwn/bwn/if_bwn.c                | 10 +++
 sys/dev/netif/de/if_de.c                      |  6 +-
 sys/dev/netif/em/if_em.c                      |  3 -
 sys/dev/netif/emx/if_emx.c                    |  3 -
 sys/dev/netif/et/if_et.c                      |  3 -
 sys/dev/netif/igb/if_igb.c                    |  4 +-
 sys/dev/netif/iwi/if_iwi.c                    | 10 +--
 sys/dev/netif/iwm/if_iwm.c                    |  2 -
 sys/dev/netif/iwn/if_iwn.c                    |  6 +-
 sys/dev/netif/ix/if_ix.c                      |  4 +-
 sys/dev/netif/jme/if_jme.c                    | 26 +++++--
 sys/dev/netif/lnc/if_lnc_pci.c                |  2 -
 sys/dev/netif/msk/if_msk.c                    |  6 --
 sys/dev/netif/mxge/if_mxge.c                  |  4 --
 sys/dev/netif/nfe/if_nfe.c                    |  3 -
 sys/dev/netif/oce/oce_queue.c                 |  2 -
 sys/dev/netif/oce/oce_util.c                  |  2 -
 sys/dev/netif/ral/rt2560.c                    |  8 +--
 sys/dev/netif/ral/rt2661.c                    |  8 +--
 sys/dev/netif/ral/rt2860.c                    |  8 +--
 sys/dev/netif/re/if_re.c                      |  3 -
 sys/dev/netif/re/re.c                         |  2 +-
 sys/dev/netif/rl/if_rl.c                      |  2 -
 sys/dev/netif/sis/if_sis.c                    |  3 -
 sys/dev/netif/sk/if_sk.c                      |  5 --
 sys/dev/netif/stge/if_stge.c                  |  3 -
 sys/dev/netif/vge/if_vge.c                    |  4 --
 sys/dev/netif/wpi/if_wpi.c                    |  6 +-
 sys/dev/netif/xl/if_xl.c                      |  3 -
 sys/dev/raid/aac/aac.c                        |  3 -
 sys/dev/raid/aac/aac_pci.c                    |  1 -
 sys/dev/raid/amr/amr_pci.c                    |  6 --
 sys/dev/raid/arcmsr/arcmsr.c                  |  6 --
 sys/dev/raid/asr/asr.c                        |  2 -
 sys/dev/raid/ciss/ciss.c                      |  4 --
 sys/dev/raid/dpt/dpt_pci.c                    |  2 -
 sys/dev/raid/dpt/dpt_scsi.c                   |  3 -
 sys/dev/raid/hpt27xx/hpt27xx_osm_bsd.c        |  1 -
 sys/dev/raid/hptiop/hptiop.c                  |  5 --
 sys/dev/raid/hptmv/entry.c                    |  1 -
 sys/dev/raid/hptrr/hptrr_osm_bsd.c            |  1 -
 sys/dev/raid/ida/ida.c                        |  2 -
 sys/dev/raid/ida/ida_pci.c                    |  2 +-
 sys/dev/raid/iir/iir.c                        |  3 -
 sys/dev/raid/iir/iir_pci.c                    |  1 -
 sys/dev/raid/ips/ips.c                        |  6 --
 sys/dev/raid/ips/ips_commands.c               |  6 --
 sys/dev/raid/ips/ips_ioctl.c                  |  2 -
 sys/dev/raid/ips/ips_pci.c                    |  2 -
 sys/dev/raid/mfi/mfi.c                        |  9 ---
 sys/dev/raid/mfi/mfi_pci.c                    |  1 -
 sys/dev/raid/mlx/mlx.c                        |  2 -
 sys/dev/raid/mlx/mlx_pci.c                    |  1 -
 sys/dev/raid/mly/mly.c                        |  5 --
 sys/dev/raid/mpr/mpr.c                        |  7 --
 sys/dev/raid/mpr/mpr_pci.c                    |  1 -
 sys/dev/raid/mpr/mpr_user.c                   |  1 -
 sys/dev/raid/mps/mps.c                        |  6 --
 sys/dev/raid/mps/mps_pci.c                    |  1 -
 sys/dev/raid/mps/mps_user.c                   |  1 -
 sys/dev/raid/mrsas/mrsas.c                    | 13 ----
 sys/dev/raid/mrsas/mrsas_ioctl.c              |  3 -
 sys/dev/raid/twa/tw_osl_freebsd.c             |  4 --
 sys/dev/raid/twe/twe_freebsd.c                |  4 --
 sys/dev/raid/tws/tws.c                        |  3 -
 sys/dev/sound/pci/als4000.c                   |  1 -
 sys/dev/sound/pci/atiixp.c                    |  2 -
 sys/dev/sound/pci/aureal.c                    |  1 -
 sys/dev/sound/pci/cmi.c                       |  1 -
 sys/dev/sound/pci/cs4281.c                    |  1 -
 sys/dev/sound/pci/emu10k1.c                   |  1 -
 sys/dev/sound/pci/emu10kx.c                   |  1 -
 sys/dev/sound/pci/envy24.c                    |  1 -
 sys/dev/sound/pci/envy24ht.c                  |  1 -
 sys/dev/sound/pci/es137x.c                    |  1 -
 sys/dev/sound/pci/fm801.c                     |  1 -
 sys/dev/sound/pci/hda/hdac.c                  |  4 --
 sys/dev/sound/pci/hdspe.c                     |  2 -
 sys/dev/sound/pci/ich.c                       |  4 +-
 sys/dev/sound/pci/maestro.c                   |  2 -
 sys/dev/sound/pci/solo.c                      |  1 -
 sys/dev/sound/pci/t4dwave.c                   |  1 -
 sys/dev/sound/pci/via8233.c                   |  2 -
 sys/dev/sound/pci/via82c686.c                 |  2 -
 sys/dev/sound/pci/vibes.c                     |  1 -
 sys/dev/video/cxm/cxm.c                       |  6 +-
 sys/dev/virtual/amazon/ena/ena.c              |  3 -
 sys/dev/virtual/vmware/pvscsi/pvscsi.c        |  6 +-
 sys/dev/virtual/vmware/vmxnet3/if_vmx.c       |  3 -
 sys/kern/subr_busdma.c                        |  2 +-
 sys/netproto/802_11/README.DRAGONFLY          |  1 -
 sys/platform/pc64/x86_64/busdma_machdep.c     | 72 +++++--------------
 .../vkernel64/platform/busdma_machdep.c       | 70 +++++-------------
 sys/sys/bus_dma.h                             | 14 +---
 131 files changed, 150 insertions(+), 531 deletions(-)

diff --git a/share/man/man9/bus_dma.9 b/share/man/man9/bus_dma.9
index 66a4e83042..a680a14b8b 100644
--- a/share/man/man9/bus_dma.9
+++ b/share/man/man9/bus_dma.9
@@ -69,7 +69,7 @@
 .\" $FreeBSD: /repoman/r/ncvs/src/share/man/man9/bus_dma.9,v 1.7 2003/07/27 14:05:29 mux Exp $
 .\" $NetBSD: bus_dma.9,v 1.25 2002/10/14 13:43:16 wiz Exp $
 .\"
-.Dd January 27, 2018
+.Dd December 09, 2023
 .Dt BUS_DMA 9
 .Os
 .Sh NAME
@@ -96,8 +96,8 @@
 .Ft int
 .Fn bus_dma_tag_create "bus_dma_tag_t parent" "bus_size_t alignment" \
 "bus_size_t boundary" "bus_addr_t lowaddr" "bus_addr_t highaddr" \
-"bus_dma_filter_t *filtfunc" "void *filtfuncarg" "bus_size_t maxsize" \
-"int nsegments" "bus_size_t maxsegsz" "int flags" "bus_dma_tag_t *dmat"
+"bus_size_t maxsize" "int nsegments" "bus_size_t maxsegsz" \
+"int flags" "bus_dma_tag_t *dmat"
 .Ft int
 .Fn bus_dma_tag_destroy "bus_dma_tag_t dmat"
 .Ft int
@@ -170,30 +170,6 @@ DMA tags are organized into a hierarchy, with each child
 tag inheriting the restrictions of its parent.
 This allows all devices along the path of DMA transactions
 to contribute to the constraints of those transactions.
-.It Vt bus_dma_filter_t
-Client specified address filter having the format:
-.Bl -tag -width compact
-.It Ft int
-.Fn "client_filter" "void *filtarg" "bus_addr_t testaddr"
-.El
-.sp
-Address filters can be specified during tag creation to allow
-for devices who's DMA address restrictions cannot be specified
-by a single window.
-The
-.Fa filtarg
-is client specified during tag creation to be passed to all
-invocations of the callback.
-The
-.Fa testaddr
-argument contains a potential starting address of a DMA mapping.
-The filter function operates on the set of addresses from
-.Fa testaddr
-to
-.Ql trunc_page(testaddr) + PAGE_SIZE - 1 ,
-inclusive.
-The filter function should return zero for any mapping in this range
-that can be accommodated by the device and non-zero otherwise.
 .It Vt bus_dma_segment_t
 A machine-dependent type that describes individual
 DMA segments.
@@ -316,11 +292,10 @@ to CPU access of the memory.
 .Sh FUNCTIONS
 .Bl -tag -width compact
 .It Fn bus_dma_tag_create "parent" "alignment" "boundary" "lowaddr" \
-"highaddr" "*filtfunc" "*filtfuncarg" "maxsize" "nsegments" "maxsegsz" \
-"flags" "*dmat"
+"highaddr" "maxsize" "nsegments" "maxsegsz" "flags" "*dmat"
 Allocates a device specific DMA tag, and initializes it according to
 the arguments provided:
-.Bl -tag -width *filtfuncarg -compact
+.Bl -tag -width alignment -compact
 .It Fa parent
 Indicates restrictions between the parent bridge, CPU memory, and the
 device.
@@ -366,23 +341,6 @@ This area of
 .Ql safe memory
 is used to bounce requests that would otherwise conflict with
 the exclusion window.
-.It Fa filtfunc
-Optional filter function (may be NULL) to be called for any attempt to
-map memory into the window described by
-.Fa lowaddr
-and
-.Fa highaddr .
-A filter function is only required when the single window described
-by
-.Fa lowaddr
-and
-.Fa highaddr
-cannot adequately describe the constraints of the device.
-The filter function will be called for every machine page
-that overlaps the exclusion window.
-.It Fa filtfuncarg
-Argument passed to all calls to the filter function for this tag.
-May be NULL.
 .It Fa maxsize
 Maximum size, in bytes, of the sum of all segment lengths in a given
 DMA mapping associated with this tag.
diff --git a/sys/bus/firewire/fwdma.c b/sys/bus/firewire/fwdma.c
index ba6460273d..e27419c334 100644
--- a/sys/bus/firewire/fwdma.c
+++ b/sys/bus/firewire/fwdma.c
@@ -74,7 +74,9 @@ fwdma_malloc(struct firewire_comm *fc, int alignment, bus_size_t size,
 		/*boundary*/ 0,
 		/*lowaddr*/ BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/ BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
+#if defined(__FreeBSD__)
+        /*filter*/NULL, /*filterarg*/NULL,
+#endif
 		/*maxsize*/ size,
 		/*nsegments*/ 1,
 		/*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT,
@@ -168,7 +170,9 @@ fwdma_malloc_multiseg(struct firewire_comm *fc, int alignment,
 			/*boundary*/ 0,
 			/*lowaddr*/ BUS_SPACE_MAXADDR_32BIT,
 			/*highaddr*/ BUS_SPACE_MAXADDR,
+#if defined(__FreeBSD__)
 			/*filter*/NULL, /*filterarg*/NULL,
+#endif
 			/*maxsize*/ ssize,
 			/*nsegments*/ 1,
 			/*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/bus/firewire/fwohci.c b/sys/bus/firewire/fwohci.c
index 0eea9b2bc2..9e963968de 100644
--- a/sys/bus/firewire/fwohci.c
+++ b/sys/bus/firewire/fwohci.c
@@ -1196,7 +1196,9 @@ fwohci_db_init(struct fwohci_softc *sc, struct fwohci_dbch *dbch)
 			/*alignment*/ 1, /*boundary*/ 0,
 			/*lowaddr*/ BUS_SPACE_MAXADDR_32BIT,
 			/*highaddr*/ BUS_SPACE_MAXADDR,
+#if defined(__FreeBSD__)
 			/*filter*/NULL, /*filterarg*/NULL,
+#endif
 			/*maxsize*/ dbch->xferq.psize,
 			/*nsegments*/ dbch->ndesc > 3 ? dbch->ndesc - 2 : 1,
 			/*maxsegsz*/ MAX_REQCOUNT,
diff --git a/sys/bus/firewire/fwohci_pci.c b/sys/bus/firewire/fwohci_pci.c
index d896caf9b2..85b99b2cbd 100644
--- a/sys/bus/firewire/fwohci_pci.c
+++ b/sys/bus/firewire/fwohci_pci.c
@@ -305,7 +305,9 @@ fwohci_pci_attach(device_t self)
 				/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 #endif
 				/*highaddr*/BUS_SPACE_MAXADDR,
+#if defined(__FreeBSD__)
 				/*filter*/NULL, /*filterarg*/NULL,
+#endif
 				/*maxsize*/0x100000,
 				/*nsegments*/0x20,
 				/*maxsegsz*/0x8000,
diff --git a/sys/bus/u4b/usb_busdma.c b/sys/bus/u4b/usb_busdma.c
index a89c4a00b0..124b4bfe13 100644
--- a/sys/bus/u4b/usb_busdma.c
+++ b/sys/bus/u4b/usb_busdma.c
@@ -360,8 +360,6 @@ usb_dma_tag_create(struct usb_dma_tag *udt,
 	     /* boundary  */ 0,
 	     /* lowaddr   */ (2ULL << (udt->tag_parent->dma_bits - 1)) - 1,
 	     /* highaddr  */ BUS_SPACE_MAXADDR,
-	     /* filter    */ NULL,
-	     /* filterarg */ NULL,
 	     /* maxsize   */ size,
 	     /* nsegments */ (align == 1 && size > 1) ? (2 + (size / USB_PAGE_SIZE)) : 1,
 	     /* maxsegsz  */ (align == 1 && size > USB_PAGE_SIZE) ? USB_PAGE_SIZE : size,
diff --git a/sys/dev/crypto/hifn/hifn7751.c b/sys/dev/crypto/hifn/hifn7751.c
index 7412aa0ff1..c7bb6f59ac 100644
--- a/sys/dev/crypto/hifn/hifn7751.c
+++ b/sys/dev/crypto/hifn/hifn7751.c
@@ -453,7 +453,6 @@ hifn_attach(device_t dev)
 			       1, 0,			/* alignment,boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       HIFN_MAX_DMALEN,		/* maxsize */
 			       MAX_SCATTER,		/* nsegments */
 			       HIFN_MAX_SEGLEN,		/* maxsegsize */
diff --git a/sys/dev/crypto/safe/safe.c b/sys/dev/crypto/safe/safe.c
index 160e921d36..e4db4d55ad 100644
--- a/sys/dev/crypto/safe/safe.c
+++ b/sys/dev/crypto/safe/safe.c
@@ -292,7 +292,6 @@ safe_attach(device_t dev)
 			       SAFE_DMA_BOUNDARY,	/* boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       SAFE_MAX_DMA,		/* maxsize */
 			       SAFE_MAX_PART,		/* nsegments */
 			       SAFE_MAX_SSIZE,		/* maxsegsize */
@@ -306,7 +305,6 @@ safe_attach(device_t dev)
 			       SAFE_MAX_DSIZE,		/* boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       SAFE_MAX_DMA,		/* maxsize */
 			       SAFE_MAX_PART,		/* nsegments */
 			       SAFE_MAX_DSIZE,		/* maxsegsize */
@@ -1803,7 +1801,6 @@ safe_dma_malloc(
 			       sizeof(u_int32_t), 0,	/* alignment, bounds */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       size,			/* maxsize */
 			       1,			/* nsegments */
 			       size,			/* maxsegsize */
diff --git a/sys/dev/crypto/ubsec/ubsec.c b/sys/dev/crypto/ubsec/ubsec.c
index 0659c4064c..a4acf7a192 100644
--- a/sys/dev/crypto/ubsec/ubsec.c
+++ b/sys/dev/crypto/ubsec/ubsec.c
@@ -374,7 +374,6 @@ ubsec_attach(device_t dev)
 			       1, 0,			/* alignment, bounds */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       0x3ffff,			/* maxsize */
 			       UBS_MAX_SCATTER,		/* nsegments */
 			       0xffff,			/* maxsegsize */
@@ -1847,7 +1846,6 @@ ubsec_dma_malloc(
 			       1, 0,			/* alignment, bounds */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       size,			/* maxsize */
 			       1,			/* nsegments */
 			       size,			/* maxsegsize */
diff --git a/sys/dev/disk/advansys/adv_pci.c b/sys/dev/disk/advansys/adv_pci.c
index 015966fbdc..34f5d2a07a 100644
--- a/sys/dev/disk/advansys/adv_pci.c
+++ b/sys/dev/disk/advansys/adv_pci.c
@@ -185,7 +185,6 @@ adv_pci_attach(device_t dev)
 				   /*boundary*/0,
 				   /*lowaddr*/ADV_PCI_MAX_DMA_ADDR,
 				   /*highaddr*/BUS_SPACE_MAXADDR,
-				   /*filter*/NULL, /*filterarg*/NULL,
 				   /*maxsize*/BUS_SPACE_MAXSIZE_32BIT,
 				   /*nsegments*/BUS_SPACE_UNRESTRICTED,
 				   /*maxsegsz*/ADV_PCI_MAX_DMA_COUNT,
@@ -207,7 +206,6 @@ adv_pci_attach(device_t dev)
 		if (bus_dma_tag_create(adv->parent_dmat,
 				       /*alignment*/8, /*boundary*/0,
 				       ADV_PCI_MAX_DMA_ADDR, BUS_SPACE_MAXADDR,
-				       /*filter*/NULL, /*filterarg*/NULL,
 				       ADV_OVERRUN_BSIZE, /*nsegments*/1,
 				       BUS_SPACE_MAXSIZE_32BIT, /*flags*/0,
 				       &overrun_dmat) != 0) {
diff --git a/sys/dev/disk/advansys/advansys.c b/sys/dev/disk/advansys/advansys.c
index 6180b8db9c..762e6dd567 100644
--- a/sys/dev/disk/advansys/advansys.c
+++ b/sys/dev/disk/advansys/advansys.c
@@ -1329,7 +1329,6 @@ adv_attach(struct adv_softc *adv)
 	if (bus_dma_tag_create(adv->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/MAXPHYS,
 			       /*nsegments*/max_sg,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
@@ -1343,7 +1342,6 @@ adv_attach(struct adv_softc *adv)
 	if (bus_dma_tag_create(adv->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       sizeof(struct scsi_sense_data)*adv->max_openings,
 			       /*nsegments*/1,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/disk/advansys/adw_pci.c b/sys/dev/disk/advansys/adw_pci.c
index 3fa0f736b7..aa0cc4bceb 100644
--- a/sys/dev/disk/advansys/adw_pci.c
+++ b/sys/dev/disk/advansys/adw_pci.c
@@ -254,7 +254,6 @@ adw_pci_attach(device_t dev)
 				   /*boundary*/0,
 				   /*lowaddr*/ADW_PCI_MAX_DMA_ADDR,
 				   /*highaddr*/BUS_SPACE_MAXADDR,
-				   /*filter*/NULL, /*filterarg*/NULL,
 				   /*maxsize*/BUS_SPACE_MAXSIZE_32BIT,
 				   /*nsegments*/BUS_SPACE_UNRESTRICTED,
 				   /*maxsegsz*/ADW_PCI_MAX_DMA_COUNT,
diff --git a/sys/dev/disk/advansys/adwcam.c b/sys/dev/disk/advansys/adwcam.c
index 1debf2e278..5a15c11ffd 100644
--- a/sys/dev/disk/advansys/adwcam.c
+++ b/sys/dev/disk/advansys/adwcam.c
@@ -1025,7 +1025,6 @@ adw_init(struct adw_softc *adw)
 	if (bus_dma_tag_create(adw->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/MAXBSIZE, /*nsegments*/ADW_SGSIZE,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
 			       /*flags*/BUS_DMA_ALLOCNOW,
@@ -1040,7 +1039,6 @@ adw_init(struct adw_softc *adw)
 			       /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       (adw->max_acbs + ADW_NUM_CARRIER_QUEUES + 1)
 				* sizeof(struct adw_carrier),
 			       /*nsegments*/1,
@@ -1095,7 +1093,6 @@ adw_init(struct adw_softc *adw)
 	if (bus_dma_tag_create(adw->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       adw->max_acbs * sizeof(struct acb),
 			       /*nsegments*/1,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
@@ -1125,7 +1122,6 @@ adw_init(struct adw_softc *adw)
 	if (bus_dma_tag_create(adw->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       PAGE_SIZE, /*nsegments*/1,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
 			       /*flags*/0, &adw->sg_dmat) != 0) {
diff --git a/sys/dev/disk/ahci/ahci_attach.c b/sys/dev/disk/ahci/ahci_attach.c
index 21a8822072..df0d8e08bb 100644
--- a/sys/dev/disk/ahci/ahci_attach.c
+++ b/sys/dev/disk/ahci/ahci_attach.c
@@ -359,8 +359,6 @@ ahci_pci_attach(device_t dev)
 			PAGE_SIZE,			/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->sc_rfis_size,		/* [max]size */
 			1,				/* maxsegs */
 			sc->sc_rfis_size,		/* maxsegsz */
@@ -375,8 +373,6 @@ ahci_pci_attach(device_t dev)
 			4096 * 1024,			/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->sc_cmdlist_size,
 			1,				/* maxsegs */
 			sc->sc_cmdlist_size,
@@ -392,8 +388,6 @@ ahci_pci_attach(device_t dev)
 			4096 * 1024,			/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->sc_ncmds * sizeof(struct ahci_cmd_table),
 			1,				/* maxsegs */
 			sc->sc_ncmds * sizeof(struct ahci_cmd_table),
@@ -410,8 +404,6 @@ ahci_pci_attach(device_t dev)
 			0,				/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			4096 * 1024,			/* maxiosize */
 			AHCI_MAX_PRDT,			/* maxsegs */
 			65536,				/* maxsegsz */
diff --git a/sys/dev/disk/amd/amd.c b/sys/dev/disk/amd/amd.c
index e2c8c89294..3a21ebd7e8 100644
--- a/sys/dev/disk/amd/amd.c
+++ b/sys/dev/disk/amd/amd.c
@@ -2294,7 +2294,6 @@ amd_init(device_t dev)
 			       /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/MAXBSIZE, /*nsegments*/AMD_NSEG,
 			       /*maxsegsz*/AMD_MAXTRANSFER_SIZE,
 			       /*flags*/BUS_DMA_ALLOCNOW,
diff --git a/sys/dev/disk/buslogic/bt.c b/sys/dev/disk/buslogic/bt.c
index d7d7b29624..f7859428b5 100644
--- a/sys/dev/disk/buslogic/bt.c
+++ b/sys/dev/disk/buslogic/bt.c
@@ -614,8 +614,6 @@ bt_init(device_t dev)
 				/* boundary	*/ 0,
 				/* lowaddr	*/ BUS_SPACE_MAXADDR,
 				/* highaddr	*/ BUS_SPACE_MAXADDR,
-				/* filter	*/ NULL,
-				/* filterarg	*/ NULL,
 				/* maxsize	*/ MAXBSIZE,
 				/* nsegments	*/ BT_NSEG,
 				/* maxsegsz	*/ BUS_SPACE_MAXSIZE_32BIT,
@@ -631,8 +629,6 @@ bt_init(device_t dev)
 				/* boundary	*/ 0,
 				/* lowaddr	*/ BUS_SPACE_MAXADDR,
 				/* highaddr	*/ BUS_SPACE_MAXADDR,
-				/* filter	*/ NULL,
-				/* filterarg	*/ NULL,
 				/* maxsize	*/ bt->num_boxes *
 						   (sizeof(bt_mbox_in_t) +
 						    sizeof(bt_mbox_out_t)),
@@ -674,8 +670,6 @@ bt_init(device_t dev)
 				/* boundary	*/ 0,
 				/* lowaddr	*/ BUS_SPACE_MAXADDR,
 				/* highaddr	*/ BUS_SPACE_MAXADDR,
-				/* filter	*/ NULL,
-				/* filterarg	*/ NULL,
 				/* maxsize	*/ bt->max_ccbs *
 						   sizeof(struct bt_ccb),
 				/* nsegments	*/ 1,
@@ -709,8 +703,6 @@ bt_init(device_t dev)
 				/* boundary	*/ 0,
 				/* lowaddr	*/ BUS_SPACE_MAXADDR,
 				/* highaddr	*/ BUS_SPACE_MAXADDR,
-				/* filter	*/ NULL,
-				/* filterarg	*/ NULL,
 				/* maxsize	*/ PAGE_SIZE,
 				/* nsegments	*/ 1,
 				/* maxsegsz	*/ BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/disk/buslogic/bt_pci.c b/sys/dev/disk/buslogic/bt_pci.c
index 7d78596efe..fa63788bbf 100644
--- a/sys/dev/disk/buslogic/bt_pci.c
+++ b/sys/dev/disk/buslogic/bt_pci.c
@@ -135,8 +135,6 @@ bt_pci_attach(device_t dev)
 				/* boundary	*/ 0,
 				/* lowaddr	*/ BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr	*/ BUS_SPACE_MAXADDR,
-				/* filter	*/ NULL,
-				/* filterarg	*/ NULL,
 				/* maxsize	*/ BUS_SPACE_MAXSIZE_32BIT,
 				/* nsegments	*/ ~0,
 				/* maxsegsz	*/ BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/disk/isp/isp_freebsd.h b/sys/dev/disk/isp/isp_freebsd.h
index 83f1578d96..b7aea29424 100644
--- a/sys/dev/disk/isp/isp_freebsd.h
+++ b/sys/dev/disk/isp/isp_freebsd.h
@@ -644,8 +644,12 @@ void isp_common_dmateardown(ispsoftc_t *, struct ccb_scsiio *, uint32_t);
  * Platform Version specific defines
  */
 #define	BUS_DMA_ROOTARG(x)	bus_get_dma_tag(x)
-#define	isp_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z)	\
-	bus_dma_tag_create(a, b, c, d, e, f, g, h, i, j, k, z)
+#define	isp_dma_tag_create(parent_tag, alignment, boundary, \
+			lowaddr, highaddr, _filter, _filterarg, \
+			maxsize, nsegments, maxsegsz, flags, dma_tagp)	\
+        bus_dma_tag_create(parent_tag, alignment, boundary, \
+			lowaddr, highaddr, maxsize, nsegments, maxsegsz, \
+			flags, dma_tagp)
 
 #define	isp_setup_intr	bus_setup_intr
 
diff --git a/sys/dev/disk/mpt/mpt.h b/sys/dev/disk/mpt/mpt.h
index fb9c31b3ed..6d15659447 100644
--- a/sys/dev/disk/mpt/mpt.h
+++ b/sys/dev/disk/mpt/mpt.h
@@ -214,7 +214,7 @@ int mpt_modevent(module_t, int, void *);
 			   maxsize, nsegments, maxsegsz, flags,		\
 			   dma_tagp)					\
 	bus_dma_tag_create(parent_tag, alignment, boundary,		\
-			   lowaddr, highaddr, filter, filterarg,	\
+			   lowaddr, highaddr, /*filter, filterarg,*/	\
 			   maxsize, nsegments, maxsegsz, flags,		\
 			   dma_tagp)
 
diff --git a/sys/dev/disk/nata/ata-dma.c b/sys/dev/disk/nata/ata-dma.c
index 47e63ba38f..8f34cb179d 100644
--- a/sys/dev/disk/nata/ata-dma.c
+++ b/sys/dev/disk/nata/ata-dma.c
@@ -95,20 +95,20 @@ ata_dmaalloc(device_t dev)
 
     if (bus_dma_tag_create(NULL, ch->dma->alignment, 0,
 			   ch->dma->max_address, BUS_SPACE_MAXADDR,
-			   NULL, NULL, ch->dma->max_iosize,
+			   ch->dma->max_iosize,
 			   ATA_DMA_ENTRIES, ch->dma->segsize,
 			   0, &ch->dma->dmatag))
 	goto error;
 
     if (bus_dma_tag_create(ch->dma->dmatag, PAGE_SIZE, PAGE_SIZE,
 			   ch->dma->max_address, BUS_SPACE_MAXADDR,
-			   NULL, NULL, MAXTABSZ, 1, MAXTABSZ,
+			   MAXTABSZ, 1, MAXTABSZ,
 			   0, &ch->dma->sg_tag))
 	goto error;
 
     if (bus_dma_tag_create(ch->dma->dmatag,ch->dma->alignment,ch->dma->boundary,
 			   ch->dma->max_address, BUS_SPACE_MAXADDR,
-			   NULL, NULL, ch->dma->max_iosize,
+			   ch->dma->max_iosize,
 			   ATA_DMA_ENTRIES, ch->dma->segsize,
 			   0, &ch->dma->data_tag))
 	goto error;
@@ -129,7 +129,7 @@ ata_dmaalloc(device_t dev)
 
     if (bus_dma_tag_create(ch->dma->dmatag, PAGE_SIZE, 64 * 1024,
 			   ch->dma->max_address, BUS_SPACE_MAXADDR,
-			   NULL, NULL, MAXWSPCSZ, 1, MAXWSPCSZ,
+			   MAXWSPCSZ, 1, MAXWSPCSZ,
 			   0, &ch->dma->work_tag))
 	goto error;
 
diff --git a/sys/dev/disk/nvme/nvme_attach.c b/sys/dev/disk/nvme/nvme_attach.c
index a6ffefd29b..3182d21e9f 100644
--- a/sys/dev/disk/nvme/nvme_attach.c
+++ b/sys/dev/disk/nvme/nvme_attach.c
@@ -347,8 +347,6 @@ nvme_pci_attach(device_t dev)
 			4 * 1024 * 1024,		/* boundary */
 			BUS_SPACE_MAXADDR,		/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->prp_bytes,			/* [max]size */
 			1,				/* maxsegs */
 			sc->prp_bytes,			/* maxsegsz */
@@ -361,8 +359,6 @@ nvme_pci_attach(device_t dev)
 			4 * 1024 * 1024,		/* boundary */
 			BUS_SPACE_MAXADDR,		/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->cmd_bytes,			/* [max]size */
 			1,				/* maxsegs */
 			sc->cmd_bytes,			/* maxsegsz */
@@ -375,8 +371,6 @@ nvme_pci_attach(device_t dev)
 			4 * 1024 * 1024,		/* boundary */
 			BUS_SPACE_MAXADDR,		/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->res_bytes,			/* [max]size */
 			1,				/* maxsegs */
 			sc->res_bytes,			/* maxsegsz */
@@ -389,8 +383,6 @@ nvme_pci_attach(device_t dev)
 			4 * 1024 * 1024,		/* boundary */
 			BUS_SPACE_MAXADDR,		/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sc->adm_bytes,			/* [max]size */
 			1,				/* maxsegs */
 			sc->adm_bytes,			/* maxsegsz */
diff --git a/sys/dev/disk/sbp/sbp.c b/sys/dev/disk/sbp/sbp.c
index 00637929b3..faf6a5cf43 100644
--- a/sys/dev/disk/sbp/sbp.c
+++ b/sys/dev/disk/sbp/sbp.c
@@ -1857,7 +1857,9 @@ END_DEBUG
 				/*boundary*/0,
 				/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 				/*highaddr*/BUS_SPACE_MAXADDR,
+#if defined(__FreeBSD__)
 				/*filter*/NULL, /*filterarg*/NULL,
+#endif
 				/*maxsize*/0x100000, /*nsegments*/SBP_IND_MAX,
 				/*maxsegsz*/SBP_SEG_MAX,
 				/*flags*/BUS_DMA_ALLOCNOW,
diff --git a/sys/dev/disk/sdhci/sdhci.c b/sys/dev/disk/sdhci/sdhci.c
index 995703ccf6..22da5ffab8 100644
--- a/sys/dev/disk/sdhci/sdhci.c
+++ b/sys/dev/disk/sdhci/sdhci.c
@@ -547,7 +547,7 @@ sdhci_dma_alloc(struct sdhci_slot *slot)
 
 	/* Allocate DMA tag for 32bit ADMA2 data buffer */
 	err = bus_dma_tag_create(bus_get_dma_tag(slot->bus),
-	    4, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    4, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    MAXPHYS, SDHCI_ADMA2_DESC_COUNT,
 	    MIN(MAXPHYS, SDHCI_ADMA2_MAX_SEGSIZE),
 	    BUS_DMA_ALLOCNOW | BUS_DMA_ALLOCALL,
diff --git a/sys/dev/disk/sili/sili_attach.c b/sys/dev/disk/sili/sili_attach.c
index 8d533ee946..8d177fad7a 100644
--- a/sys/dev/disk/sili/sili_attach.c
+++ b/sys/dev/disk/sili/sili_attach.c
@@ -213,8 +213,6 @@ sili_pci_attach(device_t dev)
 			65536,				/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			sizeof(struct sili_prb) * SILI_MAX_CMDS,
 							/* [max]size */
 			1,				/* maxsegs */
@@ -233,8 +231,6 @@ sili_pci_attach(device_t dev)
 			0,				/* boundary */
 			addr,				/* loaddr? */
 			BUS_SPACE_MAXADDR,		/* hiaddr */
-			NULL,				/* filter */
-			NULL,				/* filterarg */
 			4096 * 1024,			/* maxiosize */
 			SILI_MAX_SGET,			/* maxsegs */
 			65536,				/* maxsegsz */
diff --git a/sys/dev/disk/sym/sym_hipd.c b/sys/dev/disk/sym/sym_hipd.c
index e5a3a23bf1..e0f4207c7b 100644
--- a/sys/dev/disk/sym/sym_hipd.c
+++ b/sys/dev/disk/sym/sym_hipd.c
@@ -667,7 +667,7 @@ static m_pool_s *___cre_dma_pool(bus_dma_tag_t dev_dmat)
 		if (!bus_dma_tag_create(dev_dmat, 1, MEMO_CLUSTER_SIZE,
 			       BUS_SPACE_MAXADDR_32BIT,
 			       BUS_SPACE_MAXADDR,
-			       NULL, NULL, MEMO_CLUSTER_SIZE, 1,
+			       MEMO_CLUSTER_SIZE, 1,
 			       MEMO_CLUSTER_SIZE, 0,
 			       &mp->dmat)) {
 			mp->getp = ___dma_getp;
@@ -8578,7 +8578,6 @@ sym_pci_attach(device_t dev)
 	 */
 	if (bus_dma_tag_create(np->bus_dmat, 1, (1<<24),
 				BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				BUS_SPACE_MAXSIZE, SYM_CONF_MAX_SG,
 				(1<<24), 0,
 				&np->data_dmat)) {
diff --git a/sys/dev/disk/trm/trm.c b/sys/dev/disk/trm/trm.c
index 7c27bc74f8..73425d7cc3 100644
--- a/sys/dev/disk/trm/trm.c
+++ b/sys/dev/disk/trm/trm.c
@@ -3425,8 +3425,6 @@ trm_init(u_int16_t unit, device_t dev)
 	      /*boundary*/                       0,
 	      /*lowaddr*/  BUS_SPACE_MAXADDR,
 	      /*highaddr*/       BUS_SPACE_MAXADDR,
-	      /*filter*/                      NULL, 
-	      /*filterarg*/                   NULL,
 	      /*maxsize*/                 MAXBSIZE,
 	      /*nsegments*/               TRM_NSEG,
 	      /*maxsegsz*/    TRM_MAXTRANSFER_SIZE,
@@ -3440,8 +3438,6 @@ trm_init(u_int16_t unit, device_t dev)
 	/*boundary*/   0,
 	/*lowaddr*/    BUS_SPACE_MAXADDR,
 	/*highaddr*/   BUS_SPACE_MAXADDR,
-	/*filter*/     NULL,
-	/*filterarg*/  NULL,
 	/*maxsize*/    TRM_MAX_SRB_CNT * sizeof(TRM_SRB),
 	/*nsegments*/  1,
 	/*maxsegsz*/   TRM_MAXTRANSFER_SIZE,
@@ -3463,7 +3459,6 @@ trm_init(u_int16_t unit, device_t dev)
 	    /*boundary*/0,
 	    /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 	    /*highaddr*/BUS_SPACE_MAXADDR,
-	    /*filter*/NULL, /*filterarg*/NULL,
 	    sizeof(struct scsi_sense_data) * TRM_MAX_SRB_CNT,
 	    /*nsegments*/1,
 	    /*maxsegsz*/TRM_MAXTRANSFER_SIZE,
@@ -3500,8 +3495,6 @@ trm_init(u_int16_t unit, device_t dev)
 		    /*boundary*/   0,
 		    /*lowaddr*/    BUS_SPACE_MAXADDR,
 		    /*highaddr*/   BUS_SPACE_MAXADDR,
-		    /*filter*/     NULL, 
-		    /*filterarg*/  NULL,
 		    /*maxsize*/    TRM_MAX_SG_LISTENTRY * sizeof(SGentry), 
 		    /*nsegments*/  1,
 		    /*maxsegsz*/   TRM_MAXTRANSFER_SIZE,
diff --git a/sys/dev/misc/dcons/dcons_crom.c b/sys/dev/misc/dcons/dcons_crom.c
index 5aa2006eac..651ade1804 100644
--- a/sys/dev/misc/dcons/dcons_crom.c
+++ b/sys/dev/misc/dcons/dcons_crom.c
@@ -174,7 +174,6 @@ dcons_crom_attach(device_t dev)
 		/*boundary*/ 0,
 		/*lowaddr*/ BUS_SPACE_MAXADDR,
 		/*highaddr*/ BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/ dcons_conf->size,
 		/*nsegments*/ 1,
 		/*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/netif/ae/if_ae.c b/sys/dev/netif/ae/if_ae.c
index eb37fb6970..d3910da9b1 100644
--- a/sys/dev/netif/ae/if_ae.c
+++ b/sys/dev/netif/ae/if_ae.c
@@ -528,7 +528,6 @@ ae_dma_alloc(struct ae_softc *sc)
 	error = bus_dma_tag_create(NULL, 1, 0,
 				   BUS_SPACE_MAXADDR_32BIT,
 				   BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0,
 				   BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/netif/age/if_age.c b/sys/dev/netif/age/if_age.c
index 8b53a968a9..97f000b5ed 100644
--- a/sys/dev/netif/age/if_age.c
+++ b/sys/dev/netif/age/if_age.c
@@ -814,7 +814,6 @@ age_dma_alloc(struct age_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    lowaddr,			/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -832,7 +831,6 @@ age_dma_alloc(struct age_softc *sc)
 	    AGE_TX_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_TX_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    AGE_TX_RING_SZ,		/* maxsegsize */
@@ -850,7 +848,6 @@ age_dma_alloc(struct age_softc *sc)
 	    AGE_RX_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_RX_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    AGE_RX_RING_SZ,		/* maxsegsize */
@@ -868,7 +865,6 @@ age_dma_alloc(struct age_softc *sc)
 	    AGE_RR_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_RR_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    AGE_RR_RING_SZ,		/* maxsegsize */
@@ -886,7 +882,6 @@ age_dma_alloc(struct age_softc *sc)
 	    AGE_CMB_ALIGN, 0,		/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_CMB_BLOCK_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    AGE_CMB_BLOCK_SZ,		/* maxsegsize */
@@ -904,7 +899,6 @@ age_dma_alloc(struct age_softc *sc)
 	    AGE_SMB_ALIGN, 0,		/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_SMB_BLOCK_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    AGE_SMB_BLOCK_SZ,		/* maxsegsize */
@@ -1041,7 +1035,6 @@ age_dma_alloc(struct age_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1059,7 +1052,6 @@ age_dma_alloc(struct age_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    AGE_TSO_MAXSIZE,		/* maxsize */
 	    AGE_MAXTXSEGS,		/* nsegments */
 	    AGE_TSO_MAXSEGSIZE,		/* maxsegsize */
@@ -1076,7 +1068,6 @@ age_dma_alloc(struct age_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    MCLBYTES,			/* maxsize */
 	    1,				/* nsegments */
 	    MCLBYTES,			/* maxsegsize */
diff --git a/sys/dev/netif/alc/if_alc.c b/sys/dev/netif/alc/if_alc.c
index 59c97d95cb..8d85f1ee44 100644
--- a/sys/dev/netif/alc/if_alc.c
+++ b/sys/dev/netif/alc/if_alc.c
@@ -1899,7 +1899,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1917,7 +1916,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_TX_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_TX_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    ALC_TX_RING_SZ,		/* maxsegsize */
@@ -1935,7 +1933,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_RX_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_RX_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    ALC_RX_RING_SZ,		/* maxsegsize */
@@ -1952,7 +1949,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_RR_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_RR_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    ALC_RR_RING_SZ,		/* maxsegsize */
@@ -1970,7 +1966,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_CMB_ALIGN, 0,		/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_CMB_SZ,			/* maxsize */
 	    1,				/* nsegments */
 	    ALC_CMB_SZ,			/* maxsegsize */
@@ -1987,7 +1982,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_SMB_ALIGN, 0,		/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_SMB_SZ,			/* maxsize */
 	    1,				/* nsegments */
 	    ALC_SMB_SZ,			/* maxsegsize */
@@ -2137,7 +2131,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -2155,7 +2148,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALC_TSO_MAXSIZE,		/* maxsize */
 	    ALC_MAXTXSEGS,		/* nsegments */
 	    ALC_TSO_MAXSEGSIZE,		/* maxsegsize */
@@ -2172,7 +2164,6 @@ alc_dma_alloc(struct alc_softc *sc)
 	    ALC_RX_BUF_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    MCLBYTES,			/* maxsize */
 	    1,				/* nsegments */
 	    MCLBYTES,			/* maxsegsize */
diff --git a/sys/dev/netif/ale/if_ale.c b/sys/dev/netif/ale/if_ale.c
index 860264e87d..dd4ca7957b 100644
--- a/sys/dev/netif/ale/if_ale.c
+++ b/sys/dev/netif/ale/if_ale.c
@@ -946,7 +946,6 @@ ale_dma_alloc(struct ale_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    lowaddr,			/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -964,7 +963,6 @@ ale_dma_alloc(struct ale_softc *sc)
 	    ALE_TX_RING_ALIGN, 0,	/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALE_TX_RING_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    ALE_TX_RING_SZ,		/* maxsegsize */
@@ -983,7 +981,6 @@ ale_dma_alloc(struct ale_softc *sc)
 		    ALE_RX_PAGE_ALIGN, 0,	/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    sc->ale_pagesize,		/* maxsize */
 		    1,				/* nsegments */
 		    sc->ale_pagesize,		/* maxsegsize */
@@ -1002,7 +999,6 @@ ale_dma_alloc(struct ale_softc *sc)
 	    ALE_CMB_ALIGN, 0,		/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALE_TX_CMB_SZ,		/* maxsize */
 	    1,				/* nsegments */
 	    ALE_TX_CMB_SZ,		/* maxsegsize */
@@ -1021,7 +1017,6 @@ ale_dma_alloc(struct ale_softc *sc)
 		    ALE_CMB_ALIGN, 0,		/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    ALE_RX_CMB_SZ,		/* maxsize */
 		    1,				/* nsegments */
 		    ALE_RX_CMB_SZ,		/* maxsegsize */
@@ -1155,7 +1150,6 @@ ale_dma_alloc(struct ale_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1173,7 +1167,6 @@ ale_dma_alloc(struct ale_softc *sc)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    ALE_TSO_MAXSIZE,		/* maxsize */
 	    ALE_MAXTXSEGS,		/* nsegments */
 	    ALE_TSO_MAXSEGSIZE,		/* maxsegsize */
diff --git a/sys/dev/netif/ath/ath/if_ath_ahb.c b/sys/dev/netif/ath/ath/if_ath_ahb.c
index 4560e93787..6758070876 100644
--- a/sys/dev/netif/ath/ath/if_ath_ahb.c
+++ b/sys/dev/netif/ath/ath/if_ath_ahb.c
@@ -259,7 +259,10 @@ ath_ahb_attach(device_t dev)
 #endif
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
+#if defined(__DragonFly__)
+#else
 			       NULL, NULL,		/* filter, filterarg */
+#endif
 			       0x3ffff,			/* maxsize XXX */
 			       ATH_MAX_SCATTER,		/* nsegments */
 			       0x3ffff,			/* maxsegsize XXX */
diff --git a/sys/dev/netif/ath/ath/if_ath_descdma.c b/sys/dev/netif/ath/ath/if_ath_descdma.c
index 50cac14129..a645a6bb14 100644
--- a/sys/dev/netif/ath/ath/if_ath_descdma.c
+++ b/sys/dev/netif/ath/ath/if_ath_descdma.c
@@ -184,7 +184,10 @@ ath_descdma_alloc_desc(struct ath_softc *sc,
 		       PAGE_SIZE, 0,		/* alignment, bounds */
 		       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 		       BUS_SPACE_MAXADDR,	/* highaddr */
+#if defined(__DragonFly__)
+#else
 		       NULL, NULL,		/* filter, filterarg */
+#endif
 		       dd->dd_desc_len,		/* maxsize */
 		       1,			/* nsegments */
 		       dd->dd_desc_len,		/* maxsegsize */
diff --git a/sys/dev/netif/ath/ath/if_ath_pci.c b/sys/dev/netif/ath/ath/if_ath_pci.c
index d365937e58..2cfed307f4 100644
--- a/sys/dev/netif/ath/ath/if_ath_pci.c
+++ b/sys/dev/netif/ath/ath/if_ath_pci.c
@@ -331,7 +331,10 @@ ath_pci_attach(device_t dev)
 #endif
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
+#if defined(__DragonFly__)
+#else
 			       NULL, NULL,		/* filter, filterarg */
+#endif
 			       0x3ffff,			/* maxsize XXX */
 			       ATH_MAX_SCATTER,		/* nsegments */
 			       0x3ffff,			/* maxsegsize XXX */
diff --git a/sys/dev/netif/bce/if_bce.c b/sys/dev/netif/bce/if_bce.c
index aa856882cc..11cdedc5ec 100644
--- a/sys/dev/netif/bce/if_bce.c
+++ b/sys/dev/netif/bce/if_bce.c
@@ -2132,7 +2132,7 @@ bce_create_tx_ring(struct bce_tx_ring *txr)
 	 * physical address of the block.
 	 */
 	rc = bus_dma_tag_create(txr->sc->parent_tag, BCM_PAGE_SIZE, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    BCE_TX_CHAIN_PAGE_SZ, 1, BCE_TX_CHAIN_PAGE_SZ,
 	    0, &txr->tx_bd_chain_tag);
 	if (rc != 0) {
@@ -2181,7 +2181,7 @@ bce_create_tx_ring(struct bce_tx_ring *txr)
 
 	/* Create a DMA tag for TX mbufs. */
 	rc = bus_dma_tag_create(txr->sc->parent_tag, 1, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    IP_MAXPACKET + sizeof(struct ether_vlan_header),
 	    BCE_MAX_SEGMENTS, PAGE_SIZE,
 	    BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK | BUS_DMA_ONEBPAGE,
@@ -2246,7 +2246,7 @@ bce_create_rx_ring(struct bce_rx_ring *rxr)
 	 * address of the blocks.
 	 */
 	rc = bus_dma_tag_create(rxr->sc->parent_tag, BCM_PAGE_SIZE, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    BCE_RX_CHAIN_PAGE_SZ, 1, BCE_RX_CHAIN_PAGE_SZ,
 	    0, &rxr->rx_bd_chain_tag);
 	if (rc != 0) {
@@ -2296,7 +2296,7 @@ bce_create_rx_ring(struct bce_rx_ring *rxr)
 
 	/* Create a DMA tag for RX mbufs. */
 	rc = bus_dma_tag_create(rxr->sc->parent_tag, BCE_DMA_RX_ALIGN, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    MCLBYTES, 1, MCLBYTES,
 	    BUS_DMA_ALLOCNOW | BUS_DMA_ALIGNED | BUS_DMA_WAITOK,
 	    &rxr->rx_mbuf_tag);
@@ -2418,7 +2418,6 @@ bce_dma_alloc(struct bce_softc *sc)
 	 */
 	rc = bus_dma_tag_create(NULL, 1, BCE_DMA_BOUNDARY,
 				max_busaddr, BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				BUS_SPACE_MAXSIZE_32BIT, 0,
 				BUS_SPACE_MAXSIZE_32BIT,
 				0, &sc->parent_tag);
@@ -2459,7 +2458,6 @@ bce_dma_alloc(struct bce_softc *sc)
 	if (sc->ctx_pages != 0) {
 		rc = bus_dma_tag_create(sc->parent_tag, BCM_PAGE_SIZE, 0,
 					BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-					NULL, NULL,
 					BCM_PAGE_SIZE, 1, BCM_PAGE_SIZE,
 					0, &sc->ctx_tag);
 		if (rc != 0) {
diff --git a/sys/dev/netif/bfe/if_bfe.c b/sys/dev/netif/bfe/if_bfe.c
index 8d40932b5e..4e0bf61351 100644
--- a/sys/dev/netif/bfe/if_bfe.c
+++ b/sys/dev/netif/bfe/if_bfe.c
@@ -194,7 +194,6 @@ bfe_dma_alloc(device_t dev)
 			1, 0,                     /* alignment, boundary */
 			BFE_BUS_SPACE_MAXADDR,    /* lowaddr */
 			BUS_SPACE_MAXADDR,        /* highaddr */
-			NULL, NULL,               /* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,  /* maxsize */
 			0,                        /* num of segments */
 			BUS_SPACE_MAXSIZE_32BIT,  /* max segment size */
@@ -236,7 +235,6 @@ bfe_dma_alloc(device_t dev)
 	/* Tag for RX mbufs */
 	error = bus_dma_tag_create(sc->bfe_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &sc->bfe_rxbuf_tag);
@@ -269,7 +267,6 @@ bfe_dma_alloc(device_t dev)
 	/* Tag for TX mbufs */
 	error = bus_dma_tag_create(sc->bfe_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, BFE_MAXSEGS, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &sc->bfe_txbuf_tag);
diff --git a/sys/dev/netif/bge/if_bge.c b/sys/dev/netif/bge/if_bge.c
index dcf0f10165..0b9fd308e4 100644
--- a/sys/dev/netif/bge/if_bge.c
+++ b/sys/dev/netif/bge/if_bge.c
@@ -4342,7 +4342,6 @@ bge_dma_alloc(struct bge_softc *sc)
 	 */
 	error = bus_dma_tag_create(NULL, 1, BGE_DMA_BOUNDARY_4G,
 				   lowaddr, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0, &sc->bge_cdata.bge_parent_tag);
@@ -4356,7 +4355,7 @@ bge_dma_alloc(struct bge_softc *sc)
 	 */
 	error = bus_dma_tag_create(sc->bge_cdata.bge_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL, MCLBYTES, 1, MCLBYTES,
+				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &sc->bge_cdata.bge_rx_mtag);
 	if (error) {
@@ -4400,7 +4399,6 @@ bge_dma_alloc(struct bge_softc *sc)
 		txmaxsz = BGE_JUMBO_FRAMELEN;
 	error = bus_dma_tag_create(sc->bge_cdata.bge_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   txmaxsz, BGE_NSEG_NEW, PAGE_SIZE,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK |
 				   BUS_DMA_ONEBPAGE,
diff --git a/sys/dev/netif/bnx/if_bnx.c b/sys/dev/netif/bnx/if_bnx.c
index 5e0b66f69d..05c15719cc 100644
--- a/sys/dev/netif/bnx/if_bnx.c
+++ b/sys/dev/netif/bnx/if_bnx.c
@@ -4163,7 +4163,7 @@ bnx_dma_alloc(device_t dev)
 	 * state machine will lockup and cause the device to hang.
 	 */
 	error = bus_dma_tag_create(NULL, 1, BGE_DMA_BOUNDARY_4G,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT,
 	    0, &sc->bnx_cdata.bnx_parent_tag);
 	if (error) {
@@ -4201,7 +4201,7 @@ bnx_dma_alloc(device_t dev)
 	lwkt_serialize_init(&std->bnx_rx_std_serialize);
 	error = bus_dma_tag_create(sc->bnx_cdata.bnx_parent_tag, 1, 0,
 	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-	    NULL, NULL, MCLBYTES, 1, MCLBYTES,
+	    MCLBYTES, 1, MCLBYTES,
 	    BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK, &std->bnx_rx_mtag);
 	if (error) {
 		device_printf(dev, "could not create RX mbuf DMA tag\n");
@@ -5193,7 +5193,7 @@ bnx_create_tx_ring(struct bnx_tx_ring *txr)
 	else
 		txmaxsegsz = PAGE_SIZE;
 	error = bus_dma_tag_create(txr->bnx_sc->bnx_cdata.bnx_parent_tag,
-	    1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    txmaxsz, BNX_NSEG_NEW, txmaxsegsz,
 	    BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK | BUS_DMA_ONEBPAGE,
 	    &txr->bnx_tx_mtag);
diff --git a/sys/dev/netif/bwn/bwn/if_bwn.c b/sys/dev/netif/bwn/bwn/if_bwn.c
index b5f267cf9c..65ddb6ee9e 100644
--- a/sys/dev/netif/bwn/bwn/if_bwn.c
+++ b/sys/dev/netif/bwn/bwn/if_bwn.c
@@ -2810,7 +2810,9 @@ bwn_dma_ringsetup(struct bwn_mac *mac, int controller_index,
 				    1, 0,
 				    BUS_SPACE_MAXADDR,
 				    BUS_SPACE_MAXADDR,
+#if !defined(__DragonFly__)
 				    NULL, NULL,
+#endif
 				    BWN_HDRSIZE(mac),
 				    1,
 				    BUS_SPACE_MAXSIZE_32BIT,
@@ -3120,7 +3122,9 @@ bwn_dma_allocringmemory(struct bwn_dma_ring *dr)
 			    BWN_ALIGN, 0,
 			    BUS_SPACE_MAXADDR,
 			    BUS_SPACE_MAXADDR,
+#if !defined(__DragonFly__)
 			    NULL, NULL,
+#endif
 			    BWN_DMA_RINGMEMSIZE,
 			    1,
 			    BUS_SPACE_MAXSIZE_32BIT,
@@ -6952,7 +6956,9 @@ bwn_dma_attach(struct bwn_mac *mac)
 			       BWN_ALIGN, 0,		/* alignment, bounds */
 			       lowaddr,			/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
+#if !defined(__DragonFly__)
 			       NULL, NULL,		/* filter, filterarg */
+#endif
 			       BUS_SPACE_MAXSIZE,	/* maxsize */
 			       BUS_SPACE_UNRESTRICTED,	/* nsegments */
 			       BUS_SPACE_MAXSIZE,	/* maxsegsize */
@@ -6974,7 +6980,9 @@ bwn_dma_attach(struct bwn_mac *mac)
 				0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
+#if !defined(__DragonFly__)
 				NULL, NULL,
+#endif
 				MCLBYTES,
 				1,
 				BUS_SPACE_MAXSIZE_32BIT,
@@ -6992,7 +7000,9 @@ bwn_dma_attach(struct bwn_mac *mac)
 				0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
+#if !defined(__DragonFly__)
 				NULL, NULL,
+#endif
 				MCLBYTES,
 				1,
 				BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/netif/de/if_de.c b/sys/dev/netif/de/if_de.c
index b5b4f8e272..b81b228663 100644
--- a/sys/dev/netif/de/if_de.c
+++ b/sys/dev/netif/de/if_de.c
@@ -3916,7 +3916,7 @@ tulip_busdma_allocring(device_t dev, tulip_softc_t *sc, size_t count,
     size = count * sizeof(tulip_desc_t);
     error = bus_dma_tag_create(bus_get_dma_tag(dev),
 	32, 0, BUS_SPACE_MAXADDR_32BIT,
-	BUS_SPACE_MAXADDR, NULL, NULL, size, 1, size, 0, &ri->ri_ring_tag);
+	BUS_SPACE_MAXADDR, size, 1, size, 0, &ri->ri_ring_tag);
     if (error) {
 	device_printf(dev, "failed to allocate %s descriptor ring dma tag\n",
 	    name);
@@ -3943,7 +3943,7 @@ tulip_busdma_allocring(device_t dev, tulip_softc_t *sc, size_t count,
 
     /* Allocate a tag for the data buffers. */
     error = bus_dma_tag_create(bus_get_dma_tag(dev), align, 0,
-	BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	MCLBYTES * nsegs, nsegs, MCLBYTES, 0, &ri->ri_data_tag);
     if (error) {
 	device_printf(dev, "failed to allocate %s buffer dma tag\n", name);
@@ -4021,7 +4021,7 @@ tulip_busdma_init(device_t dev, tulip_softc_t *sc)
      * Allocate a DMA tag, memory, and map for setup descriptor
      */
     error = bus_dma_tag_create(bus_get_dma_tag(dev), 32, 0,
-	BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	sizeof(sc->tulip_setupdata), 1, sizeof(sc->tulip_setupdata), 0,
 	&sc->tulip_setup_tag);
     if (error) {
diff --git a/sys/dev/netif/em/if_em.c b/sys/dev/netif/em/if_em.c
index c1af559f01..c8885b6b2e 100644
--- a/sys/dev/netif/em/if_em.c
+++ b/sys/dev/netif/em/if_em.c
@@ -727,7 +727,6 @@ em_attach(device_t dev)
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
 			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-			NULL, NULL,
 			BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT,
 			0, &adapter->parent_dtag);
 	if (error) {
@@ -2918,7 +2917,6 @@ em_create_tx_ring(struct adapter *adapter)
 			1, 0,			/* alignment, bounds */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			EM_TSO_SIZE,		/* maxsize */
 			EM_MAX_SCATTER,		/* nsegments */
 			PAGE_SIZE,		/* maxsegsize */
@@ -3424,7 +3422,6 @@ em_create_rx_ring(struct adapter *adapter)
 			1, 0,			/* alignment, bounds */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MCLBYTES,		/* maxsize */
 			1,			/* nsegments */
 			MCLBYTES,		/* maxsegsize */
diff --git a/sys/dev/netif/emx/if_emx.c b/sys/dev/netif/emx/if_emx.c
index 884f258466..3289b064ff 100644
--- a/sys/dev/netif/emx/if_emx.c
+++ b/sys/dev/netif/emx/if_emx.c
@@ -2375,7 +2375,6 @@ emx_create_tx_ring(struct emx_txdata *tdata)
 			1, 0,			/* alignment, bounds */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			EMX_TSO_SIZE,		/* maxsize */
 			EMX_MAX_SCATTER,	/* nsegments */
 			EMX_MAX_SEGSIZE,	/* maxsegsize */
@@ -2993,7 +2992,6 @@ emx_create_rx_ring(struct emx_rxdata *rdata)
 			1, 0,			/* alignment, bounds */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MCLBYTES,		/* maxsize */
 			1,			/* nsegments */
 			MCLBYTES,		/* maxsegsize */
@@ -4080,7 +4078,6 @@ emx_dma_alloc(struct emx_softc *sc)
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
 			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-			NULL, NULL,
 			BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT,
 			0, &sc->parent_dtag);
 	if (error) {
diff --git a/sys/dev/netif/et/if_et.c b/sys/dev/netif/et/if_et.c
index 13501b5cd6..60c3bbcb83 100644
--- a/sys/dev/netif/et/if_et.c
+++ b/sys/dev/netif/et/if_et.c
@@ -700,7 +700,6 @@ et_dma_alloc(device_t dev)
 	error = bus_dma_tag_create(NULL, 1, 0,
 				   BUS_SPACE_MAXADDR,
 				   BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0,
 				   BUS_SPACE_MAXSIZE_32BIT,
@@ -877,7 +876,6 @@ et_dma_mbuf_create(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->sc_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &sc->sc_rxbuf_dtag);
@@ -929,7 +927,6 @@ et_dma_mbuf_create(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->sc_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   ET_JUMBO_FRAMELEN, ET_NSEG_MAX, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK |
 				   BUS_DMA_ONEBPAGE,
diff --git a/sys/dev/netif/igb/if_igb.c b/sys/dev/netif/igb/if_igb.c
index 5f0173ea37..00f68887b2 100644
--- a/sys/dev/netif/igb/if_igb.c
+++ b/sys/dev/netif/igb/if_igb.c
@@ -1774,7 +1774,7 @@ igb_alloc_rings(struct igb_softc *sc)
 	 * Create top level busdma tag
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT, 0,
 	    &sc->parent_tag);
 	if (error) {
@@ -1909,7 +1909,6 @@ igb_create_tx_ring(struct igb_tx_ring *txr)
 	    1, 0,		/* alignment, bounds */
 	    BUS_SPACE_MAXADDR,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,	/* highaddr */
-	    NULL, NULL,		/* filter, filterarg */
 	    IGB_TSO_SIZE,	/* maxsize */
 	    IGB_MAX_SCATTER,	/* nsegments */
 	    PAGE_SIZE,		/* maxsegsize */
@@ -2304,7 +2303,6 @@ igb_create_rx_ring(struct igb_rx_ring *rxr)
 	    1, 0,		/* alignment, bounds */
 	    BUS_SPACE_MAXADDR,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,	/* highaddr */
-	    NULL, NULL,		/* filter, filterarg */
 	    MCLBYTES,		/* maxsize */
 	    1,			/* nsegments */
 	    MCLBYTES,		/* maxsegsize */
diff --git a/sys/dev/netif/iwi/if_iwi.c b/sys/dev/netif/iwi/if_iwi.c
index 68133e0349..c1c1b07e3e 100644
--- a/sys/dev/netif/iwi/if_iwi.c
+++ b/sys/dev/netif/iwi/if_iwi.c
@@ -580,7 +580,7 @@ iwi_alloc_cmd_ring(struct iwi_softc *sc, struct iwi_cmd_ring *ring, int count)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(NULL, 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    count * IWI_CMD_DESC_SIZE, 1, count * IWI_CMD_DESC_SIZE,
 	    0 , &ring->desc_dmat);
 #else
@@ -649,7 +649,7 @@ iwi_alloc_tx_ring(struct iwi_softc *sc, struct iwi_tx_ring *ring, int count,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
-	    BUS_SPACE_MAXADDR, NULL, NULL, count * IWI_TX_DESC_SIZE, 1,
+	    BUS_SPACE_MAXADDR, count * IWI_TX_DESC_SIZE, 1,
 	    count * IWI_TX_DESC_SIZE, 0, &ring->desc_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
@@ -686,7 +686,7 @@ iwi_alloc_tx_ring(struct iwi_softc *sc, struct iwi_tx_ring *ring, int count,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
-	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, IWI_MAX_NSEG,
+	    BUS_SPACE_MAXADDR, MCLBYTES, IWI_MAX_NSEG,
 	    MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -800,7 +800,7 @@ iwi_alloc_rx_ring(struct iwi_softc *sc, struct iwi_rx_ring *ring, int count)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
-	    BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, 1, MCLBYTES,
+	    BUS_SPACE_MAXADDR, MCLBYTES, 1, MCLBYTES,
 	    0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -3141,7 +3141,7 @@ iwi_init_fw_dma(struct iwi_softc *sc, int size)
 		return 0;
 #if defined(__DragonFly__)
 	if (bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT,
-	    BUS_SPACE_MAXADDR, NULL, NULL, size, 1, size,
+	    BUS_SPACE_MAXADDR, size, 1, size,
 	    0, &sc->fw_dmat) != 0) {
 #else
 	if (bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
diff --git a/sys/dev/netif/iwm/if_iwm.c b/sys/dev/netif/iwm/if_iwm.c
index 402d25aca0..7a08403150 100644
--- a/sys/dev/netif/iwm/if_iwm.c
+++ b/sys/dev/netif/iwm/if_iwm.c
@@ -1001,7 +1001,6 @@ iwm_alloc_rx_ring(struct iwm_softc *sc, struct iwm_rx_ring *ring)
 				   0,
 				   BUS_SPACE_MAXADDR_32BIT,
 				   BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   IWM_RBUF_SIZE, 1, IWM_RBUF_SIZE,
 				   BUS_DMA_NOWAIT, &ring->data_dmat);
 #else
@@ -1153,7 +1152,6 @@ iwm_alloc_tx_ring(struct iwm_softc *sc, struct iwm_tx_ring *ring, int qid)
 				   0,
 				   BUS_SPACE_MAXADDR_32BIT,
 				   BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   maxsize, nsegments, maxsize,
 				   BUS_DMA_NOWAIT, &ring->data_dmat);
 #else
diff --git a/sys/dev/netif/iwn/if_iwn.c b/sys/dev/netif/iwn/if_iwn.c
index 3a93a21562..af5ed1c702 100644
--- a/sys/dev/netif/iwn/if_iwn.c
+++ b/sys/dev/netif/iwn/if_iwn.c
@@ -1797,7 +1797,7 @@ iwn_dma_contig_alloc(struct iwn_softc *sc, struct iwn_dma_info *dma,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), alignment,
-	    0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, size,
+	    0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, size,
 	    1, size, 0, &dma->tag);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), alignment,
@@ -1932,7 +1932,7 @@ iwn_alloc_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring)
 	/* Create RX buffer DMA tag. */
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    IWN_RBUF_SIZE, 1, IWN_RBUF_SIZE, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -2084,7 +2084,7 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    IWN_MAX_SCATTER - 1, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
diff --git a/sys/dev/netif/ix/if_ix.c b/sys/dev/netif/ix/if_ix.c
index a3ef52e6bf..1307ae5a66 100644
--- a/sys/dev/netif/ix/if_ix.c
+++ b/sys/dev/netif/ix/if_ix.c
@@ -1939,7 +1939,7 @@ ix_alloc_rings(struct ix_softc *sc)
 	 * Create top level busdma tag
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT, 0,
 	    &sc->parent_tag);
 	if (error) {
@@ -2047,7 +2047,6 @@ ix_create_tx_ring(struct ix_tx_ring *txr)
 	    1, 0,		/* alignment, bounds */
 	    BUS_SPACE_MAXADDR,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,	/* highaddr */
-	    NULL, NULL,		/* filter, filterarg */
 	    IX_TSO_SIZE,	/* maxsize */
 	    IX_MAX_SCATTER,	/* nsegments */
 	    PAGE_SIZE,		/* maxsegsize */
@@ -2469,7 +2468,6 @@ ix_create_rx_ring(struct ix_rx_ring *rxr)
 	    1, 0,		/* alignment, bounds */
 	    BUS_SPACE_MAXADDR,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,	/* highaddr */
-	    NULL, NULL,		/* filter, filterarg */
 	    PAGE_SIZE,		/* maxsize */
 	    1,			/* nsegments */
 	    PAGE_SIZE,		/* maxsegsize */
diff --git a/sys/dev/netif/jme/if_jme.c b/sys/dev/netif/jme/if_jme.c
index 5fb110361e..41a599f5ce 100644
--- a/sys/dev/netif/jme/if_jme.c
+++ b/sys/dev/netif/jme/if_jme.c
@@ -148,7 +148,9 @@ static int	jme_encap(struct jme_txdata *, struct mbuf **, int *);
 static void	jme_rxpkt(struct jme_rxdata *, int);
 static int	jme_rxring_dma_alloc(struct jme_rxdata *);
 static int	jme_rxbuf_dma_alloc(struct jme_rxdata *);
+#if 0
 static int	jme_rxbuf_dma_filter(void *, bus_addr_t);
+#endif
 
 static void	jme_tick(void *);
 static void	jme_stop(struct jme_softc *);
@@ -1234,7 +1236,6 @@ jme_dma_alloc(struct jme_softc *sc)
 	    1, JME_RING_BOUNDARY,	/* algnmnt, boundary */
 	    sc->jme_lowaddr,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1277,7 +1278,6 @@ jme_dma_alloc(struct jme_softc *sc)
 	    1, 0,			/* algnmnt, boundary */
 	    sc->jme_lowaddr,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1315,7 +1315,6 @@ jme_dma_alloc(struct jme_softc *sc)
 	    1, 0,			/* algnmnt, boundary */
 	    BUS_SPACE_MAXADDR,		/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    JME_TSO_MAXSIZE,		/* maxsize */
 	    JME_MAXTXSEGS,		/* nsegments */
 	    JME_MAXSEGSIZE,		/* maxsegsize */
@@ -2544,7 +2543,7 @@ jme_rxeof(struct jme_rxdata *rdata, int count, int cpuid)
 			 * This test should be enough to detect the pending
 			 * RSS information delivery, given:
 			 * - If RSS hash is not calculated, the hashinfo
-			 *   will be 0.  Howvever, the lower 32bits of RX
+			 *   will be 0.  However, the lower 32bits of RX
 			 *   buffers' physical address will never be 0.
 			 *   (see jme_rxbuf_dma_filter)
 			 * - If RSS hash is calculated, the lowest 4 bits
@@ -3424,6 +3423,7 @@ jme_rxring_dma_alloc(struct jme_rxdata *rdata)
 	return 0;
 }
 
+#if 0
 static int
 jme_rxbuf_dma_filter(void *arg __unused, bus_addr_t paddr)
 {
@@ -3438,6 +3438,7 @@ jme_rxbuf_dma_filter(void *arg __unused, bus_addr_t paddr)
 	}
 	return 0;
 }
+#endif
 
 static int
 jme_rxbuf_dma_alloc(struct jme_rxdata *rdata)
@@ -3447,7 +3448,9 @@ jme_rxbuf_dma_alloc(struct jme_rxdata *rdata)
 
 	lowaddr = BUS_SPACE_MAXADDR;
 	if (JME_ENABLE_HWRSS(rdata->jme_sc)) {
+#if 0
 		/* jme_rxbuf_dma_filter will be called */
+#endif
 		lowaddr = BUS_SPACE_MAXADDR_32BIT;
 	}
 
@@ -3457,7 +3460,20 @@ jme_rxbuf_dma_alloc(struct jme_rxdata *rdata)
 	    JME_RX_BUF_ALIGN, 0,	/* algnmnt, boundary */
 	    lowaddr,			/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    jme_rxbuf_dma_filter, NULL,	/* filter, filterarg */
+#if 0
+		/*
+		 * It should be safe to remove the jme_rxbuf_dma_filter as we
+		 * set lowaddr to BUS_SPACE_MAXADDR_32BIT, so we use 32 bit DMA
+		 * addressing.
+		 *
+		 * According to FreeBSD commit f37739d7:
+		 *
+		 * "JMC260 chip full mask revision 2 has a silicon bug that can't
+		 * handle 64bit DMA addressing. Add workaround to the bug by limiting
+		 * DMA address space to be within 32bit."
+		 */
+	    jme_rxbuf_dma_filter, NULL, /* filter, filterarg */
+#endif
 	    MCLBYTES,			/* maxsize */
 	    1,				/* nsegments */
 	    MCLBYTES,			/* maxsegsize */
diff --git a/sys/dev/netif/lnc/if_lnc_pci.c b/sys/dev/netif/lnc/if_lnc_pci.c
index 2f1325691c..7f791b7b7e 100644
--- a/sys/dev/netif/lnc/if_lnc_pci.c
+++ b/sys/dev/netif/lnc/if_lnc_pci.c
@@ -344,7 +344,6 @@ le_pci_attach(device_t dev)
 	    1, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 	    0,				/* nsegments */
 	    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -366,7 +365,6 @@ le_pci_attach(device_t dev)
 	    16, 0,			/* alignment, boundary */
 	    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,		/* highaddr */
-	    NULL, NULL,			/* filter, filterarg */
 	    sc->sc_memsize,		/* maxsize */
 	    1,				/* nsegments */
 	    sc->sc_memsize,		/* maxsegsize */
diff --git a/sys/dev/netif/msk/if_msk.c b/sys/dev/netif/msk/if_msk.c
index e4b70b0aaf..c059744f06 100644
--- a/sys/dev/netif/msk/if_msk.c
+++ b/sys/dev/netif/msk/if_msk.c
@@ -1902,7 +1902,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    1, 0,			/* alignment, boundary */
 		    BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 		    0,				/* nsegments */
 		    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -1943,7 +1942,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    1, 0,			/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MSK_JUMBO_FRAMELEN,		/* maxsize */
 		    MSK_MAXTXSEGS,		/* nsegments */
 		    MSK_MAXSGSIZE,		/* maxsegsize */
@@ -1993,7 +1991,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    rxalign, 0,			/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MCLBYTES,			/* maxsize */
 		    1,				/* nsegments */
 		    MCLBYTES,			/* maxsegsize */
@@ -2048,7 +2045,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    MSK_RING_ALIGN, 0,		/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MSK_JUMBO_RX_RING_SZ,	/* maxsize */
 		    1,				/* nsegments */
 		    MSK_JUMBO_RX_RING_SZ,	/* maxsegsize */
@@ -2089,7 +2085,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    PAGE_SIZE, 0,		/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MSK_JMEM,			/* maxsize */
 		    1,				/* nsegments */
 		    MSK_JMEM,			/* maxsegsize */
@@ -2107,7 +2102,6 @@ msk_txrx_dma_alloc(struct msk_if_softc *sc_if)
 		    PAGE_SIZE, 0,		/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MCLBYTES * MSK_MAXRXSEGS,	/* maxsize */
 		    MSK_MAXRXSEGS,		/* nsegments */
 		    MSK_JLEN,			/* maxsegsize */
diff --git a/sys/dev/netif/mxge/if_mxge.c b/sys/dev/netif/mxge/if_mxge.c
index 45142124a0..e037891e2e 100644
--- a/sys/dev/netif/mxge/if_mxge.c
+++ b/sys/dev/netif/mxge/if_mxge.c
@@ -3028,7 +3028,6 @@ mxge_alloc_slice_rings(struct mxge_slice_state *ss, int rx_ring_entries,
 				 4096,			/* boundary */
 				 BUS_SPACE_MAXADDR,	/* low */
 				 BUS_SPACE_MAXADDR,	/* high */
-				 NULL, NULL,		/* filter */
 				 MHLEN,			/* maxsize */
 				 1,			/* num segs */
 				 MHLEN,			/* maxsegsize */
@@ -3074,7 +3073,6 @@ mxge_alloc_slice_rings(struct mxge_slice_state *ss, int rx_ring_entries,
 				 4096,			/* boundary */
 				 BUS_SPACE_MAXADDR,	/* low */
 				 BUS_SPACE_MAXADDR,	/* high */
-				 NULL, NULL,		/* filter */
 				 4096,			/* maxsize */
 				 1,			/* num segs */
 				 4096,			/* maxsegsize*/
@@ -3144,7 +3142,6 @@ mxge_alloc_slice_rings(struct mxge_slice_state *ss, int rx_ring_entries,
 				 sc->tx_boundary,	/* boundary */
 				 BUS_SPACE_MAXADDR,	/* low */
 				 BUS_SPACE_MAXADDR,	/* high */
-				 NULL, NULL,		/* filter */
 				 IP_MAXPACKET +
 				 sizeof(struct ether_vlan_header),
 				 			/* maxsize */
@@ -4263,7 +4260,6 @@ mxge_attach(device_t dev)
 				 0,			/* boundary */
 				 BUS_SPACE_MAXADDR,	/* low */
 				 BUS_SPACE_MAXADDR,	/* high */
-				 NULL, NULL,		/* filter */
 				 BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 				 0, 			/* num segs */
 				 BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
diff --git a/sys/dev/netif/nfe/if_nfe.c b/sys/dev/netif/nfe/if_nfe.c
index 71c6c51ffe..bb21b88c07 100644
--- a/sys/dev/netif/nfe/if_nfe.c
+++ b/sys/dev/netif/nfe/if_nfe.c
@@ -551,7 +551,6 @@ nfe_attach(device_t dev)
 			1, 0,			/* alignment, boundary */
 			lowaddr,		/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 			0,			/* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -1691,7 +1690,6 @@ nfe_alloc_rx_ring(struct nfe_softc *sc, struct nfe_rx_ring *ring)
 
 	error = bus_dma_tag_create(sc->sc_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &ring->data_tag);
@@ -1964,7 +1962,6 @@ nfe_alloc_tx_ring(struct nfe_softc *sc, struct nfe_tx_ring *ring)
 
 	error = bus_dma_tag_create(sc->sc_dtag, 1, 0,
 			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-			NULL, NULL,
 			NFE_JBYTES, NFE_MAX_SCATTER, MCLBYTES,
 			BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK | BUS_DMA_ONEBPAGE,
 			&ring->data_tag);
diff --git a/sys/dev/netif/oce/oce_queue.c b/sys/dev/netif/oce/oce_queue.c
index bcd4261969..184694a484 100644
--- a/sys/dev/netif/oce/oce_queue.c
+++ b/sys/dev/netif/oce/oce_queue.c
@@ -236,7 +236,6 @@ oce_wq *oce_wq_init(POCE_SOFTC sc, uint32_t q_len, uint32_t wq_type)
 				1, 0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				OCE_MAX_TX_SIZE,
 				OCE_MAX_TX_ELEMENTS,
 				PAGE_SIZE, 0, &wq->tag);
@@ -439,7 +438,6 @@ oce_rq *oce_rq_init(POCE_SOFTC sc,
 				1, 0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				OCE_MAX_RX_SIZE,
 				1, PAGE_SIZE, 0, &rq->tag);
 
diff --git a/sys/dev/netif/oce/oce_util.c b/sys/dev/netif/oce/oce_util.c
index f47bc250a0..b3302e8a56 100644
--- a/sys/dev/netif/oce/oce_util.c
+++ b/sys/dev/netif/oce/oce_util.c
@@ -67,7 +67,6 @@ oce_dma_alloc(POCE_SOFTC sc, bus_size_t size, POCE_DMA_MEM dma, int flags)
 				8, 0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				size, 1, size, 0, &dma->tag);
 
 	if (rc == 0) {
@@ -182,7 +181,6 @@ oce_create_ring_buffer(POCE_SOFTC sc,
 				4096, 0,
 				BUS_SPACE_MAXADDR,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				size, 8, 4096, 0, &ring->dma.tag);
 	if (rc)
 		goto fail;
diff --git a/sys/dev/netif/ral/rt2560.c b/sys/dev/netif/ral/rt2560.c
index c72dd850a4..15247ef99c 100644
--- a/sys/dev/netif/ral/rt2560.c
+++ b/sys/dev/netif/ral/rt2560.c
@@ -476,7 +476,7 @@ rt2560_alloc_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    count * RT2560_TX_DESC_SIZE, 1, count * RT2560_TX_DESC_SIZE,
 	    0, &ring->desc_dmat);
 #else
@@ -515,7 +515,7 @@ rt2560_alloc_tx_ring(struct rt2560_softc *sc, struct rt2560_tx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    MCLBYTES, RT2560_MAX_SCATTER, MCLBYTES, 0,
 	    &ring->data_dmat);
 #else
@@ -634,7 +634,7 @@ rt2560_alloc_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    count * RT2560_RX_DESC_SIZE, 1, count * RT2560_RX_DESC_SIZE,
 	    0, &ring->desc_dmat);
 #else
@@ -676,7 +676,7 @@ rt2560_alloc_rx_ring(struct rt2560_softc *sc, struct rt2560_rx_ring *ring,
 	 */
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    1, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
diff --git a/sys/dev/netif/ral/rt2661.c b/sys/dev/netif/ral/rt2661.c
index 15de3bf643..bacbf96d9f 100644
--- a/sys/dev/netif/ral/rt2661.c
+++ b/sys/dev/netif/ral/rt2661.c
@@ -485,7 +485,7 @@ rt2661_alloc_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    count * RT2661_TX_DESC_SIZE, 1, count * RT2661_TX_DESC_SIZE,
 	    0, &ring->desc_dmat);
 #else
@@ -524,7 +524,7 @@ rt2661_alloc_tx_ring(struct rt2661_softc *sc, struct rt2661_tx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    RT2661_MAX_SCATTER, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -639,7 +639,7 @@ rt2661_alloc_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    count * RT2661_RX_DESC_SIZE, 1, count * RT2661_RX_DESC_SIZE,
 	    0, &ring->desc_dmat);
 #else
@@ -681,7 +681,7 @@ rt2661_alloc_rx_ring(struct rt2661_softc *sc, struct rt2661_rx_ring *ring,
 	 */
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    1, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
diff --git a/sys/dev/netif/ral/rt2860.c b/sys/dev/netif/ral/rt2860.c
index 4e16695a3f..b1d503875f 100644
--- a/sys/dev/netif/ral/rt2860.c
+++ b/sys/dev/netif/ral/rt2860.c
@@ -533,7 +533,7 @@ rt2860_alloc_tx_ring(struct rt2860_softc *sc, struct rt2860_tx_ring *ring)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 16, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    size, 1, size, 0, &ring->desc_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 16, 0,
@@ -646,7 +646,7 @@ rt2860_alloc_tx_pool(struct rt2860_softc *sc)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    size, 1, size, 0, &sc->txwi_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -727,7 +727,7 @@ rt2860_alloc_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 16, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    size, 1, size, 0, &ring->desc_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 16, 0,
@@ -755,7 +755,7 @@ rt2860_alloc_rx_ring(struct rt2860_softc *sc, struct rt2860_rx_ring *ring)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    1, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
diff --git a/sys/dev/netif/re/if_re.c b/sys/dev/netif/re/if_re.c
index b44a51cf0b..62fbc94fba 100644
--- a/sys/dev/netif/re/if_re.c
+++ b/sys/dev/netif/re/if_re.c
@@ -356,7 +356,6 @@ re_allocmem(device_t dev)
 			1, 0,			/* alignment, boundary */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 			0,			/* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -401,7 +400,6 @@ re_allocmem(device_t dev)
 	error = bus_dma_tag_create(sc->re_parent_tag,
 			1, 0,
 			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-			NULL, NULL,
 			RE_FRAMELEN_MAX, RE_MAXSEGS, MCLBYTES,
 			BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK | BUS_DMA_ONEBPAGE,
 			&sc->re_ldata.re_tx_mtag);
@@ -426,7 +424,6 @@ re_allocmem(device_t dev)
 	error = bus_dma_tag_create(sc->re_parent_tag,
 			RE_RXBUF_ALIGN, 0,
 			BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-			NULL, NULL,
 			MCLBYTES, 1, MCLBYTES,
 			BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK | BUS_DMA_ALIGNED,
 			&sc->re_ldata.re_rx_mtag);
diff --git a/sys/dev/netif/re/re.c b/sys/dev/netif/re/re.c
index f9715e9ca9..92d0c70ef9 100644
--- a/sys/dev/netif/re/re.c
+++ b/sys/dev/netif/re/re.c
@@ -1017,7 +1017,7 @@ static int re_alloc_buf(struct re_softc *sc)
 
         error = bus_dma_tag_create(sc->re_parent_tag, 1, 0,
                                    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL,
-                                   NULL, MCLBYTES* RE_NTXSEGS, RE_NTXSEGS, 4096, 0,
+                                   NULL, MCLBYTES * RE_NTXSEGS, RE_NTXSEGS, 4096, 0,
                                    NULL, NULL, &sc->re_desc.re_tx_mtag);
 
         if (error) {
diff --git a/sys/dev/netif/rl/if_rl.c b/sys/dev/netif/rl/if_rl.c
index 55ec840c37..835ba6c385 100644
--- a/sys/dev/netif/rl/if_rl.c
+++ b/sys/dev/netif/rl/if_rl.c
@@ -1692,7 +1692,6 @@ rl_dma_alloc(struct rl_softc *sc)
 			1, 0,			/* alignment, boundary */
 			BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 			0,			/* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -1725,7 +1724,6 @@ rl_dma_alloc(struct rl_softc *sc)
 			RL_TXBUF_ALIGN, 0,	/* alignment, boundary */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MCLBYTES,		/* maxsize */
 			1,			/* nsegments */
 			MCLBYTES,		/* maxsegsize */
diff --git a/sys/dev/netif/sis/if_sis.c b/sys/dev/netif/sis/if_sis.c
index 1225a6e8cb..8eff76efd6 100644
--- a/sys/dev/netif/sis/if_sis.c
+++ b/sys/dev/netif/sis/if_sis.c
@@ -2104,7 +2104,6 @@ sis_dma_alloc(device_t dev)
 			1, 0,			/* alignment, boundary */
 			BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 			0,			/* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -2142,7 +2141,6 @@ sis_dma_alloc(device_t dev)
 			1, 0,			/* alignment, boundary */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MCLBYTES,		/* maxsize */
 			SIS_NSEGS,		/* nsegments */
 			MCLBYTES,		/* maxsegsize */
@@ -2178,7 +2176,6 @@ sis_dma_alloc(device_t dev)
 			SIS_RXBUF_ALIGN, 0,	/* alignment, boundary */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MCLBYTES,		/* maxsize */
 			1,			/* nsegments */
 			MCLBYTES,		/* maxsegsize */
diff --git a/sys/dev/netif/sk/if_sk.c b/sys/dev/netif/sk/if_sk.c
index 24c9fff8e8..3c9a9947e5 100644
--- a/sys/dev/netif/sk/if_sk.c
+++ b/sys/dev/netif/sk/if_sk.c
@@ -3030,7 +3030,6 @@ sk_dma_alloc(device_t dev)
 	/* Create parent DMA tag */
 	error = bus_dma_tag_create(NULL, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0, &sc_if->sk_parent_dtag);
@@ -3043,7 +3042,6 @@ sk_dma_alloc(device_t dev)
 	error = bus_dma_tag_create(sc_if->sk_parent_dtag,
 				   1, SK_RING_BOUNDARY,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0, &rd->sk_ring_dtag);
@@ -3055,7 +3053,6 @@ sk_dma_alloc(device_t dev)
 	/* Create top level buffer DMA tag */
 	error = bus_dma_tag_create(sc_if->sk_parent_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0, &cd->sk_buf_dtag);
@@ -3102,7 +3099,6 @@ sk_dma_alloc(device_t dev)
 	/* Create DMA tag for TX. */
 	error = bus_dma_tag_create(cd->sk_buf_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   SK_JLEN, SK_NTXSEG, SK_JLEN,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK |
 				   BUS_DMA_ONEBPAGE,
@@ -3133,7 +3129,6 @@ sk_dma_alloc(device_t dev)
 	/* Create DMA tag for RX. */
 	error = bus_dma_tag_create(cd->sk_buf_dtag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &cd->sk_rx_dtag);
diff --git a/sys/dev/netif/stge/if_stge.c b/sys/dev/netif/stge/if_stge.c
index 117be232fd..26336981c5 100644
--- a/sys/dev/netif/stge/if_stge.c
+++ b/sys/dev/netif/stge/if_stge.c
@@ -856,7 +856,6 @@ stge_dma_alloc(struct stge_softc *sc)
 		    1, 0,			/* algnmnt, boundary */
 		    STGE_DMA_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 		    0,				/* nsegments */
 		    BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -900,7 +899,6 @@ stge_dma_alloc(struct stge_softc *sc)
 		    1, 0,			/* algnmnt, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    STGE_JUMBO_FRAMELEN,	/* maxsize */
 		    STGE_MAXTXSEGS,		/* nsegments */
 		    STGE_MAXSGSIZE,		/* maxsegsize */
@@ -938,7 +936,6 @@ stge_dma_alloc(struct stge_softc *sc)
 		    1, 0,			/* algnmnt, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    MCLBYTES,			/* maxsize */
 		    1,				/* nsegments */
 		    MCLBYTES,			/* maxsegsize */
diff --git a/sys/dev/netif/vge/if_vge.c b/sys/dev/netif/vge/if_vge.c
index 74ead1eecb..d510c42d55 100644
--- a/sys/dev/netif/vge/if_vge.c
+++ b/sys/dev/netif/vge/if_vge.c
@@ -749,7 +749,6 @@ vge_dma_alloc(device_t dev)
 			1, 0,			/* alignment, boundary */
 			BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			MAXBSIZE, VGE_NSEG_NEW,	/* maxsize, nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
 			BUS_DMA_ALLOCNOW,	/* flags */
@@ -765,7 +764,6 @@ vge_dma_alloc(device_t dev)
 	nseg = 32;
 	error = bus_dma_tag_create(sc->vge_parent_tag, ETHER_ALIGN, 0,
 				   BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES * nseg, nseg, MCLBYTES,
 				   BUS_DMA_ALLOCNOW, &sc->vge_ldata.vge_mtag);
 	if (error) {
@@ -778,7 +776,6 @@ vge_dma_alloc(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->vge_parent_tag, VGE_RING_ALIGN, 0,
 				   BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   VGE_TX_LIST_SZ, 1, VGE_TX_LIST_SZ,
 				   BUS_DMA_ALLOCNOW,
 				   &sc->vge_ldata.vge_tx_list_tag);
@@ -830,7 +827,6 @@ vge_dma_alloc(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->vge_parent_tag, VGE_RING_ALIGN, 0,
 				   BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   VGE_TX_LIST_SZ, 1, VGE_TX_LIST_SZ,
 				   BUS_DMA_ALLOCNOW,
 				   &sc->vge_ldata.vge_rx_list_tag);
diff --git a/sys/dev/netif/wpi/if_wpi.c b/sys/dev/netif/wpi/if_wpi.c
index a3ed4ea26d..bf397a58a0 100644
--- a/sys/dev/netif/wpi/if_wpi.c
+++ b/sys/dev/netif/wpi/if_wpi.c
@@ -930,7 +930,7 @@ wpi_dma_contig_alloc(struct wpi_softc *sc, struct wpi_dma_info *dma,
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), alignment,
-	    0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, size,
+	    0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, size,
 	    1, size, 0, &dma->tag);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), alignment,
@@ -1037,7 +1037,7 @@ wpi_alloc_rx_ring(struct wpi_softc *sc)
 	/* Create RX buffer DMA tag. */
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    MJUMPAGESIZE, 1, MJUMPAGESIZE, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
@@ -1226,7 +1226,7 @@ wpi_alloc_tx_ring(struct wpi_softc *sc, struct wpi_tx_ring *ring, uint8_t qid)
 
 #if defined(__DragonFly__)
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, MCLBYTES,
 	    WPI_MAX_SCATTER - 1, MCLBYTES, 0, &ring->data_dmat);
 #else
 	error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0,
diff --git a/sys/dev/netif/xl/if_xl.c b/sys/dev/netif/xl/if_xl.c
index b2ca469f1c..226be91c7c 100644
--- a/sys/dev/netif/xl/if_xl.c
+++ b/sys/dev/netif/xl/if_xl.c
@@ -1612,7 +1612,6 @@ xl_dma_alloc(device_t dev)
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
 				   BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   BUS_SPACE_MAXSIZE_32BIT,
 				   0, &sc->xl_parent_tag);
@@ -1657,7 +1656,6 @@ xl_dma_alloc(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->xl_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, 1, MCLBYTES,
 				   BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW,
 				   &sc->xl_rx_mtag);
@@ -1691,7 +1689,6 @@ xl_dma_alloc(device_t dev)
 
 	error = bus_dma_tag_create(sc->xl_parent_tag, 1, 0,
 				   BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
-				   NULL, NULL,
 				   MCLBYTES, XL_MAXFRAGS, MCLBYTES,
 				   BUS_DMA_ALLOCNOW | BUS_DMA_WAITOK,
 				   &sc->xl_tx_mtag);
diff --git a/sys/dev/raid/aac/aac.c b/sys/dev/raid/aac/aac.c
index 51aba99ec7..40b14a1044 100644
--- a/sys/dev/raid/aac/aac.c
+++ b/sys/dev/raid/aac/aac.c
@@ -506,7 +506,6 @@ aac_alloc(struct aac_softc *sc)
 			       BUS_SPACE_MAXADDR :
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       MAXBSIZE,		/* maxsize */
 			       sc->aac_sg_tablesize,	/* nsegments */
 			       MAXBSIZE,		/* maxsegsize */
@@ -525,7 +524,6 @@ aac_alloc(struct aac_softc *sc)
 			       BUS_SPACE_MAXADDR_32BIT :
 			       0x7fffffff,		/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       sc->aac_max_fibs_alloc *
 			       sc->aac_max_fib_size,  /* maxsize */
 			       1,			/* nsegments */
@@ -546,7 +544,6 @@ aac_alloc(struct aac_softc *sc)
 			       BUS_SPACE_MAXADDR_32BIT :
 			       0x7fffffff,		/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       8192 + sizeof(struct aac_common), /* maxsize */
 			       1,			/* nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
diff --git a/sys/dev/raid/aac/aac_pci.c b/sys/dev/raid/aac/aac_pci.c
index 78eb928ff2..ae0f4924ea 100644
--- a/sys/dev/raid/aac/aac_pci.c
+++ b/sys/dev/raid/aac/aac_pci.c
@@ -441,7 +441,6 @@ aac_pci_attach(device_t dev)
 			       PAGE_SIZE, 0,		/* algnmnt, boundary */
 			       BUS_SPACE_MAXADDR,	/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 			       BUS_SPACE_UNRESTRICTED,	/* nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
diff --git a/sys/dev/raid/amr/amr_pci.c b/sys/dev/raid/amr/amr_pci.c
index 0a56b6926f..045849400c 100644
--- a/sys/dev/raid/amr/amr_pci.c
+++ b/sys/dev/raid/amr/amr_pci.c
@@ -281,7 +281,6 @@ amr_pci_attach(device_t dev)
 			   BUS_SPACE_MAXADDR :
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, AMR_NSEG,		/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   0,				/* flags */
@@ -297,7 +296,6 @@ amr_pci_attach(device_t dev)
 			   1, 0,			/* alignment,boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR,		/* highaddr */
-			   NULL, NULL,			/* filter, filterarg */
 			   MAXBSIZE, AMR_NSEG,		/* maxsize, nsegments */
 			   MAXBSIZE,			/* maxsegsize */
 			   0,		/* flags */
@@ -310,7 +308,6 @@ amr_pci_attach(device_t dev)
 			   1, 0,			/* alignment,boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR,		/* highaddr */
-			   NULL, NULL,			/* filter, filterarg */
 			   MAXBSIZE, AMR_NSEG,		/* maxsize, nsegments */
 			   MAXBSIZE,			/* maxsegsize */
 			   0,		/* flags */
@@ -568,7 +565,6 @@ amr_sglist_map(struct amr_softc *sc)
 			       512, 0, 			/* alignment,boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       segsize, 1,		/* maxsize, nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			       0,			/* flags */
@@ -635,7 +631,6 @@ amr_setup_mbox(struct amr_softc *sc)
 			       16, 0,			/* alignment,boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       sizeof(struct amr_mailbox64), /* maxsize */
 			       1,			/* nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -684,7 +679,6 @@ amr_ccb_map(struct amr_softc *sc)
 				128, 0,			/* alignment,boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				ccbsize,		/* maxsize */
 				1,			/* nsegments */
 				ccbsize,		/* maxsegsize */
diff --git a/sys/dev/raid/arcmsr/arcmsr.c b/sys/dev/raid/arcmsr/arcmsr.c
index f2986a25d7..b2a48c4cae 100644
--- a/sys/dev/raid/arcmsr/arcmsr.c
+++ b/sys/dev/raid/arcmsr/arcmsr.c
@@ -4366,8 +4366,6 @@ static u_int32_t arcmsr_initialize(device_t dev)
 				/*boundary*/		0,
 				/*lowaddr*/		BUS_SPACE_MAXADDR,
 				/*highaddr*/		BUS_SPACE_MAXADDR,
-				/*filter*/		NULL,
-				/*filterarg*/		NULL,
 				/*maxsize*/		BUS_SPACE_MAXSIZE_32BIT,
 				/*nsegments*/		BUS_SPACE_UNRESTRICTED,
 				/*maxsegsz*/		BUS_SPACE_MAXSIZE_32BIT,
@@ -4383,8 +4381,6 @@ static u_int32_t arcmsr_initialize(device_t dev)
 				/*boundary*/		0,
 				/*lowaddr*/		BUS_SPACE_MAXADDR,
 				/*highaddr*/		BUS_SPACE_MAXADDR,
-				/*filter*/		NULL,
-				/*filterarg*/		NULL,
 				/*maxsize*/		ARCMSR_MAX_SG_ENTRIES * PAGE_SIZE * ARCMSR_MAX_FREESRB_NUM,
 				/*nsegments*/		ARCMSR_MAX_SG_ENTRIES,
 				/*maxsegsz*/		BUS_SPACE_MAXSIZE_32BIT,
@@ -4402,8 +4398,6 @@ static u_int32_t arcmsr_initialize(device_t dev)
 				/*boundary*/		0,
 				/*lowaddr*/		BUS_SPACE_MAXADDR_32BIT,
 				/*highaddr*/		BUS_SPACE_MAXADDR,
-				/*filter*/		NULL,
-				/*filterarg*/		NULL,
 				/*maxsize*/		max_coherent_size,
 				/*nsegments*/		1,
 				/*maxsegsz*/		BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/raid/asr/asr.c b/sys/dev/raid/asr/asr.c
index 34a3fbfb47..0207c0b155 100644
--- a/sys/dev/raid/asr/asr.c
+++ b/sys/dev/raid/asr/asr.c
@@ -2309,7 +2309,6 @@ asr_alloc_dma(Asr_softc_t *sc)
 			       1, 0,			/* algnmnt, boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       BUS_SPACE_MAXSIZE_32BIT, /* maxsize */
 			       BUS_SPACE_UNRESTRICTED,	/* nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -2323,7 +2322,6 @@ asr_alloc_dma(Asr_softc_t *sc)
 			       1, 0,			/* algnmnt, boundary */
 			       BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			       BUS_SPACE_MAXADDR,	/* highaddr */
-			       NULL, NULL,		/* filter, filterarg */
 			       sizeof(sc->ha_statusmem),/* maxsize */
 			       1,			/* nsegments */
 			       sizeof(sc->ha_statusmem),/* maxsegsize */
diff --git a/sys/dev/raid/ciss/ciss.c b/sys/dev/raid/ciss/ciss.c
index 018066898b..b62c3a0608 100644
--- a/sys/dev/raid/ciss/ciss.c
+++ b/sys/dev/raid/ciss/ciss.c
@@ -803,7 +803,6 @@ ciss_init_pci(struct ciss_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsize */
 			   CISS_MAX_SG_ELEMENTS,	/* nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -821,7 +820,6 @@ ciss_init_pci(struct ciss_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, CISS_MAX_SG_ELEMENTS,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
@@ -896,7 +894,6 @@ ciss_init_perf(struct ciss_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   reply_size, 1,		/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   0,				/* flags */
@@ -1093,7 +1090,6 @@ ciss_init_requests(struct ciss_softc *sc)
 			   32, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   CISS_COMMAND_ALLOC_SIZE *
 			   sc->ciss_max_requests, 1,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
diff --git a/sys/dev/raid/dpt/dpt_pci.c b/sys/dev/raid/dpt/dpt_pci.c
index 0c4637322f..e9d876f46b 100644
--- a/sys/dev/raid/dpt/dpt_pci.c
+++ b/sys/dev/raid/dpt/dpt_pci.c
@@ -136,8 +136,6 @@ dpt_pci_attach (device_t dev)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	BUS_SPACE_MAXSIZE_32BIT,
 				/* nsegments */	BUS_SPACE_UNRESTRICTED,
 				/* maxsegsz  */	BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/raid/dpt/dpt_scsi.c b/sys/dev/raid/dpt/dpt_scsi.c
index 0f7dc9f79d..c10c17297c 100644
--- a/sys/dev/raid/dpt/dpt_scsi.c
+++ b/sys/dev/raid/dpt/dpt_scsi.c
@@ -1251,7 +1251,6 @@ dpt_init(struct dpt_softc *dpt)
 	if (bus_dma_tag_create(dpt->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       PAGE_SIZE, /*nsegments*/1,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
 			       /*flags*/0, &dpt->sg_dmat) != 0) {
@@ -1373,7 +1372,6 @@ dpt_init(struct dpt_softc *dpt)
 	if (bus_dma_tag_create(dpt->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/MAXBSIZE, /*nsegments*/dpt->sgsize,
 			       /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
 			       /*flags*/BUS_DMA_ALLOCNOW,
@@ -1388,7 +1386,6 @@ dpt_init(struct dpt_softc *dpt)
 	if (bus_dma_tag_create(dpt->parent_dmat, /*alignment*/1, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       (dpt->max_dccbs * sizeof(struct dpt_ccb))
 			       + sizeof(dpt_sp_t),
 			       /*nsegments*/1,
diff --git a/sys/dev/raid/hpt27xx/hpt27xx_osm_bsd.c b/sys/dev/raid/hpt27xx/hpt27xx_osm_bsd.c
index 5985ae215f..db6605f9aa 100644
--- a/sys/dev/raid/hpt27xx/hpt27xx_osm_bsd.c
+++ b/sys/dev/raid/hpt27xx/hpt27xx_osm_bsd.c
@@ -1043,7 +1043,6 @@ static void hpt_final_init(void *dummy)
 				BUS_SPACE_MAXADDR_32BIT+1, /* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				PAGE_SIZE * (os_max_sg_descriptors-1),	/* maxsize */
 				os_max_sg_descriptors,	/* nsegments */
 				0x10000,	/* maxsegsize */
diff --git a/sys/dev/raid/hptiop/hptiop.c b/sys/dev/raid/hptiop/hptiop.c
index b42e8ab9a1..f57dd1f22b 100644
--- a/sys/dev/raid/hptiop/hptiop.c
+++ b/sys/dev/raid/hptiop/hptiop.c
@@ -1575,7 +1575,6 @@ static int hptiop_internal_memalloc_mv(struct hpt_iop_hba *hba)
 				0,
 				BUS_SPACE_MAXADDR_32BIT,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				0x800 - 0x8,
 				1,
 				BUS_SPACE_MAXSIZE_32BIT,
@@ -1630,7 +1629,6 @@ static int hptiop_internal_memalloc_mvfrey(struct hpt_iop_hba *hba)
 				0,
 				BUS_SPACE_MAXADDR_32BIT,
 				BUS_SPACE_MAXADDR,
-				NULL, NULL,
 				hba->u.mvfrey.internal_mem_size,
 				1,
 				BUS_SPACE_MAXSIZE_32BIT,
@@ -1905,7 +1903,6 @@ static int hptiop_attach(device_t dev)
 			0, /* boundary */
 			BUS_SPACE_MAXADDR,  /* lowaddr */
 			BUS_SPACE_MAXADDR,  /* highaddr */
-			NULL, NULL,         /* filter, filterarg */
 			BUS_SPACE_MAXSIZE_32BIT,    /* maxsize */
 			BUS_SPACE_UNRESTRICTED, /* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,    /* maxsegsize */
@@ -1951,7 +1948,6 @@ static int hptiop_attach(device_t dev)
 			BUS_SPACE_MAXADDR_32BIT+1, /* boundary */
 			BUS_SPACE_MAXADDR,  /* lowaddr */
 			BUS_SPACE_MAXADDR,  /* highaddr */
-			NULL, NULL,         /* filter, filterarg */
 			PAGE_SIZE * (hba->max_sg_count-1),  /* maxsize */
 			hba->max_sg_count,  /* nsegments */
 			0x20000,    /* maxsegsize */
@@ -1967,7 +1963,6 @@ static int hptiop_attach(device_t dev)
 			0, /* boundary */
 			BUS_SPACE_MAXADDR_32BIT,    /* lowaddr */
 			BUS_SPACE_MAXADDR,  /* highaddr */
-			NULL, NULL,         /* filter, filterarg */
 			HPT_SRB_MAX_SIZE * HPT_SRB_MAX_QUEUE_SIZE + 0x20,
 			1,  /* nsegments */
 			BUS_SPACE_MAXSIZE_32BIT,    /* maxsegsize */
diff --git a/sys/dev/raid/hptmv/entry.c b/sys/dev/raid/hptmv/entry.c
index 91b75fd198..d25fafcff3 100644
--- a/sys/dev/raid/hptmv/entry.c
+++ b/sys/dev/raid/hptmv/entry.c
@@ -1297,7 +1297,6 @@ init_adapter(IAL_ADAPTER_T *pAdapter)
 			BUS_SPACE_MAXADDR_32BIT+1, /* boundary */
 			BUS_SPACE_MAXADDR,	/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL, 		/* filter, filterarg */
 			PAGE_SIZE * (MAX_SG_DESCRIPTORS-1), /* maxsize */
 			MAX_SG_DESCRIPTORS, /* nsegments */
 			0x10000,	/* maxsegsize */
diff --git a/sys/dev/raid/hptrr/hptrr_osm_bsd.c b/sys/dev/raid/hptrr/hptrr_osm_bsd.c
index 3111259e93..5d35f39d7b 100644
--- a/sys/dev/raid/hptrr/hptrr_osm_bsd.c
+++ b/sys/dev/raid/hptrr/hptrr_osm_bsd.c
@@ -1018,7 +1018,6 @@ static void hpt_final_init(void *dummy)
 				BUS_SPACE_MAXADDR_32BIT+1, /* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				PAGE_SIZE * (os_max_sg_descriptors-1),	/* maxsize */
 				os_max_sg_descriptors,	/* nsegments */
 				0x10000,	/* maxsegsize */
diff --git a/sys/dev/raid/ida/ida.c b/sys/dev/raid/ida/ida.c
index 7ed80cf921..d6dfdc8d25 100644
--- a/sys/dev/raid/ida/ida.c
+++ b/sys/dev/raid/ida/ida.c
@@ -199,7 +199,6 @@ ida_init(struct ida_softc *ida)
 	error = bus_dma_tag_create(ida->parent_dmat,
 	    /*alignment*/1, /*boundary*/0,
 	    /*lowaddr*/BUS_SPACE_MAXADDR, /*highaddr*/BUS_SPACE_MAXADDR,
-	    /*filter*/NULL, /*filterarg*/NULL,
 	    IDA_QCB_MAX * sizeof(struct ida_hardware_qcb),
 	    /*nsegments*/1, /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
 	    /*flags*/0, &ida->hwqcb_dmat);
@@ -210,7 +209,6 @@ ida_init(struct ida_softc *ida)
 	error = bus_dma_tag_create(ida->parent_dmat,
 	    /*alignment*/1, /*boundary*/0,
 	    /*lowaddr*/BUS_SPACE_MAXADDR, /*highaddr*/BUS_SPACE_MAXADDR,
-	    /*filter*/NULL, /*filterarg*/NULL,
 	    /*maxsize*/MAXBSIZE, /*nsegments*/IDA_NSEG,
 	    /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT, /*flags*/0, &ida->buffer_dmat);
 	if (error)
diff --git a/sys/dev/raid/ida/ida_pci.c b/sys/dev/raid/ida/ida_pci.c
index c79f13e758..8e95b39a78 100644
--- a/sys/dev/raid/ida/ida_pci.c
+++ b/sys/dev/raid/ida/ida_pci.c
@@ -259,7 +259,7 @@ ida_pci_attach(device_t dev)
 
 	error = bus_dma_tag_create(/*parent*/NULL, /*alignment*/1,
 	    /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
-	    /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL,
+	    /*highaddr*/BUS_SPACE_MAXADDR,
 	    /*maxsize*/MAXBSIZE, /*nsegments*/IDA_NSEG,
 	    /*maxsegsize*/BUS_SPACE_MAXSIZE_32BIT, /*flags*/BUS_DMA_ALLOCNOW,
 	    &ida->parent_dmat);
diff --git a/sys/dev/raid/iir/iir.c b/sys/dev/raid/iir/iir.c
index 33ed468779..820080606e 100644
--- a/sys/dev/raid/iir/iir.c
+++ b/sys/dev/raid/iir/iir.c
@@ -202,7 +202,6 @@ iir_init(struct gdt_softc *gdt)
     if (bus_dma_tag_create(gdt->sc_parent_dmat, /*alignment*/1, /*boundary*/0,
                            /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
                            /*highaddr*/BUS_SPACE_MAXADDR,
-                           /*filter*/NULL, /*filterarg*/NULL,
                            /*maxsize*/MAXBSIZE, /*nsegments*/GDT_MAXSG,
                            /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
                            /*flags*/BUS_DMA_ALLOCNOW,
@@ -219,8 +218,6 @@ iir_init(struct gdt_softc *gdt)
 			   /*boundary*/0,
                            /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
                            /*highaddr*/BUS_SPACE_MAXADDR,
-                           /*filter*/NULL,
-			   /*filterarg*/NULL,
                            GDT_MAXCMDS * GDT_SCRATCH_SZ, /* maxsize */
                            /*nsegments*/1,
                            /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/raid/iir/iir_pci.c b/sys/dev/raid/iir/iir_pci.c
index 9dc69ee59b..9b49f7a0d9 100644
--- a/sys/dev/raid/iir/iir_pci.c
+++ b/sys/dev/raid/iir/iir_pci.c
@@ -314,7 +314,6 @@ iir_pci_attach(device_t dev)
     if (bus_dma_tag_create(/*parent*/NULL, /*alignemnt*/1, /*boundary*/0,
                            /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
                            /*highaddr*/BUS_SPACE_MAXADDR,
-                           /*filter*/NULL, /*filterarg*/NULL,
                            /*maxsize*/BUS_SPACE_MAXSIZE_32BIT,
                            /*nsegments*/GDT_MAXSG,
                            /*maxsegsz*/BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/raid/ips/ips.c b/sys/dev/raid/ips/ips.c
index 5835928a61..22cb49454f 100644
--- a/sys/dev/raid/ips/ips.c
+++ b/sys/dev/raid/ips/ips.c
@@ -383,8 +383,6 @@ ips_adapter_init(ips_softc_t *sc)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	IPS_COMMAND_LEN +
 						    IPS_MAX_SG_LEN,
 				/* numsegs   */	1,
@@ -400,8 +398,6 @@ ips_adapter_init(ips_softc_t *sc)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	IPS_MAX_IOBUF_SIZE,
 				/* numsegs   */	IPS_MAX_SG_ELEMENTS,
 				/* maxsegsize*/	IPS_MAX_IOBUF_SIZE,
@@ -642,8 +638,6 @@ ips_copperhead_queue_init(ips_softc_t *sc)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	sizeof(ips_copper_queue_t),
 				/* numsegs   */	1,
 				/* maxsegsize*/	sizeof(ips_copper_queue_t),
diff --git a/sys/dev/raid/ips/ips_commands.c b/sys/dev/raid/ips/ips_commands.c
index 499b5f36db..99b435292e 100644
--- a/sys/dev/raid/ips/ips_commands.c
+++ b/sys/dev/raid/ips/ips_commands.c
@@ -295,8 +295,6 @@ ips_send_adapter_info_cmd(ips_command_t *command)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	IPS_ADAPTER_INFO_LEN,
 				/* numsegs   */	1,
 				/* maxsegsize*/	IPS_ADAPTER_INFO_LEN,
@@ -395,8 +393,6 @@ ips_send_drive_info_cmd(ips_command_t *command)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	IPS_DRIVE_INFO_LEN,
 				/* numsegs   */	1,
 				/* maxsegsize*/	IPS_DRIVE_INFO_LEN,
@@ -655,8 +651,6 @@ ips_read_nvram(ips_command_t *command)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	IPS_NVRAM_PAGE_SIZE,
 				/* numsegs   */	1,
 				/* maxsegsize*/	IPS_NVRAM_PAGE_SIZE,
diff --git a/sys/dev/raid/ips/ips_ioctl.c b/sys/dev/raid/ips/ips_ioctl.c
index 4e4540352d..8a6444c4be 100644
--- a/sys/dev/raid/ips/ips_ioctl.c
+++ b/sys/dev/raid/ips/ips_ioctl.c
@@ -106,8 +106,6 @@ ips_ioctl_cmd(ips_softc_t *sc, ips_ioctl_t *ioctl_cmd,
 			/* boundary  */	0,
 			/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 			/* highaddr  */	BUS_SPACE_MAXADDR,
-			/* filter    */	NULL,
-			/* filterarg */	NULL,
 			/* maxsize   */	ioctl_cmd->datasize,
 			/* numsegs   */	1,
 			/* maxsegsize*/	ioctl_cmd->datasize,
diff --git a/sys/dev/raid/ips/ips_pci.c b/sys/dev/raid/ips/ips_pci.c
index 011e7e49ab..83551f01e1 100644
--- a/sys/dev/raid/ips/ips_pci.c
+++ b/sys/dev/raid/ips/ips_pci.c
@@ -140,8 +140,6 @@ ips_pci_attach(device_t dev)
 				/* boundary  */	0,
 				/* lowaddr   */	BUS_SPACE_MAXADDR_32BIT,
 				/* highaddr  */	BUS_SPACE_MAXADDR,
-				/* filter    */	NULL,
-				/* filterarg */	NULL,
 				/* maxsize   */	BUS_SPACE_MAXSIZE_32BIT,
 				/* numsegs   */	IPS_MAX_SG_ELEMENTS,
 				/* maxsegsize*/	BUS_SPACE_MAXSIZE_32BIT,
diff --git a/sys/dev/raid/mfi/mfi.c b/sys/dev/raid/mfi/mfi.c
index 3a586755dd..5a727c9b45 100644
--- a/sys/dev/raid/mfi/mfi.c
+++ b/sys/dev/raid/mfi/mfi.c
@@ -421,7 +421,6 @@ mfi_attach(struct mfi_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				MEGASAS_MAX_NAME*sizeof(bus_addr_t),			/* maxsize */
 				1,			/* msegments */
 				MEGASAS_MAX_NAME*sizeof(bus_addr_t),			/* maxsegsize */
@@ -465,7 +464,6 @@ mfi_attach(struct mfi_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				tb_mem_size,		/* maxsize */
 				1,			/* msegments */
 				tb_mem_size,		/* maxsegsize */
@@ -488,7 +486,6 @@ mfi_attach(struct mfi_softc *sc)
 				0x100, 0,		/* alignmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				MFI_FRAME_SIZE,		/* maxsize */
 				1,			/* msegments */
 				MFI_FRAME_SIZE,		/* maxsegsize */
@@ -523,7 +520,6 @@ mfi_attach(struct mfi_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				tb_mem_size,		/* maxsize */
 				1,			/* msegments */
 				tb_mem_size,		/* maxsegsize */
@@ -552,7 +548,6 @@ mfi_attach(struct mfi_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 				sc->mfi_max_sge,	/* nsegments */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -574,7 +569,6 @@ mfi_attach(struct mfi_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				commsz,			/* maxsize */
 				1,			/* msegments */
 				commsz,			/* maxsegsize */
@@ -616,7 +610,6 @@ mfi_attach(struct mfi_softc *sc)
 				64, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				framessz,		/* maxsize */
 				1,			/* nsegments */
 				framessz,		/* maxsegsize */
@@ -642,7 +635,6 @@ mfi_attach(struct mfi_softc *sc)
 				4, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				sensesz,		/* maxsize */
 				1,			/* nsegments */
 				sensesz,		/* maxsegsize */
@@ -2757,7 +2749,6 @@ mfi_stp_cmd(struct mfi_softc *sc, struct mfi_command *cm,caddr_t arg)
 			1, 0,			/* algnmnt, boundary */
 			BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 			BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
 			ioc->mfi_sgl[i].iov_len,/* maxsize */
 			2,			/* nsegments */
 			ioc->mfi_sgl[i].iov_len,/* maxsegsize */
diff --git a/sys/dev/raid/mfi/mfi_pci.c b/sys/dev/raid/mfi/mfi_pci.c
index 4d62eec028..16b87a1cda 100644
--- a/sys/dev/raid/mfi/mfi_pci.c
+++ b/sys/dev/raid/mfi/mfi_pci.c
@@ -272,7 +272,6 @@ mfi_pci_attach(device_t dev)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 				BUS_SPACE_UNRESTRICTED,	/* nsegments */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
diff --git a/sys/dev/raid/mlx/mlx.c b/sys/dev/raid/mlx/mlx.c
index 75e4f3e5fd..aab5315aa9 100644
--- a/sys/dev/raid/mlx/mlx.c
+++ b/sys/dev/raid/mlx/mlx.c
@@ -236,7 +236,6 @@ mlx_sglist_map(struct mlx_softc *sc)
 			       1, 0, 			/* alignment, boundary */
 			       BUS_SPACE_MAXADDR,	/* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       segsize, 1,		/* maxsize, nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			       0,			/* flags */
@@ -365,7 +364,6 @@ mlx_attach(struct mlx_softc *sc)
 			       1, 0, 				/* alignment, boundary */
 			       BUS_SPACE_MAXADDR,		/* lowaddr */
 			       BUS_SPACE_MAXADDR, 		/* highaddr */
-			       NULL, NULL, 			/* filter, filterarg */
 			       MAXBSIZE, MLX_NSEG,		/* maxsize, nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,		/* maxsegsize */
 			       0,				/* flags */
diff --git a/sys/dev/raid/mlx/mlx_pci.c b/sys/dev/raid/mlx/mlx_pci.c
index 7955bc3ba3..596cbf7ab7 100644
--- a/sys/dev/raid/mlx/mlx_pci.c
+++ b/sys/dev/raid/mlx/mlx_pci.c
@@ -186,7 +186,6 @@ mlx_pci_attach(device_t dev)
 			       1, 0, 			/* alignment, boundary */
 			       BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
 			       BUS_SPACE_MAXADDR, 	/* highaddr */
-			       NULL, NULL, 		/* filter, filterarg */
 			       MAXBSIZE, MLX_NSEG,	/* maxsize, nsegments */
 			       BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			       BUS_DMA_ALLOCNOW,	/* flags */
diff --git a/sys/dev/raid/mly/mly.c b/sys/dev/raid/mly/mly.c
index f56286a2dc..ead19fd79f 100644
--- a/sys/dev/raid/mly/mly.c
+++ b/sys/dev/raid/mly/mly.c
@@ -401,7 +401,6 @@ mly_pci_attach(struct mly_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, MLY_MAX_SGENTRIES,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
@@ -417,7 +416,6 @@ mly_pci_attach(struct mly_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, MLY_MAX_SGENTRIES,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   0,				/* flags */
@@ -433,7 +431,6 @@ mly_pci_attach(struct mly_softc *sc)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   sizeof(union mly_command_packet) * MLY_MAX_COMMANDS, 1,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
@@ -580,7 +577,6 @@ mly_sg_map(struct mly_softc *sc)
 			   1, 0, 			/* alignment,boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   segsize, 1,			/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
@@ -636,7 +632,6 @@ mly_mmbox_map(struct mly_softc *sc)
 			   1, 0, 			/* alignment,boundary */
 			   BUS_SPACE_MAXADDR,		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   sizeof(struct mly_mmbox), 1,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
diff --git a/sys/dev/raid/mpr/mpr.c b/sys/dev/raid/mpr/mpr.c
index 0bc446919c..1a1f11b7f2 100644
--- a/sys/dev/raid/mpr/mpr.c
+++ b/sys/dev/raid/mpr/mpr.c
@@ -1308,7 +1308,6 @@ mpr_alloc_hw_queues(struct mpr_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 qsize,			/* maxsize */
                                 1,			/* nsegments */
                                 qsize,			/* maxsegsize */
@@ -1358,7 +1357,6 @@ mpr_alloc_replies(struct mpr_softc *sc)
 				4, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -1418,7 +1416,6 @@ mpr_alloc_requests(struct mpr_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -1449,7 +1446,6 @@ mpr_alloc_requests(struct mpr_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				rsize,			/* maxsize */
 				howmany(rsize, PAGE_SIZE), /* nsegments */
 				rsize,			/* maxsegsize */
@@ -1476,7 +1472,6 @@ mpr_alloc_requests(struct mpr_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -1511,7 +1506,6 @@ mpr_alloc_requests(struct mpr_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
                                 nsegs,			/* nsegments */
                                 BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
@@ -1606,7 +1600,6 @@ mpr_alloc_nvme_prp_pages(struct mpr_softc *sc)
 				4, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				rsize,			/* maxsize */
 				1,			/* nsegments */
 				rsize,			/* maxsegsize */
diff --git a/sys/dev/raid/mpr/mpr_pci.c b/sys/dev/raid/mpr/mpr_pci.c
index d8a28a9fe7..12eda7cb72 100644
--- a/sys/dev/raid/mpr/mpr_pci.c
+++ b/sys/dev/raid/mpr/mpr_pci.c
@@ -223,7 +223,6 @@ mpr_pci_attach(device_t dev)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 				BUS_SPACE_UNRESTRICTED,	/* nsegments */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
diff --git a/sys/dev/raid/mpr/mpr_user.c b/sys/dev/raid/mpr/mpr_user.c
index 1de6fca57e..767a4a1ac3 100644
--- a/sys/dev/raid/mpr/mpr_user.c
+++ b/sys/dev/raid/mpr/mpr_user.c
@@ -1509,7 +1509,6 @@ mpr_diag_register(struct mpr_softc *sc, mpr_fw_diag_register_t *diag_register,
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 buffer_size,		/* maxsize */
                                 1,			/* nsegments */
                                 buffer_size,		/* maxsegsize */
diff --git a/sys/dev/raid/mps/mps.c b/sys/dev/raid/mps/mps.c
index 4c1a15c24d..32662486b3 100644
--- a/sys/dev/raid/mps/mps.c
+++ b/sys/dev/raid/mps/mps.c
@@ -679,7 +679,6 @@ mps_alloc_queues(struct mps_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 qsize,			/* maxsize */
                                 1,			/* nsegments */
                                 qsize,			/* maxsegsize */
@@ -722,7 +721,6 @@ mps_alloc_replies(struct mps_softc *sc)
 				4, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -755,7 +753,6 @@ mps_alloc_requests(struct mps_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -778,7 +775,6 @@ mps_alloc_requests(struct mps_softc *sc)
 				16, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -801,7 +797,6 @@ mps_alloc_requests(struct mps_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 rsize,			/* maxsize */
                                 1,			/* nsegments */
                                 rsize,			/* maxsegsize */
@@ -837,7 +832,6 @@ mps_alloc_requests(struct mps_softc *sc)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
                                 nsegs,			/* nsegments */
                                 BUS_SPACE_MAXSIZE_24BIT,/* maxsegsize */
diff --git a/sys/dev/raid/mps/mps_pci.c b/sys/dev/raid/mps/mps_pci.c
index 58ba019993..045d882343 100644
--- a/sys/dev/raid/mps/mps_pci.c
+++ b/sys/dev/raid/mps/mps_pci.c
@@ -221,7 +221,6 @@ mps_pci_attach(device_t dev)
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsize */
 				BUS_SPACE_UNRESTRICTED,	/* nsegments */
 				BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
diff --git a/sys/dev/raid/mps/mps_user.c b/sys/dev/raid/mps/mps_user.c
index f68ffbb9bb..cf81c40f43 100644
--- a/sys/dev/raid/mps/mps_user.c
+++ b/sys/dev/raid/mps/mps_user.c
@@ -1377,7 +1377,6 @@ mps_diag_register(struct mps_softc *sc, mps_fw_diag_register_t *diag_register,
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,		/* filter, filterarg */
                                 buffer_size,		/* maxsize */
                                 1,			/* nsegments */
                                 buffer_size,		/* maxsegsize */
diff --git a/sys/dev/raid/mrsas/mrsas.c b/sys/dev/raid/mrsas/mrsas.c
index 7db5696247..38a2742cb4 100644
--- a/sys/dev/raid/mrsas/mrsas.c
+++ b/sys/dev/raid/mrsas/mrsas.c
@@ -479,7 +479,6 @@ int mrsas_alloc_evt_log_info_cmd(struct mrsas_softc *sc)
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             el_info_size,          // maxsize
                             1,                      // msegments
                             el_info_size,          // maxsegsize
@@ -1412,7 +1411,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                            0,                      /* boundary */
                            BUS_SPACE_MAXADDR,     /* lowaddr */
                            BUS_SPACE_MAXADDR,      /* highaddr */
-                           NULL, NULL,             /* filter, filterarg */
                            MRSAS_MAX_IO_SIZE,/* maxsize */
                            MRSAS_MAX_SGL, /* nsegments */
                            MRSAS_MAX_IO_SIZE,/* maxsegsize */
@@ -1431,7 +1429,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                            1, 0,                   // algnmnt, boundary
                            BUS_SPACE_MAXADDR_32BIT,// lowaddr
                            BUS_SPACE_MAXADDR,      // highaddr
-                           NULL, NULL,             // filter, filterarg
                            verbuf_size,           // maxsize
                            1,                      // msegments
                            verbuf_size,           // maxsegsize
@@ -1460,7 +1457,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                             16, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             io_req_size,            // maxsize
                             1,                      // msegments
                             io_req_size,            // maxsegsize
@@ -1490,7 +1486,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                             4, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             chain_frame_size,       // maxsize
                             1,                      // msegments
                             chain_frame_size,       // maxsegsize
@@ -1520,7 +1515,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                             16, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             reply_desc_size,        // maxsize
                             1,                      // msegments
                             reply_desc_size,        // maxsegsize
@@ -1549,7 +1543,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                             64, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             sense_size,             // maxsize
                             1,                      // nsegments
                             sense_size,             // maxsegsize
@@ -1578,7 +1571,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             evt_detail_size,        // maxsize
                             1,                      // msegments
                             evt_detail_size,        // maxsegsize
@@ -1610,7 +1602,6 @@ static int mrsas_alloc_mem(struct mrsas_softc *sc)
                            0,                      // boundary 
                            BUS_SPACE_MAXADDR,      // lowaddr 
                            BUS_SPACE_MAXADDR,      // highaddr 
-                           NULL, NULL,             // filter, filterarg 
                            MRSAS_MAX_IO_SIZE,      // maxsize 
                            MRSAS_MAX_SGL,          // nsegments 
                            MRSAS_MAX_IO_SIZE,      // maxsegsize 
@@ -1660,7 +1651,6 @@ static int mrsas_setup_raidmap(struct mrsas_softc *sc)
                             4, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             sc->map_sz,             // maxsize
                             1,                      // nsegments
                             sc->map_sz,             // maxsegsize
@@ -1864,7 +1854,6 @@ int mrsas_alloc_ioc_cmd(struct mrsas_softc *sc)
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             ioc_init_size,          // maxsize
                             1,                      // msegments
                             ioc_init_size,          // maxsegsize
@@ -2660,7 +2649,6 @@ int mrsas_alloc_ctlr_info_cmd(struct mrsas_softc *sc)
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             ctlr_info_size,          // maxsize
                             1,                      // msegments
                             ctlr_info_size,          // maxsegsize
@@ -3423,7 +3411,6 @@ int mrsas_alloc_tmp_dcmd(struct mrsas_softc *sc, struct mrsas_tmp_dcmd *tcmd,
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             size,                   // maxsize
                             1,                      // msegments
                             size,                   // maxsegsize
diff --git a/sys/dev/raid/mrsas/mrsas_ioctl.c b/sys/dev/raid/mrsas/mrsas_ioctl.c
index 53e649b76c..79b1e7a813 100644
--- a/sys/dev/raid/mrsas/mrsas_ioctl.c
+++ b/sys/dev/raid/mrsas/mrsas_ioctl.c
@@ -230,7 +230,6 @@ int mrsas_passthru( struct mrsas_softc *sc, void *arg )
                                 1, 0,                   // algnmnt, boundary
                                 BUS_SPACE_MAXADDR_32BIT,// lowaddr
                                 BUS_SPACE_MAXADDR,      // highaddr
-                                NULL, NULL,             // filter, filterarg
                                 ioctl_data_size,        // maxsize
                                 1,                      // msegments
                                 ioctl_data_size,        // maxsegsize
@@ -270,7 +269,6 @@ int mrsas_passthru( struct mrsas_softc *sc, void *arg )
                                 1, 0,                   // algnmnt, boundary
                                 BUS_SPACE_MAXADDR_32BIT,// lowaddr
                                 BUS_SPACE_MAXADDR,      // highaddr
-                                NULL, NULL,             // filter, filterarg
                                 ioctl_sense_size,       // maxsize
                                 1,                      // msegments
                                 ioctl_sense_size,       // maxsegsize
@@ -454,7 +452,6 @@ static int mrsas_create_frame_pool(struct mrsas_softc *sc)
                             1, 0,                   // algnmnt, boundary
                             BUS_SPACE_MAXADDR_32BIT,// lowaddr
                             BUS_SPACE_MAXADDR,      // highaddr
-                            NULL, NULL,             // filter, filterarg
                             MRSAS_MFI_FRAME_SIZE,   // maxsize
                             1,                      // msegments
                             MRSAS_MFI_FRAME_SIZE,   // maxsegsize
diff --git a/sys/dev/raid/twa/tw_osl_freebsd.c b/sys/dev/raid/twa/tw_osl_freebsd.c
index 723a6c2fc4..0313c249da 100644
--- a/sys/dev/raid/twa/tw_osl_freebsd.c
+++ b/sys/dev/raid/twa/tw_osl_freebsd.c
@@ -537,7 +537,6 @@ tw_osli_alloc_mem(struct twa_softc *sc)
 				TW_OSLI_DMA_BOUNDARY,	/* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				TW_CL_MAX_IO_SIZE,	/* maxsize */
 				max_sg_elements,	/* nsegments */
 				TW_CL_MAX_IO_SIZE,	/* maxsegsize */
@@ -558,7 +557,6 @@ tw_osli_alloc_mem(struct twa_softc *sc)
 				0,			/* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				dma_mem_size,		/* maxsize */
 				1,			/* nsegments */
 				BUS_SPACE_MAXSIZE,	/* maxsegsize */
@@ -603,7 +601,6 @@ tw_osli_alloc_mem(struct twa_softc *sc)
 				0,			/* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				TW_CL_MAX_IO_SIZE,	/* maxsize */
 				max_sg_elements,	/* nsegments */
 				TW_CL_MAX_IO_SIZE,	/* maxsegsize */
@@ -627,7 +624,6 @@ tw_osli_alloc_mem(struct twa_softc *sc)
 				0,			/* boundary */
 				BUS_SPACE_MAXADDR,	/* lowaddr */
 				BUS_SPACE_MAXADDR, 	/* highaddr */
-				NULL, NULL, 		/* filter, filterarg */
 				TW_CL_MAX_IO_SIZE,	/* maxsize */
 				max_sg_elements,	/* nsegments */
 				TW_CL_MAX_IO_SIZE,	/* maxsegsize */
diff --git a/sys/dev/raid/twe/twe_freebsd.c b/sys/dev/raid/twe/twe_freebsd.c
index 428b5d0294..4a5d1ccbad 100644
--- a/sys/dev/raid/twe/twe_freebsd.c
+++ b/sys/dev/raid/twe/twe_freebsd.c
@@ -225,7 +225,6 @@ twe_attach(device_t dev)
 			   1, 0, 				/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT, 		/* lowaddr */
 			   BUS_SPACE_MAXADDR, 			/* highaddr */
-			   NULL, NULL, 				/* filter, filterarg */
 			   MAXBSIZE, TWE_MAX_SGL_LENGTH,	/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,		/* maxsegsize */
 			   0,					/* flags */
@@ -259,7 +258,6 @@ twe_attach(device_t dev)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   sizeof(TWE_Command) *
 			   TWE_Q_LENGTH, 1,		/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
@@ -289,7 +287,6 @@ twe_attach(device_t dev)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, TWE_MAX_SGL_LENGTH,/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   BUS_DMA_ALLOCNOW,		/* flags */
@@ -306,7 +303,6 @@ twe_attach(device_t dev)
 			   1, 0, 			/* alignment, boundary */
 			   BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 			   BUS_SPACE_MAXADDR, 		/* highaddr */
-			   NULL, NULL, 			/* filter, filterarg */
 			   MAXBSIZE, 1,			/* maxsize, nsegments */
 			   BUS_SPACE_MAXSIZE_32BIT,	/* maxsegsize */
 			   0,				/* flags */
diff --git a/sys/dev/raid/tws/tws.c b/sys/dev/raid/tws/tws.c
index 76f90efd83..fabe0fa7b1 100644
--- a/sys/dev/raid/tws/tws.c
+++ b/sys/dev/raid/tws/tws.c
@@ -467,7 +467,6 @@ tws_init(struct tws_softc *sc)
                             0,                       /* boundary */
                             BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
                             BUS_SPACE_MAXADDR,       /* highaddr */
-                            NULL, NULL,              /* filter, filterarg */
                             BUS_SPACE_MAXSIZE,       /* maxsize */
                             max_sg_elements,         /* numsegs */
                             BUS_SPACE_MAXSIZE,       /* maxsegsize */
@@ -487,7 +486,6 @@ tws_init(struct tws_softc *sc)
                             0,                    /* boundary */
                             BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
                             BUS_SPACE_MAXADDR,    /* highaddr */
-                            NULL, NULL,           /* filter, filterarg */
                             dma_mem_size,         /* maxsize */
                             1,                    /* numsegs */
                             BUS_SPACE_MAXSIZE,    /* maxsegsize */
@@ -522,7 +520,6 @@ tws_init(struct tws_softc *sc)
                            0,                      /* boundary */
                            BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
                            BUS_SPACE_MAXADDR,      /* highaddr */
-                           NULL, NULL,             /* filter, filterarg */
                            TWS_MAX_IO_SIZE,        /* maxsize */
                            max_sg_elements,        /* nsegments */
                            TWS_MAX_IO_SIZE,        /* maxsegsize */
diff --git a/sys/dev/sound/pci/als4000.c b/sys/dev/sound/pci/als4000.c
index d883242164..b4f6a3f6bd 100644
--- a/sys/dev/sound/pci/als4000.c
+++ b/sys/dev/sound/pci/als4000.c
@@ -792,7 +792,6 @@ als_resource_grab(device_t dev, struct sc_info *sc)
 			       /*alignment*/2, /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR_24BIT,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/sc->bufsz,
 			       /*nsegments*/1, /*maxsegz*/0x3ffff,
 			       /*flags*/0,
diff --git a/sys/dev/sound/pci/atiixp.c b/sys/dev/sound/pci/atiixp.c
index abbd448ab8..21a6126291 100644
--- a/sys/dev/sound/pci/atiixp.c
+++ b/sys/dev/sound/pci/atiixp.c
@@ -1258,7 +1258,6 @@ atiixp_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/sc->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&sc->parent_dmat) != 0) {
@@ -1270,7 +1269,6 @@ atiixp_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/ATI_IXP_DMA_CHSEGS_MAX * ATI_IXP_NCHANS *
 		sizeof(struct atiixp_dma_op),
 		/*nsegments*/1, /*maxsegz*/0x3ffff,
diff --git a/sys/dev/sound/pci/aureal.c b/sys/dev/sound/pci/aureal.c
index 36697e4ed4..b89deb4f6a 100644
--- a/sys/dev/sound/pci/aureal.c
+++ b/sys/dev/sound/pci/aureal.c
@@ -637,7 +637,6 @@ au_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/AU_BUFFSIZE, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0, /*lockfunc*/busdma_lock_mutex,
 		/*lockarg*/&Giant, &au->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/cmi.c b/sys/dev/sound/pci/cmi.c
index a2d82fdc65..9a49bfc1aa 100644
--- a/sys/dev/sound/pci/cmi.c
+++ b/sys/dev/sound/pci/cmi.c
@@ -972,7 +972,6 @@ cmi_attach(device_t dev)
 			       /*boundary*/0,
 			       /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 			       /*highaddr*/BUS_SPACE_MAXADDR,
-			       /*filter*/NULL, /*filterarg*/NULL,
 			       /*maxsize*/sc->bufsz, /*nsegments*/1,
 			       /*maxsegz*/0x3ffff, /*flags*/0,
 			       &sc->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/cs4281.c b/sys/dev/sound/pci/cs4281.c
index c685729c8f..59c31f6d77 100644
--- a/sys/dev/sound/pci/cs4281.c
+++ b/sys/dev/sound/pci/cs4281.c
@@ -819,7 +819,6 @@ cs4281_pci_attach(device_t dev)
 			   /*boundary*/0,
 			   /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 			   /*highaddr*/BUS_SPACE_MAXADDR,
-			   /*filter*/NULL, /*filterarg*/NULL,
 			   /*maxsize*/sc->bufsz, /*nsegments*/1,
 			   /*maxsegz*/0x3ffff,
 			   /*flags*/0,
diff --git a/sys/dev/sound/pci/emu10k1.c b/sys/dev/sound/pci/emu10k1.c
index 2d30523c31..3db45e969a 100644
--- a/sys/dev/sound/pci/emu10k1.c
+++ b/sys/dev/sound/pci/emu10k1.c
@@ -2104,7 +2104,6 @@ emu_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/(1U << 31) - 1, /* can only access 0-2gb */
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/sc->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&sc->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/emu10kx.c b/sys/dev/sound/pci/emu10kx.c
index 87b717d106..99b52550ce 100644
--- a/sys/dev/sound/pci/emu10kx.c
+++ b/sys/dev/sound/pci/emu10kx.c
@@ -2722,7 +2722,6 @@ emu_init(struct emu_sc_info *sc)
 	     /* alignment */ 2, /* boundary */ 0,
 	     /* lowaddr */ (1U << 31) - 1,	/* can only access 0-2gb */
 	     /* highaddr */ BUS_SPACE_MAXADDR,
-	     /* filter */ NULL, /* filterarg */ NULL,
 	     /* maxsize */ EMU_MAX_BUFSZ, /* nsegments */ 1, /* maxsegz */ 0x3ffff,
 	     /* flags */ 0,
 	     &(sc->mem.dmat)) != 0) {
diff --git a/sys/dev/sound/pci/envy24.c b/sys/dev/sound/pci/envy24.c
index e1f839f5e9..4bead571f6 100644
--- a/sys/dev/sound/pci/envy24.c
+++ b/sys/dev/sound/pci/envy24.c
@@ -2530,7 +2530,6 @@ envy24_alloc_resource(struct sc_info *sc)
 	    /*boundary*/0,
 	    /*lowaddr*/BUS_SPACE_MAXADDR_ENVY24,
 	    /*highaddr*/BUS_SPACE_MAXADDR_ENVY24,
-	    /*filter*/NULL, /*filterarg*/NULL,
 	    /*maxsize*/BUS_SPACE_MAXSIZE_ENVY24,
 	    /*nsegments*/1, /*maxsegsz*/0x3ffff,
 	    /*flags*/0,
diff --git a/sys/dev/sound/pci/envy24ht.c b/sys/dev/sound/pci/envy24ht.c
index 1119f80708..82f28cd67a 100644
--- a/sys/dev/sound/pci/envy24ht.c
+++ b/sys/dev/sound/pci/envy24ht.c
@@ -2436,7 +2436,6 @@ envy24ht_alloc_resource(struct sc_info *sc)
 	    /*boundary*/0,
 	    /*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 	    /*highaddr*/BUS_SPACE_MAXADDR,
-	    /*filter*/NULL, /*filterarg*/NULL,
 	    /*maxsize*/BUS_SPACE_MAXSIZE_ENVY24,
 	    /*nsegments*/1, /*maxsegsz*/0x3ffff,
 	    /*flags*/0,
diff --git a/sys/dev/sound/pci/es137x.c b/sys/dev/sound/pci/es137x.c
index e037eee65e..f0f5ae99f3 100644
--- a/sys/dev/sound/pci/es137x.c
+++ b/sys/dev/sound/pci/es137x.c
@@ -1848,7 +1848,6 @@ es_pci_attach(device_t dev)
 		/*alignment*/2, /*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/es->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&es->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/fm801.c b/sys/dev/sound/pci/fm801.c
index b8473e2c68..81665cf70b 100644
--- a/sys/dev/sound/pci/fm801.c
+++ b/sys/dev/sound/pci/fm801.c
@@ -631,7 +631,6 @@ fm801_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/fm801->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&fm801->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 916a83e327..569f9c94ff 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -588,8 +588,6 @@ hdac_dma_alloc(struct hdac_softc *sc, struct hdac_dma *dma, bus_size_t size)
 	    (sc->support_64bit) ? BUS_SPACE_MAXADDR :
 		BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,			/* highaddr */
-	    NULL,				/* filtfunc */
-	    NULL,				/* fistfuncarg */
 	    roundsz, 				/* maxsize */
 	    1,					/* nsegments */
 	    roundsz, 				/* maxsegsz */
@@ -1279,8 +1277,6 @@ hdac_attach(device_t dev)
 	    (sc->support_64bit) ? BUS_SPACE_MAXADDR :
 		BUS_SPACE_MAXADDR_32BIT,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,			/* highaddr */
-	    NULL,				/* filtfunc */
-	    NULL,				/* fistfuncarg */
 	    HDA_BUFSZ_MAX, 			/* maxsize */
 	    1,					/* nsegments */
 	    HDA_BUFSZ_MAX, 			/* maxsegsz */
diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c
index d1857cda2c..e214a30a3f 100644
--- a/sys/dev/sound/pci/hdspe.c
+++ b/sys/dev/sound/pci/hdspe.c
@@ -157,8 +157,6 @@ hdspe_alloc_resources(struct sc_info *sc)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL,
-		/*filterarg*/NULL,
 		/*maxsize*/2 * HDSPE_DMASEGSIZE,
 		/*nsegments*/2,
 		/*maxsegsz*/HDSPE_DMASEGSIZE,
diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c
index bf2f6a3c37..5736c16094 100644
--- a/sys/dev/sound/pci/ich.c
+++ b/sys/dev/sound/pci/ich.c
@@ -1043,7 +1043,7 @@ ich_pci_attach(device_t dev)
 
 	/* BDL tag */
 	if (bus_dma_tag_create(bus_get_dma_tag(dev), 8, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    sc->dtbl_size, 1, 0x3ffff, 0, &sc->dmat) != 0) {
 		device_printf(dev, "unable to create dma tag\n");
 		goto bad;
@@ -1051,7 +1051,7 @@ ich_pci_attach(device_t dev)
 
 	/* PCM channel tag */
 	if (bus_dma_tag_create(bus_get_dma_tag(dev), ICH_MIN_BLKSZ, 0,
-	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR,
 	    sc->bufsz, 1, 0x3ffff, 0, &sc->chan_dmat) != 0) {
 		device_printf(dev, "unable to create dma tag\n");
 		goto bad;
diff --git a/sys/dev/sound/pci/maestro.c b/sys/dev/sound/pci/maestro.c
index be78fe6b0b..4cd89efdc0 100644
--- a/sys/dev/sound/pci/maestro.c
+++ b/sys/dev/sound/pci/maestro.c
@@ -1805,7 +1805,6 @@ agg_attach(device_t dev)
 	if (bus_dma_tag_create(/*parent*/ bus_get_dma_tag(dev),
 			       /*align */ 4, 1 << (16+1),
 			       /*limit */ MAESTRO_MAXADDR, BUS_SPACE_MAXADDR,
-			       /*filter*/ NULL, NULL,
 			       /*size  */ ess->bufsz, 1, 0x3ffff,
 			       /*flags */ 0,
 			       &ess->buf_dmat) != 0) {
@@ -1818,7 +1817,6 @@ agg_attach(device_t dev)
 			       /*align */ 1 << WAVCACHE_BASEADDR_SHIFT,
 			                  1 << (16+1),
 			       /*limit */ MAESTRO_MAXADDR, BUS_SPACE_MAXADDR,
-			       /*filter*/ NULL, NULL,
 			       /*size  */ 3*ess->bufsz, 1, 0x3ffff,
 			       /*flags */ 0,
 			       &ess->stat_dmat) != 0) {
diff --git a/sys/dev/sound/pci/solo.c b/sys/dev/sound/pci/solo.c
index 0cd98f3bf0..f76c908d1e 100644
--- a/sys/dev/sound/pci/solo.c
+++ b/sys/dev/sound/pci/solo.c
@@ -1028,7 +1028,6 @@ ess_attach(device_t dev)
     	if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2, /*boundary*/0,
 			/*lowaddr*/BUS_SPACE_MAXADDR_24BIT,
 			/*highaddr*/BUS_SPACE_MAXADDR,
-			/*filter*/NULL, /*filterarg*/NULL,
 			/*maxsize*/sc->bufsz, /*nsegments*/1,
 			/*maxsegz*/0x3ffff,
 			/*flags*/0,
diff --git a/sys/dev/sound/pci/t4dwave.c b/sys/dev/sound/pci/t4dwave.c
index 30b1214cec..abcc0cfb09 100644
--- a/sys/dev/sound/pci/t4dwave.c
+++ b/sys/dev/sound/pci/t4dwave.c
@@ -915,7 +915,6 @@ tr_pci_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/lowaddr,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/tr->bufsz, /*nsegments*/1, /*maxsegz*/tr->bufsz,
 		/*flags*/0,
 		&tr->parent_dmat) != 0) {
diff --git a/sys/dev/sound/pci/via8233.c b/sys/dev/sound/pci/via8233.c
index 44cd4faf43..bc8df030a2 100644
--- a/sys/dev/sound/pci/via8233.c
+++ b/sys/dev/sound/pci/via8233.c
@@ -1294,7 +1294,6 @@ via_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/via->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&via->parent_dmat) != 0) {
@@ -1311,7 +1310,6 @@ via_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/nsegs * sizeof(struct via_dma_op),
 		/*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
diff --git a/sys/dev/sound/pci/via82c686.c b/sys/dev/sound/pci/via82c686.c
index ebd90f269f..4159ec9ebb 100644
--- a/sys/dev/sound/pci/via82c686.c
+++ b/sys/dev/sound/pci/via82c686.c
@@ -557,7 +557,6 @@ via_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/via->bufsz, /*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
 		&via->parent_dmat) != 0) {
@@ -574,7 +573,6 @@ via_attach(device_t dev)
 		/*boundary*/0,
 		/*lowaddr*/BUS_SPACE_MAXADDR_32BIT,
 		/*highaddr*/BUS_SPACE_MAXADDR,
-		/*filter*/NULL, /*filterarg*/NULL,
 		/*maxsize*/NSEGS * sizeof(struct via_dma_op),
 		/*nsegments*/1, /*maxsegz*/0x3ffff,
 		/*flags*/0,
diff --git a/sys/dev/sound/pci/vibes.c b/sys/dev/sound/pci/vibes.c
index d44e37e2a7..0a9fda2dd9 100644
--- a/sys/dev/sound/pci/vibes.c
+++ b/sys/dev/sound/pci/vibes.c
@@ -773,7 +773,6 @@ sv_attach(device_t dev) {
 			       /*boundary*/0,
                                /*lowaddr*/BUS_SPACE_MAXADDR_24BIT,
                                /*highaddr*/BUS_SPACE_MAXADDR,
-                               /*filter*/NULL, /*filterarg*/NULL,
                                /*maxsize*/sc->bufsz, /*nsegments*/1,
                                /*maxsegz*/0x3ffff, /*flags*/0,
 			       &sc->parent_dmat) != 0) {
diff --git a/sys/dev/video/cxm/cxm.c b/sys/dev/video/cxm/cxm.c
index 899f34a091..255fdef508 100644
--- a/sys/dev/video/cxm/cxm.c
+++ b/sys/dev/video/cxm/cxm.c
@@ -1774,7 +1774,7 @@ cxm_attach(device_t dev)
 	 */
 	error = bus_dma_tag_create(NULL, 1, 0,
 				   BUS_SPACE_MAXADDR_32BIT,
-				   BUS_SPACE_MAXADDR, NULL, NULL,
+				   BUS_SPACE_MAXADDR,
 				   BUS_SPACE_MAXSIZE_32BIT, 1,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   &sc->parent_dmat);
@@ -1788,7 +1788,7 @@ cxm_attach(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->parent_dmat, 256, 0,
 				   BUS_SPACE_MAXADDR_32BIT,
-				   BUS_SPACE_MAXADDR, NULL, NULL,
+				   BUS_SPACE_MAXADDR,
 				   CXM_SG_SEGMENT, 1,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
 				   &sc->enc_pool.dmat);
@@ -1833,7 +1833,7 @@ cxm_attach(device_t dev)
 	 */
 	error = bus_dma_tag_create(sc->parent_dmat, 1, 0,
 				   BUS_SPACE_MAXADDR_32BIT,
-				   BUS_SPACE_MAXADDR, NULL, NULL,
+				   BUS_SPACE_MAXADDR,
 				   CXM_SG_BUFFERS
 				   * sizeof(struct cxm_sg_entry), 1,
 				   BUS_SPACE_MAXSIZE_32BIT, 0,
diff --git a/sys/dev/virtual/amazon/ena/ena.c b/sys/dev/virtual/amazon/ena/ena.c
index a349dcb677..97aed1cd59 100644
--- a/sys/dev/virtual/amazon/ena/ena.c
+++ b/sys/dev/virtual/amazon/ena/ena.c
@@ -229,7 +229,6 @@ ena_dma_alloc(device_t dmadev, bus_size_t size,
 	    8, 0,	      /* alignment, bounds 		*/
 	    dma_space_addr,   /* lowaddr of exclusion window	*/
 	    BUS_SPACE_MAXADDR,/* highaddr of exclusion window	*/
-	    NULL, NULL,	      /* filter, filterarg 		*/
 	    maxsize,	      /* maxsize 			*/
 	    1,		      /* nsegments 			*/
 	    maxsize,	      /* maxsegsize 			*/
@@ -498,7 +497,6 @@ ena_setup_tx_dma_tag(struct ena_adapter *adapter)
 	    1, 0,				  /* alignment, bounds 	     */
 	    ENA_DMA_BIT_MASK(adapter->dma_width), /* lowaddr of excl window  */
 	    BUS_SPACE_MAXADDR, 			  /* highaddr of excl window */
-	    NULL, NULL,				  /* filter, filterarg 	     */
 	    ENA_TSO_MAXSIZE,			  /* maxsize 		     */
 	    ENA_BUS_DMA_SEGS,			  /* nsegments		     */
 	    ENA_TSO_MAXSIZE,			  /* maxsegsize 	     */
@@ -531,7 +529,6 @@ ena_setup_rx_dma_tag(struct ena_adapter *adapter)
 	    1, 0,				  /* alignment, bounds 	     */
 	    ENA_DMA_BIT_MASK(adapter->dma_width), /* lowaddr of excl window  */
 	    BUS_SPACE_MAXADDR, 			  /* highaddr of excl window */
-	    NULL, NULL,				  /* filter, filterarg 	     */
 	    MJUM16BYTES,			  /* maxsize 		     */
 	    adapter->max_rx_sgl_size,		  /* nsegments 		     */
 	    MJUM16BYTES,			  /* maxsegsize 	     */
diff --git a/sys/dev/virtual/vmware/pvscsi/pvscsi.c b/sys/dev/virtual/vmware/pvscsi/pvscsi.c
index 98ccf6ca2c..5a4a3ee077 100644
--- a/sys/dev/virtual/vmware/pvscsi/pvscsi.c
+++ b/sys/dev/virtual/vmware/pvscsi/pvscsi.c
@@ -470,7 +470,7 @@ pvscsi_dma_alloc(struct pvscsi_softc *sc, struct pvscsi_dma *dma,
 	bzero(dma, sizeof(*dma));
 
 	error = bus_dma_tag_create(sc->parent_dmat, alignment, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, size, 1, size,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, size, 1, size,
 	    BUS_DMA_ALLOCNOW, &dma->tag);
 	if (error) {
 		device_printf(sc->dev, "error creating dma tag, error %d\n",
@@ -1643,7 +1643,7 @@ pvscsi_attach(device_t dev)
 	}
 
 	error = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, BUS_SPACE_MAXSIZE,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, BUS_SPACE_MAXSIZE,
 	    BUS_SPACE_UNRESTRICTED, BUS_SPACE_MAXSIZE, 0,
 	    &sc->parent_dmat);
 	if (error) {
@@ -1654,7 +1654,7 @@ pvscsi_attach(device_t dev)
 	}
 
 	error = bus_dma_tag_create(sc->parent_dmat, 1, 0,
-	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL,
+	    BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR,
 	    PVSCSI_MAX_SG_ENTRIES_PER_SEGMENT * PAGE_SIZE,
 	    PVSCSI_MAX_SG_ENTRIES_PER_SEGMENT, PAGE_SIZE, BUS_DMA_ALLOCNOW,
 	    &sc->buffer_dmat);
diff --git a/sys/dev/virtual/vmware/vmxnet3/if_vmx.c b/sys/dev/virtual/vmware/vmxnet3/if_vmx.c
index cefdb143cf..7ac113e8dc 100644
--- a/sys/dev/virtual/vmware/vmxnet3/if_vmx.c
+++ b/sys/dev/virtual/vmware/vmxnet3/if_vmx.c
@@ -1297,7 +1297,6 @@ vmxnet3_alloc_txq_data(struct vmxnet3_softc *sc)
 		    1, 0,			/* alignment, boundary */
 		    BUS_SPACE_MAXADDR,		/* lowaddr */
 		    BUS_SPACE_MAXADDR,		/* highaddr */
-		    NULL, NULL,			/* filter, filterarg */
 		    VMXNET3_TX_MAXSIZE,		/* maxsize */
 		    VMXNET3_TX_MAXSEGS,		/* nsegments */
 		    VMXNET3_TX_MAXSEGSIZE,	/* maxsegsize */
@@ -1413,7 +1412,6 @@ vmxnet3_alloc_rxq_data(struct vmxnet3_softc *sc)
 			    1, 0,		/* alignment, boundary */
 			    BUS_SPACE_MAXADDR,	/* lowaddr */
 			    BUS_SPACE_MAXADDR,	/* highaddr */
-			    NULL, NULL,		/* filter, filterarg */
 			    MJUMPAGESIZE,	/* maxsize */
 			    1,			/* nsegments */
 			    MJUMPAGESIZE,	/* maxsegsize */
@@ -3960,7 +3958,6 @@ vmxnet3_dma_malloc(struct vmxnet3_softc *sc, bus_size_t size, bus_size_t align,
 	    align, 0,		/* alignment, bounds */
 	    BUS_SPACE_MAXADDR,	/* lowaddr */
 	    BUS_SPACE_MAXADDR,	/* highaddr */
-	    NULL, NULL,		/* filter, filterarg */
 	    size,		/* maxsize */
 	    1,			/* nsegments */
 	    size,		/* maxsegsize */
diff --git a/sys/kern/subr_busdma.c b/sys/kern/subr_busdma.c
index 84e82c6c75..805799c5c0 100644
--- a/sys/kern/subr_busdma.c
+++ b/sys/kern/subr_busdma.c
@@ -62,7 +62,7 @@ bus_dmamem_coherent(bus_dma_tag_t parent,
 	bzero(dmem, sizeof(*dmem));
 
 	error = bus_dma_tag_create(parent, alignment, boundary,
-				   lowaddr, highaddr, NULL, NULL,
+				   lowaddr, highaddr,
 				   maxsize, 1, maxsize, 0,
 				   &dmem->dmem_tag);
 	if (error)
diff --git a/sys/netproto/802_11/README.DRAGONFLY b/sys/netproto/802_11/README.DRAGONFLY
index 9865b135bd..e0dee543fd 100644
--- a/sys/netproto/802_11/README.DRAGONFLY
+++ b/sys/netproto/802_11/README.DRAGONFLY
@@ -136,7 +136,6 @@
 			 0,
 			 BUS_SPACE_MAXADDR_32BIT,
 			 BUS_SPACE_MAXADDR,
-			 NULL, NULL,
 			 size, 1, size,
 			 BUS_DMA_NOWAIT, &dma->tag);
 
diff --git a/sys/platform/pc64/x86_64/busdma_machdep.c b/sys/platform/pc64/x86_64/busdma_machdep.c
index d656887222..79a21ca93a 100644
--- a/sys/platform/pc64/x86_64/busdma_machdep.c
+++ b/sys/platform/pc64/x86_64/busdma_machdep.c
@@ -62,18 +62,14 @@ struct bounce_zone;
 struct bus_dmamap;
 
 struct bus_dma_tag {
-	bus_dma_tag_t	parent;
 	bus_size_t	alignment;
 	bus_size_t	boundary;
 	bus_addr_t	lowaddr;
 	bus_addr_t	highaddr;
-	bus_dma_filter_t *filter;
-	void		*filterarg;
 	bus_size_t	maxsize;
 	u_int		nsegments;
 	bus_size_t	maxsegsz;
 	int		flags;
-	int		ref_count;
 	int		map_count;
 	bus_dma_segment_t *segments;
 	struct bounce_zone *bounce_zone;
@@ -181,22 +177,19 @@ SYSCTL_INT(_hw_busdma, OID_AUTO, max_bpages, CTLFLAG_RD, &max_bounce_pages,
 SYSCTL_INT(_hw_busdma, OID_AUTO, bounce_alignment, CTLFLAG_RD,
 	   &bounce_alignment, 0, "Obey alignment constraint");
 
+
+/*
+ * Returns true if the address falls within the tag's exclusion window, or
+ * fails to meet its alignment requirements.
+ */
 static __inline int
-run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
+addr_needs_bounce(bus_dma_tag_t dmat, bus_addr_t paddr)
 {
-	int retval;
+	if ((paddr > dmat->lowaddr && paddr <= dmat->highaddr) ||
+	     (bounce_alignment && (paddr & (dmat->alignment - 1)) != 0))
+        return (1);
 
-	retval = 0;
-	do {
-		if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr) ||
-		     (bounce_alignment && (paddr & (dmat->alignment - 1)) != 0))
-		 && (dmat->filter == NULL ||
-		     dmat->filter(dmat->filterarg, paddr) != 0))
-			retval = 1;
-
-		dmat = dmat->parent;
-	} while (retval == 0 && dmat != NULL);
-	return (retval);
+	return (0);
 }
 
 static __inline
@@ -229,8 +222,7 @@ bus_dma_tag_unlock(bus_dma_tag_t tag)
 int
 bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 		   bus_size_t boundary, bus_addr_t lowaddr,
-		   bus_addr_t highaddr, bus_dma_filter_t *filter,
-		   void *filterarg, bus_size_t maxsize, int nsegments,
+		   bus_addr_t highaddr, bus_size_t maxsize, int nsegments,
 		   bus_size_t maxsegsz, int flags, bus_dma_tag_t *dmat)
 {
 	bus_dma_tag_t newtag;
@@ -261,18 +253,14 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 	newtag = kmalloc(sizeof(*newtag), M_DEVBUF, M_INTWAIT | M_ZERO);
 
 	spin_init(&newtag->spin, "busdmacreate");
-	newtag->parent = parent;
 	newtag->alignment = alignment;
 	newtag->boundary = boundary;
 	newtag->lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1);
 	newtag->highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1);
-	newtag->filter = filter;
-	newtag->filterarg = filterarg;
 	newtag->maxsize = maxsize;
 	newtag->nsegments = nsegments;
 	newtag->maxsegsz = maxsegsz;
 	newtag->flags = flags;
-	newtag->ref_count = 1; /* Count ourself */
 	newtag->map_count = 0;
 	newtag->segments = NULL;
 	newtag->bounce_zone = NULL;
@@ -293,17 +281,6 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 		newtag->alignment = MAX(parent->alignment, newtag->alignment);
 #endif
 
-		if (newtag->filter == NULL) {
-			/*
-			 * Short circuit looking at our parent directly
-			 * since we have encapsulated all of its information
-			 */
-			newtag->filter = parent->filter;
-			newtag->filterarg = parent->filterarg;
-			newtag->parent = parent->parent;
-		}
-		if (newtag->parent != NULL)
-			parent->ref_count++;
 	}
 
 	if (newtag->lowaddr < ptoa(Maxmem))
@@ -360,25 +337,10 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat)
 		if (dmat->map_count != 0)
 			return (EBUSY);
 
-		while (dmat != NULL) {
-			bus_dma_tag_t parent;
-
-			parent = dmat->parent;
-			dmat->ref_count--;
-			if (dmat->ref_count == 0) {
-				free_bounce_zone(dmat);
-				if (dmat->segments != NULL)
-					kfree(dmat->segments, M_DEVBUF);
-				kfree(dmat, M_DEVBUF);
-				/*
-				 * Last reference count, so
-				 * release our reference
-				 * count on our parent.
-				 */
-				dmat = parent;
-			} else
-				dmat = NULL;
-		}
+		free_bounce_zone(dmat);
+		if (dmat->segments != NULL)
+			kfree(dmat->segments, M_DEVBUF);
+		kfree(dmat, M_DEVBUF);
 	}
 	return (0);
 }
@@ -661,7 +623,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 
 		while (vaddr < vendaddr) {
 			paddr = _bus_dma_extract(pmap, vaddr);
-			if (run_filter(dmat, paddr) != 0)
+			if (addr_needs_bounce(dmat, paddr))
 				map->pagesneeded++;
 			vaddr += (PAGE_SIZE - (vaddr & PAGE_MASK));
 		}
@@ -716,7 +678,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 		size = PAGE_SIZE - (paddr & PAGE_MASK);
 		if (size > buflen)
 			size = buflen;
-		if (map->pagesneeded != 0 && run_filter(dmat, paddr)) {
+		if (map->pagesneeded != 0 && addr_needs_bounce(dmat, paddr)) {
 			/*
 			 * NOTE: paddr may have different in-page offset,
 			 *	 unless BUS_DMA_KEEP_PG_OFFSET is set.
diff --git a/sys/platform/vkernel64/platform/busdma_machdep.c b/sys/platform/vkernel64/platform/busdma_machdep.c
index 781e517779..7c8e47aa9e 100644
--- a/sys/platform/vkernel64/platform/busdma_machdep.c
+++ b/sys/platform/vkernel64/platform/busdma_machdep.c
@@ -53,18 +53,14 @@ struct bounce_zone;
 struct bus_dmamap;
 
 struct bus_dma_tag {
-	bus_dma_tag_t	parent;
 	bus_size_t	alignment;
 	bus_size_t	boundary;
 	bus_addr_t	lowaddr;
 	bus_addr_t	highaddr;
-	bus_dma_filter_t *filter;
-	void		*filterarg;
 	bus_size_t	maxsize;
 	u_int		nsegments;
 	bus_size_t	maxsegsz;
 	int		flags;
-	int		ref_count;
 	int		map_count;
 	bus_dma_segment_t *segments;
 	struct bounce_zone *bounce_zone;
@@ -165,22 +161,19 @@ SYSCTL_INT(_hw_busdma, OID_AUTO, max_bpages, CTLFLAG_RD, &max_bounce_pages,
 SYSCTL_INT(_hw_busdma, OID_AUTO, bounce_alignment, CTLFLAG_RD,
 	   &bounce_alignment, 0, "Obey alignment constraint");
 
+
+/*
+ * Returns true if the address falls within the tag's exclusion window, or
+ * fails to meet its alignment requirements.
+ */
 static __inline int
-run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
+addr_needs_bounce(bus_dma_tag_t dmat, bus_addr_t paddr)
 {
-	int retval;
+    if ((paddr > dmat->lowaddr && paddr <= dmat->highaddr) ||
+         (bounce_alignment && (paddr & (dmat->alignment - 1)) != 0))
+        return (1);
 
-	retval = 0;
-	do {
-		if (((paddr > dmat->lowaddr && paddr <= dmat->highaddr) ||
-		     (bounce_alignment && (paddr & (dmat->alignment - 1)) != 0))
-		 && (dmat->filter == NULL ||
-		     dmat->filter(dmat->filterarg, paddr) != 0))
-			retval = 1;
-
-		dmat = dmat->parent;
-	} while (retval == 0 && dmat != NULL);
-	return (retval);
+    return (0);
 }
 
 /*
@@ -189,8 +182,7 @@ run_filter(bus_dma_tag_t dmat, bus_addr_t paddr)
 int
 bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 		   bus_size_t boundary, bus_addr_t lowaddr,
-		   bus_addr_t highaddr, bus_dma_filter_t *filter,
-		   void *filterarg, bus_size_t maxsize, int nsegments,
+		   bus_addr_t highaddr, bus_size_t maxsize, int nsegments,
 		   bus_size_t maxsegsz, int flags, bus_dma_tag_t *dmat)
 {
 	bus_dma_tag_t newtag;
@@ -220,18 +212,14 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 
 	newtag = kmalloc(sizeof(*newtag), M_DEVBUF, M_INTWAIT);
 
-	newtag->parent = parent;
 	newtag->alignment = alignment;
 	newtag->boundary = boundary;
 	newtag->lowaddr = trunc_page((vm_paddr_t)lowaddr) + (PAGE_SIZE - 1);
 	newtag->highaddr = trunc_page((vm_paddr_t)highaddr) + (PAGE_SIZE - 1);
-	newtag->filter = filter;
-	newtag->filterarg = filterarg;
 	newtag->maxsize = maxsize;
 	newtag->nsegments = nsegments;
 	newtag->maxsegsz = maxsegsz;
 	newtag->flags = flags;
-	newtag->ref_count = 1; /* Count ourself */
 	newtag->map_count = 0;
 	newtag->segments = NULL;
 	newtag->bounce_zone = NULL;
@@ -252,17 +240,6 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 		newtag->alignment = MAX(parent->alignment, newtag->alignment);
 #endif
 
-		if (newtag->filter == NULL) {
-			/*
-			 * Short circuit looking at our parent directly
-			 * since we have encapsulated all of its information
-			 */
-			newtag->filter = parent->filter;
-			newtag->filterarg = parent->filterarg;
-			newtag->parent = parent->parent;
-		}
-		if (newtag->parent != NULL)
-			parent->ref_count++;
 	}
 
 	if (newtag->lowaddr < ptoa(Maxmem))
@@ -316,24 +293,9 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat)
 		if (dmat->map_count != 0)
 			return (EBUSY);
 
-		while (dmat != NULL) {
-			bus_dma_tag_t parent;
-
-			parent = dmat->parent;
-			dmat->ref_count--;
-			if (dmat->ref_count == 0) {
-				if (dmat->segments != NULL)
-					kfree(dmat->segments, M_DEVBUF);
-				kfree(dmat, M_DEVBUF);
-				/*
-				 * Last reference count, so
-				 * release our reference
-				 * count on our parent.
-				 */
-				dmat = parent;
-			} else
-				dmat = NULL;
-		}
+        if (dmat->segments != NULL)
+            kfree(dmat->segments, M_DEVBUF);
+        kfree(dmat, M_DEVBUF);
 	}
 	return (0);
 }
@@ -597,7 +559,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 
 		while (vaddr < vendaddr) {
 			paddr = _bus_dma_extract(pmap, vaddr);
-			if (run_filter(dmat, paddr) != 0)
+			if (addr_needs_bounce(dmat, paddr))
 				map->pagesneeded++;
 			vaddr += (PAGE_SIZE - (vaddr & PAGE_MASK));
 		}
@@ -652,7 +614,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 		size = PAGE_SIZE - (paddr & PAGE_MASK);
 		if (size > buflen)
 			size = buflen;
-		if (map->pagesneeded != 0 && run_filter(dmat, paddr)) {
+		if (map->pagesneeded != 0 && addr_needs_bounce(dmat, paddr)) {
 			/*
 			 * note: this paddr has the same in-page offset
 			 * as vaddr and thus the paddr above, so the
diff --git a/sys/sys/bus_dma.h b/sys/sys/bus_dma.h
index 6921714cfa..6299f3ff99 100644
--- a/sys/sys/bus_dma.h
+++ b/sys/sys/bus_dma.h
@@ -155,12 +155,6 @@ typedef struct bus_dmamem {
 	bus_addr_t	dmem_busaddr;
 } bus_dmamem_t;
 
-/*
- * A function that returns 1 if the address cannot be accessed by
- * a device and 0 if it can be.
- */
-typedef int bus_dma_filter_t(void *, bus_addr_t);
-
 /*
  * Allocate a device specific dma_tag encapsulating the constraints of
  * the parent tag in addition to other restrictions specified:
@@ -169,11 +163,6 @@ typedef int bus_dma_filter_t(void *, bus_addr_t);
  *	boundary:	Boundary that segments cannot cross.
  *	lowaddr:	Low restricted address that cannot appear in a mapping.
  *	highaddr:	High restricted address that cannot appear in a mapping.
- *	filtfunc:	An optional function to further test if an address
- *			within the range of lowaddr and highaddr cannot appear
- *			in a mapping.
- *	filtfuncarg:	An argument that will be passed to filtfunc in addition
- *			to the address to test.
  *	maxsize:	Maximum mapping size supported by this tag.
  *	nsegments:	Number of discontinuities allowed in maps.
  *	maxsegsz:	Maximum size of a segment in the map.
@@ -184,8 +173,7 @@ typedef int bus_dma_filter_t(void *, bus_addr_t);
 /* XXX Should probably allow specification of alignment */
 int bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
 		       bus_size_t boundary, bus_addr_t lowaddr,
-		       bus_addr_t highaddr, bus_dma_filter_t *filtfunc,
-		       void *filtfuncarg, bus_size_t maxsize, int nsegments,
+		       bus_addr_t highaddr, bus_size_t maxsize, int nsegments,
 		       bus_size_t maxsegsz, int flags, bus_dma_tag_t *dmat);
 
 int bus_dma_tag_destroy(bus_dma_tag_t dmat);
-- 
2.42.0

