Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / scsi / megaraid / megaraid_mm.h
diff --git a/kernel/drivers/scsi/megaraid/megaraid_mm.h b/kernel/drivers/scsi/megaraid/megaraid_mm.h
new file mode 100644 (file)
index 0000000..55b425c
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ *
+ *                     Linux MegaRAID device driver
+ *
+ * Copyright (c) 2003-2004  LSI Logic Corporation.
+ *
+ *        This program is free software; you can redistribute it and/or
+ *        modify it under the terms of the GNU General Public License
+ *        as published by the Free Software Foundation; either version
+ *        2 of the License, or (at your option) any later version.
+ *
+ * FILE                : megaraid_mm.h
+ */
+
+#ifndef MEGARAID_MM_H
+#define MEGARAID_MM_H
+
+#include <linux/spinlock.h>
+#include <linux/fs.h>
+#include <asm/uaccess.h>
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/pci.h>
+#include <linux/list.h>
+#include <linux/miscdevice.h>
+
+#include "mbox_defs.h"
+#include "megaraid_ioctl.h"
+
+
+#define LSI_COMMON_MOD_VERSION "2.20.2.7"
+#define LSI_COMMON_MOD_EXT_VERSION     \
+               "(Release Date: Sun Jul 16 00:01:03 EST 2006)"
+
+
+#define LSI_DBGLVL                     dbglevel
+
+// The smallest dma pool
+#define MRAID_MM_INIT_BUFF_SIZE                4096
+
+/**
+ * mimd_t      : Old style ioctl packet structure (deprecated)
+ *
+ * @inlen      :
+ * @outlen     :
+ * @fca                :
+ * @opcode     :
+ * @subopcode  :
+ * @adapno     :
+ * @buffer     :
+ * @pad                :
+ * @length     :
+ * @mbox       :
+ * @pthru      :
+ * @data       :
+ * @pad                :
+ *
+ * Note                : This structure is DEPRECATED. New applications must use
+ *             : uioc_t structure instead. All new hba drivers use the new
+ *             : format. If we get this mimd packet, we will convert it into
+ *             : new uioc_t format and send it to the hba drivers.
+ */
+
+typedef struct mimd {
+
+       uint32_t inlen;
+       uint32_t outlen;
+
+       union {
+               uint8_t fca[16];
+               struct {
+                       uint8_t opcode;
+                       uint8_t subopcode;
+                       uint16_t adapno;
+#if BITS_PER_LONG == 32
+                       uint8_t __user *buffer;
+                       uint8_t pad[4];
+#endif
+#if BITS_PER_LONG == 64
+                       uint8_t __user *buffer;
+#endif
+                       uint32_t length;
+               } __attribute__ ((packed)) fcs;
+       } __attribute__ ((packed)) ui;
+
+       uint8_t mbox[18];               /* 16 bytes + 2 status bytes */
+       mraid_passthru_t pthru;
+
+#if BITS_PER_LONG == 32
+       char __user *data;              /* buffer <= 4096 for 0x80 commands */
+       char pad[4];
+#endif
+#if BITS_PER_LONG == 64
+       char __user *data;
+#endif
+
+} __attribute__ ((packed))mimd_t;
+
+#endif // MEGARAID_MM_H
+
+// vi: set ts=8 sw=8 tw=78: