Module Name: src Committed By: matt Date: Sun Jan 27 19:00:08 UTC 2013
Modified Files: src/sys/arch/arm/arm32: bus_dma.c src/sys/arch/arm/include: bus_defs.h Log Message: Get rid of _BUS_DMAMAP_MEM_XLATE To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/arm/arm32/bus_dma.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/include/bus_defs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm32/bus_dma.c diff -u src/sys/arch/arm/arm32/bus_dma.c:1.70 src/sys/arch/arm/arm32/bus_dma.c:1.71 --- src/sys/arch/arm/arm32/bus_dma.c:1.70 Sun Jan 27 18:31:31 2013 +++ src/sys/arch/arm/arm32/bus_dma.c Sun Jan 27 19:00:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_dma.c,v 1.70 2013/01/27 18:31:31 matt Exp $ */ +/* $NetBSD: bus_dma.c,v 1.71 2013/01/27 19:00:08 matt Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #define _ARM32_BUS_DMA_PRIVATE #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bus_dma.c,v 1.70 2013/01/27 18:31:31 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bus_dma.c,v 1.71 2013/01/27 19:00:08 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1228,14 +1228,9 @@ _bus_dmamem_map(bus_dma_tag_t t, bus_dma if (t->_ranges != NULL) { const struct arm32_dma_range * const dr = _bus_dma_paddr_inrange(t->_ranges, t->_nranges, pa); - if (dr != NULL) { - if (dr->dr_flags & _BUS_DMAMAP_COHERENT) { - direct_mapable = true; - } - if (flags & _BUS_DMAMAP_MEM_XLATE) { - pa = (pa - dr->dr_sysbase) - + dr->dr_busbase; - } + if (dr != NULL + && (dr->dr_flags & _BUS_DMAMAP_COHERENT)) { + direct_mapable = true; } } @@ -1290,15 +1285,11 @@ _bus_dmamem_map(bus_dma_tag_t t, bus_dma * If this dma region is coherent then there is * no need for an uncached mapping. */ - if (dr != NULL) { - if (dr->dr_flags & _BUS_DMAMAP_COHERENT) { - uncached = false; - } - if (flags & _BUS_DMAMAP_MEM_XLATE) { - pa = (pa - dr->dr_sysbase) - + dr->dr_busbase; - } + if (dr != NULL + && (dr->dr_flags & _BUS_DMAMAP_COHERENT)) { + uncached = false; } + pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED); Index: src/sys/arch/arm/include/bus_defs.h diff -u src/sys/arch/arm/include/bus_defs.h:1.7 src/sys/arch/arm/include/bus_defs.h:1.8 --- src/sys/arch/arm/include/bus_defs.h:1.7 Sun Jan 27 18:31:31 2013 +++ src/sys/arch/arm/include/bus_defs.h Sun Jan 27 19:00:08 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_defs.h,v 1.7 2013/01/27 18:31:31 matt Exp $ */ +/* $NetBSD: bus_defs.h,v 1.8 2013/01/27 19:00:08 matt Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc. @@ -301,8 +301,7 @@ struct bus_space { */ #define _BUS_DMAMAP_COHERENT 0x10000 /* no cache flush necessary on sync */ #define _BUS_DMAMAP_IS_BOUNCING 0x20000 /* is bouncing current xfer */ -#define _BUS_DMAMAP_MEM_XLATE 0x40000 /* translate sys->bus for dmamam_map */ -#define _BUS_DMAMAP_NOALLOC 0x80000 /* don't alloc memory from this range */ +#define _BUS_DMAMAP_NOALLOC 0x40000 /* don't alloc memory from this range */ /* Forwards needed by prototypes below. */ struct mbuf;