summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2013-01-21 00:41:43 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2013-01-21 00:41:43 +0000
commit289a3f7a83d5b74cf2e899bc84b39a7d710ffe30 (patch)
tree2cf445f57ad6a55a64932032b8d22aa314182c27
parentbff7d10841ef6922ebf90625e6761701537fbde4 (diff)
myx does reads and writes in one direction to packet buffers. lets try
STREAMING them.
-rw-r--r--sys/dev/pci/if_myx.c8
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);