Module Name: src Committed By: jmcneill Date: Mon Sep 20 11:27:30 UTC 2021
Modified Files: src/sys/dev/pci: if_msk.c Log Message: Use coherent DMA mappings when possible. To generate a diff of this commit: cvs rdiff -u -r1.117 -r1.118 src/sys/dev/pci/if_msk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/if_msk.c diff -u src/sys/dev/pci/if_msk.c:1.117 src/sys/dev/pci/if_msk.c:1.118 --- src/sys/dev/pci/if_msk.c:1.117 Sat Aug 7 16:19:14 2021 +++ src/sys/dev/pci/if_msk.c Mon Sep 20 11:27:30 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_msk.c,v 1.117 2021/08/07 16:19:14 thorpej Exp $ */ +/* $NetBSD: if_msk.c,v 1.118 2021/09/20 11:27:30 jmcneill Exp $ */ /* $OpenBSD: if_msk.c,v 1.79 2009/10/15 17:54:56 deraadt Exp $ */ /* @@ -52,7 +52,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.117 2021/08/07 16:19:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.118 2021/09/20 11:27:30 jmcneill Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -661,7 +661,7 @@ msk_alloc_jumbo_mem(struct sk_if_softc * state = 1; if (bus_dmamem_map(sc->sc_dmatag, &sc_if->sk_cdata.sk_jumbo_seg, sc_if->sk_cdata.sk_jumbo_nseg, MSK_JMEM, (void **)&kva, - BUS_DMA_NOWAIT)) { + BUS_DMA_NOWAIT | BUS_DMA_COHERENT)) { aprint_error(": can't map dma buffers (%d bytes)", MSK_JMEM); error = ENOBUFS; goto out; @@ -1240,7 +1240,8 @@ msk_attach(device_t parent, device_t sel } if (bus_dmamem_map(sc->sc_dmatag, &sc_if->sk_ring_seg, sc_if->sk_ring_nseg, - sizeof(struct msk_ring_data), &kva, BUS_DMA_NOWAIT)) { + sizeof(struct msk_ring_data), &kva, + BUS_DMA_NOWAIT | BUS_DMA_COHERENT)) { aprint_error(": can't map dma buffers (%zu bytes)\n", sizeof(struct msk_ring_data)); goto fail_1; @@ -1561,7 +1562,7 @@ mskc_attach(device_t parent, device_t se if (bus_dmamem_map(sc->sc_dmatag, &sc->sk_status_seg, sc->sk_status_nseg, MSK_STATUS_RING_CNT * sizeof(struct msk_status_desc), - &kva, BUS_DMA_NOWAIT)) { + &kva, BUS_DMA_NOWAIT | BUS_DMA_COHERENT)) { aprint_error(": can't map dma buffers (%zu bytes)\n", MSK_STATUS_RING_CNT * sizeof(struct msk_status_desc)); goto fail_3;