Re: myx 64-bit dma

Brad Smith <[email protected]>
Newsgroups gmane.os.openbsd.tech
Message-ID <[email protected]>
On Thu, Mar 26, 2026 at 01:46:42PM -0400, Brad Smith wrote:
> With myx(4) the BUS_DMA_64BIT flag is missing from bus_dmamem_alloc().
> 
> Tested with
> 
> myx0 at pci19 dev 0 function 0 "Myricom Z8E" rev 0x01: msi, model 10G-PCIE2-8BL2-2S, address 00:60:dd:45:ba:f8

Re-tested again with an update to date kernel.


Index: if_myx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_myx.c,v
retrieving revision 1.121
diff -u -p -u -p -r1.121 if_myx.c
--- if_myx.c	3 Jun 2025 00:20:31 -0000	1.121
+++ if_myx.c	27 Jun 2026 19:54:56 -0000
@@ -523,7 +523,7 @@ myx_attachhook(struct device *self)
 
 	ifp->if_softc = sc;
 	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
-	ifp->if_xflags = IFXF_MPSAFE;
+	ifp->if_xflags = IFXF_MPSAFE | IFXF_MBUF_64BIT;
 	ifp->if_ioctl = myx_ioctl;
 	ifp->if_qstart = myx_start;
 	ifp->if_watchdog = myx_watchdog;
@@ -661,7 +661,7 @@ myx_dmamem_alloc(struct myx_softc *sc, s
 		return (1);
 	if (bus_dmamem_alloc(sc->sc_dmat, mxm->mxm_size,
 	    align, 0, &mxm->mxm_seg, 1, &mxm->mxm_nsegs,
-	    BUS_DMA_WAITOK | BUS_DMA_ZERO) != 0)
+	    BUS_DMA_WAITOK | BUS_DMA_ZERO | BUS_DMA_64BIT) != 0)
 		goto destroy;
 	if (bus_dmamem_map(sc->sc_dmat, &mxm->mxm_seg, mxm->mxm_nsegs,
 	    mxm->mxm_size, &mxm->mxm_kva, BUS_DMA_WAITOK) != 0)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.