patch-2.4.21 linux-2.4.21/drivers/message/fusion/mptbase.h
Next file: linux-2.4.21/drivers/message/fusion/mptctl.c
Previous file: linux-2.4.21/drivers/message/fusion/mptbase.c
Back to the patch index
Back to the overall index
- Lines: 145
- Date:
2003-06-13 07:51:34.000000000 -0700
- Orig file:
linux-2.4.20/drivers/message/fusion/mptbase.h
- Orig date:
2002-11-28 15:53:13.000000000 -0800
diff -urN linux-2.4.20/drivers/message/fusion/mptbase.h linux-2.4.21/drivers/message/fusion/mptbase.h
@@ -13,7 +13,7 @@
* (mailto:sjralston1@netscape.net)
* (mailto:Pam.Delaney@lsil.com)
*
- * $Id: mptbase.h,v 1.133 2002/09/05 22:30:09 pdelaney Exp $
+ * $Id: mptbase.h,v 1.144 2003/01/28 21:31:56 pdelaney Exp $
*/
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
/*
@@ -80,8 +80,8 @@
#define COPYRIGHT "Copyright (c) 1999-2002 " MODULEAUTHOR
#endif
-#define MPT_LINUX_VERSION_COMMON "2.02.01"
-#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-2.02.01"
+#define MPT_LINUX_VERSION_COMMON "2.05.00+"
+#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-2.05.00+"
#define WHAT_MAGIC_STRING "@" "(" "#" ")"
#define show_mptmod_ver(s,ver) \
@@ -91,7 +91,7 @@
/*
* Fusion MPT(linux) driver configurable stuff...
*/
-#define MPT_MAX_ADAPTERS 16
+#define MPT_MAX_ADAPTERS 18
#define MPT_MAX_PROTOCOL_DRIVERS 16
#define MPT_MAX_BUS 1
#define MPT_MAX_FC_DEVICES 255
@@ -134,8 +134,10 @@
#define CAN_SLEEP 1
#define NO_SLEEP 0
-/*
- * SCSI transfer rate defines.
+#define MPT_COALESCING_TIMEOUT 0x10
+
+/*
+ * SCSI transfer rate defines.
*/
#define MPT_ULTRA320 0x08
#define MPT_ULTRA160 0x09
@@ -301,6 +303,7 @@
FC919 = 0x0919,
FC929 = 0x0929,
C1030 = 0x1030,
+ C1035 = 0x1035,
FCUNK = 0xFBAD
} CHIP_TYPE;
@@ -368,6 +371,7 @@
typedef struct _VirtDevice {
struct _VirtDevice *forw;
struct _VirtDevice *back;
+ struct scsi_device *device;
rwlock_t VdevLock;
int ref_cnt;
u8 tflags;
@@ -397,8 +401,10 @@
ScsiCmndTracker SentQ;
ScsiCmndTracker DoneQ;
//--- LUN split here?
+#ifdef MPT_SAVE_AUTOSENSE
u8 sense[SCSI_STD_SENSE_BYTES]; /* 18 */
u8 rsvd2[2]; /* alignment */
+#endif
u32 luns; /* Max LUNs is 32 */
u8 inq_data[SCSI_STD_INQUIRY_BYTES]; /* 36 */
u8 pad0[4];
@@ -424,8 +430,11 @@
#define MPT_TARGET_DEFAULT_DV_STATUS 0
#define MPT_TARGET_FLAGS_VALID_NEGO 0x01
#define MPT_TARGET_FLAGS_VALID_INQUIRY 0x02
+#ifdef MPT_SAVE_AUTOSENSE
#define MPT_TARGET_FLAGS_VALID_SENSE 0x04
+#endif
#define MPT_TARGET_FLAGS_Q_YES 0x08
+#define MPT_TARGET_FLAGS_VALID_56 0x10
#define MPT_TARGET_NO_NEGO_WIDE 0x01
#define MPT_TARGET_NO_NEGO_SYNC 0x02
@@ -517,7 +526,7 @@
#define MPT_SCSICFG_DV_PENDING 0x04 /* DV on this physical id pending */
#define MPT_SCSICFG_DV_NOT_DONE 0x08 /* DV has not been performed */
#define MPT_SCSICFG_BLK_NEGO 0x10 /* WriteSDP1 with WDTR and SDTR disabled */
-
+#define MPT_SCSICFG_RELOAD_IOC_PG3 0x20 /* IOC Pg 3 data is obsolete */
/* Args passed to writeSDP1: */
#define MPT_SCSICFG_USE_NVRAM 0x01 /* WriteSDP1 using NVRAM */
#define MPT_SCSICFG_ALL_IDS 0x02 /* WriteSDP1 to all IDS */
@@ -527,7 +536,6 @@
int *nvram; /* table of device NVRAM values */
IOCPage3_t *pIocPg3; /* table of physical disks */
u8 dvStatus[MPT_MAX_SCSI_DEVICES];
- u8 iocntr[MPT_MAX_SCSI_DEVICES];
int isRaid; /* bit field, 1 if RAID */
u8 minSyncFactor; /* 0xFF if async */
u8 maxSyncOffset; /* 0 if async */
@@ -627,7 +635,8 @@
LANPage1_t lan_cnfg_page1;
u8 FirstWhoInit;
u8 upload_fw; /* If set, do a fw upload */
- u8 pad1[6];
+ u8 reload_fw; /* Force a FW Reload on next reset */
+ u8 pad1[5];
} MPT_ADAPTER;
@@ -889,6 +898,8 @@
MPT_Q_TRACKER taskQ; /* TM request Q */
spinlock_t freedoneQlock;
int taskQcnt;
+ int num_chain; /* Number of chain buffers */
+ int max_sge; /* Max No of SGE*/
u8 numTMrequests;
u8 tmPending;
u8 resetPending;
@@ -905,6 +916,10 @@
MPT_FRAME_HDR *cmdPtr; /* Ptr to nonOS request */
struct scsi_cmnd *abortSCpnt;
MPT_LOCAL_REPLY localReply; /* internal cmd reply struct */
+ unsigned long hard_resets; /* driver forced bus resets count */
+ unsigned long soft_resets; /* fw/external bus resets count */
+ unsigned long timeouts; /* cmd timeouts */
+ ushort sel_timeout[MPT_MAX_FC_DEVICES];
} MPT_SCSI_HOST;
/*
@@ -996,6 +1011,7 @@
extern int mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *cfg);
extern void *mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size, int *frags, int *alloc_sz);
extern void mpt_free_fw_memory(MPT_ADAPTER *ioc, fw_image_t **alt_img);
+extern int mpt_read_ioc_pg_3(MPT_ADAPTER *ioc);
/*
* Public data decl's...
@@ -1028,7 +1044,7 @@
#define offsetof(t, m) ((size_t) (&((t *)0)->m))
#endif
-#if defined(__alpha__) || defined(__sparc_v9__) || defined(__ia64__)
+#if defined(__alpha__) || defined(__sparc_v9__) || defined(__ia64__) || defined(__x86_64__)
#define CAST_U32_TO_PTR(x) ((void *)(u64)x)
#define CAST_PTR_TO_U32(x) ((u32)(u64)x)
#else
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)