summaryrefslogtreecommitdiffstats
path: root/sys/sys
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2006-09-03 00:26:17 +0000
committerjmg <jmg@FreeBSD.org>2006-09-03 00:26:17 +0000
commit84ee477ac39bc8414949b4df724f390aac837627 (patch)
treedd7851c94bd7877a4cb0fa1b55171ac88bbd15a3 /sys/sys
parentb73a4c5234b73294179df7c1a7931d1cb2d13226 (diff)
downloadFreeBSD-src-84ee477ac39bc8414949b4df724f390aac837627.zip
FreeBSD-src-84ee477ac39bc8414949b4df724f390aac837627.tar.gz
Break out typedefs from bus_dma.h to _bus_dma.h so that we can get the
typedef for bus_dma_tag_t in sys/bus.h w/o poluting the namespace... This is in preperation for adding bus_get_dma_tag to sys/bus.h...
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/_bus_dma.h63
-rw-r--r--sys/sys/bus_dma.h31
2 files changed, 65 insertions, 29 deletions
diff --git a/sys/sys/_bus_dma.h b/sys/sys/_bus_dma.h
new file mode 100644
index 0000000..91318d0
--- /dev/null
+++ b/sys/sys/_bus_dma.h
@@ -0,0 +1,63 @@
+/*-
+ * Copyright 2006 John-Mark Gurney.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ *
+ */
+
+#ifndef _SYS__BUS_DMA_H_
+#define _SYS__BUS_DMA_H_
+
+typedef int bus_dmasync_op_t;
+
+/*
+ * bus_dma_tag_t
+ *
+ * A machine-dependent opaque type describing the characteristics
+ * of how to perform DMA mappings. This structure encapsultes
+ * information concerning address and alignment restrictions, number
+ * of S/G segments, amount of data per S/G segment, etc.
+ */
+typedef struct bus_dma_tag *bus_dma_tag_t;
+
+/*
+ * bus_dmamap_t
+ *
+ * DMA mapping instance information.
+ */
+typedef struct bus_dmamap *bus_dmamap_t;
+
+/*
+ * A function that performs driver-specific synchronization on behalf of
+ * busdma.
+ */
+typedef enum {
+ BUS_DMA_LOCK = 0x01,
+ BUS_DMA_UNLOCK = 0x02,
+} bus_dma_lock_op_t;
+
+typedef void bus_dma_lock_t(void *, bus_dma_lock_op_t);
+
+#endif /* !_SYS__BUS_DMA_H_ */
diff --git a/sys/sys/bus_dma.h b/sys/sys/bus_dma.h
index 3151d0b..cc790ff 100644
--- a/sys/sys/bus_dma.h
+++ b/sys/sys/bus_dma.h
@@ -72,6 +72,8 @@
#ifndef _BUS_DMA_H_
#define _BUS_DMA_H_
+#include <sys/_bus_dma.h>
+
/*
* Machine independent interface for mapping physical addresses to peripheral
* bus 'physical' addresses, and assisting with DMA operations.
@@ -108,30 +110,12 @@ struct uio;
/*
* Operations performed by bus_dmamap_sync().
*/
-typedef int bus_dmasync_op_t;
#define BUS_DMASYNC_PREREAD 1
#define BUS_DMASYNC_POSTREAD 2
#define BUS_DMASYNC_PREWRITE 4
#define BUS_DMASYNC_POSTWRITE 8
/*
- * bus_dma_tag_t
- *
- * A machine-dependent opaque type describing the characteristics
- * of how to perform DMA mappings. This structure encapsultes
- * information concerning address and alignment restrictions, number
- * of S/G segments, amount of data per S/G segment, etc.
- */
-typedef struct bus_dma_tag *bus_dma_tag_t;
-
-/*
- * bus_dmamap_t
- *
- * DMA mapping instance information.
- */
-typedef struct bus_dmamap *bus_dmamap_t;
-
-/*
* bus_dma_segment_t
*
* Describes a single contiguous DMA transaction. Values
@@ -149,17 +133,6 @@ typedef struct bus_dma_segment {
typedef int bus_dma_filter_t(void *, bus_addr_t);
/*
- * A function that performs driver-specific synchronization on behalf of
- * busdma.
- */
-typedef enum {
- BUS_DMA_LOCK = 0x01,
- BUS_DMA_UNLOCK = 0x02,
-} bus_dma_lock_op_t;
-
-typedef void bus_dma_lock_t(void *, bus_dma_lock_op_t);
-
-/*
* Generic helper function for manipulating mutexes.
*/
void busdma_lock_mutex(void *arg, bus_dma_lock_op_t op);
OpenPOWER on IntegriCloud