diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2013-01-21 00:41:43 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2013-01-21 00:41:43 +0000 |
commit | 289a3f7a83d5b74cf2e899bc84b39a7d710ffe30 (patch) | |
tree | 2cf445f57ad6a55a64932032b8d22aa314182c27 | |
parent | bff7d10841ef6922ebf90625e6761701537fbde4 (diff) |
myx does reads and writes in one direction to packet buffers. lets try
STREAMING them.
-rw-r--r-- | sys/dev/pci/if_myx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/pci/if_myx.c b/sys/dev/pci/if_myx.c index 8572b279456..7a85814f31d 100644 --- a/sys/dev/pci/if_myx.c +++ b/sys/dev/pci/if_myx.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_myx.c,v 1.38 2013/01/15 03:48:20 dlg Exp $ */ +/* $OpenBSD: if_myx.c,v 1.39 2013/01/21 00:41:42 dlg Exp $ */ /* * Copyright (c) 2007 Reyk Floeter <reyk@openbsd.org> @@ -1539,13 +1539,15 @@ myx_load_buf(struct myx_softc *sc, struct myx_buf *mb, struct mbuf *m) bus_dma_tag_t dmat = sc->sc_dmat; bus_dmamap_t dmap = mb->mb_map; - switch (bus_dmamap_load_mbuf(dmat, dmap, m, BUS_DMA_NOWAIT)) { + switch (bus_dmamap_load_mbuf(dmat, dmap, m, + BUS_DMA_STREAMING | BUS_DMA_NOWAIT)) { case 0: break; case EFBIG: /* mbuf chain is too fragmented */ if (m_defrag(m, M_DONTWAIT) == 0 && - bus_dmamap_load_mbuf(dmat, dmap, m, BUS_DMA_NOWAIT) == 0) + bus_dmamap_load_mbuf(dmat, dmap, m, + BUS_DMA_STREAMING | BUS_DMA_NOWAIT) == 0) break; default: return (1); |