aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorOlivier Houchard <cognet@FreeBSD.org>2005-01-23 22:07:33 +0000
committerOlivier Houchard <cognet@FreeBSD.org>2005-01-23 22:07:33 +0000
commit356607e0c62b4e4688c66c886bd1ecfab331fee3 (patch)
treed638b7ce95454b23f3da4b3ee70af3897f5190f4 /sys
parent52611c608e1529c990ba38744650a2f969bb2e2a (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/arm/busdma_machdep.c68
1 files changed, 34 insertions, 34 deletions
diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c
index 971245d665fa..6e296e993e56 100644
--- a/sys/arm/arm/busdma_machdep.c
+++ b/sys/arm/arm/busdma_machdep.c
@@ -388,40 +388,6 @@ bus_dmamem_free(bus_dma_tag_t dmat, void *vaddr, bus_dmamap_t map)
}
/*
- * Map the buffer buf into bus space using the dmamap map.
- */
-int
-bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
- bus_size_t buflen, bus_dmamap_callback_t *callback,
- void *callback_arg, int flags)
-{
- vm_offset_t lastaddr = 0;
- int error, nsegs = -1;
-#ifdef __GNUC__
- bus_dma_segment_t dm_segments[dmat->nsegments];
-#else
- bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS];
-#endif
-
- map->flags &= ~DMAMAP_TYPE_MASK;
- map->flags |= DMAMAP_LINEAR|DMAMAP_COHERENT;
- map->buffer = buf;
- map->len = buflen;
- error = bus_dmamap_load_buffer(dmat,
- dm_segments, map, buf, buflen, kernel_pmap,
- flags, &lastaddr, &nsegs);
- if (error)
- (*callback)(callback_arg, NULL, 0, error);
- else
- (*callback)(callback_arg, dm_segments, nsegs + 1, error);
-
- CTR4(KTR_BUSDMA, "bus_dmamap_load: tag %p tag flags 0x%x error %d "
- "nsegs %d", dmat, dmat->flags, nsegs + 1, error);
-
- return (0);
-}
-
-/*
* Utility function to load a linear buffer. lastaddrp holds state
* between invocations (for multiple-buffer loads). segp contains
* the starting segment on entrance, and the ending segment on exit.
@@ -557,6 +523,40 @@ segdone:
}
/*
+ * Map the buffer buf into bus space using the dmamap map.
+ */
+int
+bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
+ bus_size_t buflen, bus_dmamap_callback_t *callback,
+ void *callback_arg, int flags)
+{
+ vm_offset_t lastaddr = 0;
+ int error, nsegs = -1;
+#ifdef __GNUC__
+ bus_dma_segment_t dm_segments[dmat->nsegments];
+#else
+ bus_dma_segment_t dm_segments[BUS_DMAMAP_NSEGS];
+#endif
+
+ map->flags &= ~DMAMAP_TYPE_MASK;
+ map->flags |= DMAMAP_LINEAR|DMAMAP_COHERENT;
+ map->buffer = buf;
+ map->len = buflen;
+ error = bus_dmamap_load_buffer(dmat,
+ dm_segments, map, buf, buflen, kernel_pmap,
+ flags, &lastaddr, &nsegs);
+ if (error)
+ (*callback)(callback_arg, NULL, 0, error);
+ else
+ (*callback)(callback_arg, dm_segments, nsegs + 1, error);
+
+ CTR4(KTR_BUSDMA, "bus_dmamap_load: tag %p tag flags 0x%x error %d "
+ "nsegs %d", dmat, dmat->flags, nsegs + 1, error);
+
+ return (0);
+}
+
+/*
* Like bus_dmamap_load(), but for mbufs.
*/
int