patch-2.2.14 linux/drivers/scsi/megaraid.h
Next file: linux/drivers/scsi/mesh.c
Previous file: linux/drivers/scsi/megaraid.c
Back to the patch index
Back to the overall index
- Lines: 74
- Date:
Tue Jan 4 10:12:20 2000
- Orig file:
v2.2.13/linux/drivers/scsi/megaraid.h
- Orig date:
Tue Oct 19 17:10:38 1999
diff -u --recursive --new-file v2.2.13/linux/drivers/scsi/megaraid.h linux/drivers/scsi/megaraid.h
@@ -8,9 +8,11 @@
#define IN_ISR 0x80000000L
#define IN_ABORT 0x40000000L
#define IN_RESET 0x20000000L
+#define IN_QUEUE 0x10000000L
#define BOARD_QUARTZ 0x08000000L
#define BOARD_40LD 0x04000000L
+#ifndef HOSTS_C
#define SCB_FREE 0x0
#define SCB_ACTIVE 0x1
#define SCB_WAITQ 0x2
@@ -18,12 +20,19 @@
#define SCB_COMPLETE 0x4
#define SCB_ABORTED 0x5
#define SCB_RESET 0x6
+#endif
#define MEGA_CMD_TIMEOUT 10
-#define MAX_SGLIST 17
-#define MAX_COMMANDS 250
+/* Feel free to fiddle with these.. max values are:
+ SGLIST 0..26
+ COMMANDS 0..253
+ CMDPERLUN 0..63
+*/
+#define MAX_SGLIST 0x1A
+#define MAX_COMMANDS 127
#define MAX_CMD_PER_LUN 63
+#define MAX_FIRMWARE_STATUS 46
#define MAX_LOGICAL_DRIVES 8
#define MAX_CHANNEL 5
@@ -505,7 +514,7 @@
u32 dataxferlen;
} mega_passthru;
-typedef struct _mega_mailbox {
+struct _mega_mailbox {
/* 0x0 */ u8 cmd;
/* 0x1 */ u8 cmdid;
/* 0x2 */ u16 numsectors;
@@ -520,8 +529,9 @@
/* 0x12 */ u8 completed[46];
u8 mraid_poll;
u8 mraid_ack;
- u8 pad[16];
-} mega_mailbox;
+ u8 pad[16]; /* for alignment purposes */
+}__attribute__((packed));
+typedef struct _mega_mailbox mega_mailbox;
typedef struct {
u32 xferSegment; /* for 64-bit controllers */
@@ -575,8 +585,16 @@
u32 flag;
u32 base;
- mega_scb *qFree;
- mega_scb *qPending;
+ mega_scb *qFreeH;
+ mega_scb *qFreeT;
+ mega_scb *qPendingH;
+ mega_scb *qPendingT;
+
+ Scsi_Cmnd *qCompletedH;
+ Scsi_Cmnd *qCompletedT;
+ u32 qFcnt;
+ u32 qPcnt;
+ u32 qCcnt;
u32 nReads[FC_MAX_LOGICAL_DRIVES];
u32 nWrites[FC_MAX_LOGICAL_DRIVES];
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)