fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / scsi / megaraid / megaraid_sas.h
index 3531a14..55eddcf 100644 (file)
@@ -18,9 +18,9 @@
 /**
  * MegaRAID SAS Driver meta data
  */
-#define MEGASAS_VERSION                                "00.00.03.01"
-#define MEGASAS_RELDATE                                "May 14, 2006"
-#define MEGASAS_EXT_VERSION                    "Sun May 14 22:49:52 PDT 2006"
+#define MEGASAS_VERSION                                "00.00.03.05"
+#define MEGASAS_RELDATE                                "Oct 02, 2006"
+#define MEGASAS_EXT_VERSION                    "Mon Oct 02 11:21:32 PDT 2006"
 
 /*
  * Device IDs
@@ -50,6 +50,7 @@
 #define MFI_STATE_WAIT_HANDSHAKE               0x60000000
 #define MFI_STATE_FW_INIT_2                    0x70000000
 #define MFI_STATE_DEVICE_SCAN                  0x80000000
+#define MFI_STATE_BOOT_MESSAGE_PENDING         0x90000000
 #define MFI_STATE_FLUSH_CACHE                  0xA0000000
 #define MFI_STATE_READY                                0xB0000000
 #define MFI_STATE_OPERATIONAL                  0xC0000000
  * READY       : Move from OPERATIONAL to READY state; discard queue info
  * MFIMODE     : Discard (possible) low MFA posted in 64-bit mode (??)
  * CLR_HANDSHAKE: FW is waiting for HANDSHAKE from BIOS or Driver
+ * HOTPLUG     : Resume from Hotplug
+ * MFI_STOP_ADP        : Send signal to FW to stop processing
  */
-#define MFI_INIT_ABORT                         0x00000000
+#define MFI_INIT_ABORT                         0x00000001
 #define MFI_INIT_READY                         0x00000002
 #define MFI_INIT_MFIMODE                       0x00000004
 #define MFI_INIT_CLEAR_HANDSHAKE               0x00000008
-#define MFI_RESET_FLAGS                                MFI_INIT_READY|MFI_INIT_MFIMODE
+#define MFI_INIT_HOTPLUG                       0x00000010
+#define MFI_STOP_ADP                           0x00000020
+#define MFI_RESET_FLAGS                                MFI_INIT_READY| \
+                                               MFI_INIT_MFIMODE| \
+                                               MFI_INIT_ABORT
 
 /**
  * MFI frame flags
@@ -530,6 +537,8 @@ struct megasas_ctrl_info {
 #define MEGASAS_MAX_LUN                                8
 #define MEGASAS_MAX_LD                         64
 
+#define MEGASAS_DBG_LVL                                1
+
 /*
  * When SCSI mid-layer calls driver's reset routine, driver waits for
  * MEGASAS_RESET_WAIT_TIME seconds for all outstanding IO to complete. Note
@@ -538,6 +547,7 @@ struct megasas_ctrl_info {
  * every MEGASAS_RESET_NOTICE_INTERVAL seconds
  */
 #define MEGASAS_RESET_WAIT_TIME                        180
+#define MEGASAS_INTERNAL_CMD_WAIT_TIME         180
 #define        MEGASAS_RESET_NOTICE_INTERVAL           5
 
 #define MEGASAS_IOCTL_CMD                      0
@@ -1042,6 +1052,7 @@ struct megasas_evt_detail {
        void (*fire_cmd)(dma_addr_t ,u32 ,struct megasas_register_set __iomem *);
 
        void (*enable_intr)(struct megasas_register_set __iomem *) ;
+       void (*disable_intr)(struct megasas_register_set __iomem *);
 
        int (*clear_intr)(struct megasas_register_set __iomem *);
 
@@ -1092,6 +1103,7 @@ struct megasas_instance {
        u32 hw_crit_error;
 
        struct megasas_instance_template *instancet;
+       struct tasklet_struct isr_tasklet;
 };
 
 #define MEGASAS_IS_LOGICAL(scp)                                                \