summaryrefslogtreecommitdiff
path: root/sys/dev/ic/mfivar.h
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2008-02-11 01:07:03 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2008-02-11 01:07:03 +0000
commitf8582e34cc54670f4253c51444c979cdf2d3e539 (patch)
treed5055ac0af8e8ef03668fe6cb77b4c5d47dc175c /sys/dev/ic/mfivar.h
parent39557fa39a36446149121d21a3f10223fe5a37fb (diff)
add support for the mfi controllers with the ppc iops, aka, LSI SAS1078 or
Dell PERC6. committed off a machine booting and rooting off a perc6. tested on a perc5 by marco@ ok marco@
Diffstat (limited to 'sys/dev/ic/mfivar.h')
-rw-r--r--sys/dev/ic/mfivar.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/dev/ic/mfivar.h b/sys/dev/ic/mfivar.h
index de88877a4fc..b1aa37c4dfe 100644
--- a/sys/dev/ic/mfivar.h
+++ b/sys/dev/ic/mfivar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mfivar.h,v 1.30 2007/03/22 16:55:31 deraadt Exp $ */
+/* $OpenBSD: mfivar.h,v 1.31 2008/02/11 01:07:02 dlg Exp $ */
/*
* Copyright (c) 2006 Marco Peereboom <marco@peereboom.us>
*
@@ -94,11 +94,25 @@ struct mfi_ccb {
TAILQ_HEAD(mfi_ccb_list, mfi_ccb);
+enum mfi_iop {
+ MFI_IOP_XSCALE,
+ MFI_IOP_PPC
+};
+
+struct mfi_iop_ops {
+ u_int32_t (*mio_fw_state)(struct mfi_softc *);
+ void (*mio_intr_ena)(struct mfi_softc *);
+ int (*mio_intr)(struct mfi_softc *);
+ void (*mio_post)(struct mfi_softc *, struct mfi_ccb *);
+};
+
struct mfi_softc {
struct device sc_dev;
void *sc_ih;
struct scsi_link sc_link;
+ const struct mfi_iop_ops *sc_iop;
+
u_int32_t sc_flags;
bus_space_tag_t sc_iot;
@@ -148,5 +162,5 @@ struct mfi_softc {
struct ksensordev sc_sensordev;
};
-int mfi_attach(struct mfi_softc *sc);
+int mfi_attach(struct mfi_softc *sc, enum mfi_iop);
int mfi_intr(void *);