aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ips/ips.h
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2004-02-28 19:14:41 +0000
committerScott Long <scottl@FreeBSD.org>2004-02-28 19:14:41 +0000
commitb234a120c867ff3291e66666644af78f7a894095 (patch)
tree9838032cf77c78cc90c2abba229573c0ab89c327 /sys/dev/ips/ips.h
parent46a51869c20086348059fae18ac57492f2d061bf (diff)
Notes
Diffstat (limited to 'sys/dev/ips/ips.h')
-rw-r--r--sys/dev/ips/ips.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/ips/ips.h b/sys/dev/ips/ips.h
index f644df6cb369..cd3b01570c09 100644
--- a/sys/dev/ips/ips.h
+++ b/sys/dev/ips/ips.h
@@ -39,6 +39,7 @@
#include <sys/bio.h>
#include <sys/malloc.h>
#include <sys/mutex.h>
+#include <sys/sema.h>
#include <sys/time.h>
#include <machine/bus_memio.h>
@@ -376,6 +377,7 @@ typedef struct ips_command{
bus_dmamap_t command_dmamap;
void * command_buffer;
u_int32_t command_phys_addr;/*WARNING! must be changed if 64bit addressing ever used*/
+ struct sema cmd_sema;
ips_cmd_status_t status;
SLIST_ENTRY(ips_command) next;
bus_dma_tag_t data_dmatag;
@@ -427,7 +429,9 @@ typedef struct ips_softc{
void (* ips_adapter_intr)(void *sc);
void (* ips_issue_cmd)(ips_command_t *command);
ips_copper_queue_t * copper_queue;
- struct mtx cmd_mtx;
+ struct mtx queue_mtx;
+ struct bio_queue_head queue;
+
}ips_softc_t;
/* function defines from ips_ioctl.c */
@@ -438,7 +442,7 @@ extern void ipsd_finish(struct bio *iobuf);
/* function defines from ips_commands.c */
extern int ips_flush_cache(ips_softc_t *sc);
-extern void ips_start_io_request(ips_softc_t *sc, struct bio *iobuf);
+extern void ips_start_io_request(ips_softc_t *sc);
extern int ips_get_drive_info(ips_softc_t *sc);
extern int ips_get_adapter_info(ips_softc_t *sc);
extern int ips_ffdc_reset(ips_softc_t *sc);