summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev/dmavar.h
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1997-02-03 04:48:09 +0000
committerJason Downs <downsj@cvs.openbsd.org>1997-02-03 04:48:09 +0000
commit3dc2bab62b31e6caa1a00fece6004504f8e08033 (patch)
treec3a44aeae3938880a95422164280589feafe53aa /sys/arch/hp300/dev/dmavar.h
parent08e8d869ff1f7248522b236f25044d2744c972dd (diff)
Merge new config(8) support from NetBSD, by Jason Thorpe.
Also add siginfo glue, BOOT_CONFIG, and various other changes.
Diffstat (limited to 'sys/arch/hp300/dev/dmavar.h')
-rw-r--r--sys/arch/hp300/dev/dmavar.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/sys/arch/hp300/dev/dmavar.h b/sys/arch/hp300/dev/dmavar.h
index cd814185f6e..844e68a6ea3 100644
--- a/sys/arch/hp300/dev/dmavar.h
+++ b/sys/arch/hp300/dev/dmavar.h
@@ -1,7 +1,8 @@
-/* $OpenBSD: dmavar.h,v 1.2 1997/01/12 15:12:29 downsj Exp $ */
-/* $NetBSD: dmavar.h,v 1.6 1996/12/09 03:09:51 thorpej Exp $ */
+/* $OpenBSD: dmavar.h,v 1.3 1997/02/03 04:47:23 downsj Exp $ */
+/* $NetBSD: dmavar.h,v 1.7 1997/01/30 09:04:35 thorpej Exp $ */
/*
+ * Copyright (c) 1997 Jason R. Thorpe. All rights reserved.
* Copyright (c) 1982, 1990, 1993
* The Regents of the University of California. All rights reserved.
*
@@ -36,6 +37,8 @@
* @(#)dmavar.h 8.1 (Berkeley) 6/10/93
*/
+#include <sys/queue.h>
+
/* dmago flags */
#define DMAGO_BYTE 0x00 /* do byte (8 bit) transfers */
#define DMAGO_WORD 0x01 /* do word (16 bit) transfers */
@@ -48,6 +51,24 @@
#define DMA0 0x1
#define DMA1 0x2
+/*
+ * A DMA queue entry. Initiator drivers each have one of these,
+ * used to queue access to the DMA controller.
+ */
+struct dmaqueue {
+ TAILQ_ENTRY(dmaqueue) dq_list; /* entry on the queue */
+ int dq_chan; /* OR of channels initiator can use */
+ void *dq_softc; /* initiator's softc */
+
+ /*
+ * These functions are called to start the initiator when
+ * it has been given the DMA controller, and to stop the
+ * initiator when the DMA controller has stopped.
+ */
+ void (*dq_start) __P((void *));
+ void (*dq_done) __P((void *));
+};
+
#ifdef _KERNEL
extern void dmago(), dmafree();
extern int dmareq();