diff options
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
| -rw-r--r-- | drivers/message/fusion/mptbase.h | 73 | 
1 files changed, 43 insertions, 30 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index f71f2294847..76c05bc24cb 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h @@ -76,8 +76,8 @@  #define COPYRIGHT	"Copyright (c) 1999-2008 " MODULEAUTHOR  #endif -#define MPT_LINUX_VERSION_COMMON	"3.04.17" -#define MPT_LINUX_PACKAGE_NAME		"@(#)mptlinux-3.04.17" +#define MPT_LINUX_VERSION_COMMON	"3.04.20" +#define MPT_LINUX_PACKAGE_NAME		"@(#)mptlinux-3.04.20"  #define WHAT_MAGIC_STRING		"@" "(" "#" ")"  #define show_mptmod_ver(s,ver)  \ @@ -89,6 +89,7 @@   */  #define MPT_MAX_ADAPTERS		18  #define MPT_MAX_PROTOCOL_DRIVERS	16 +#define MPT_MAX_CALLBACKNAME_LEN	49  #define MPT_MAX_BUS			1	/* Do not change */  #define MPT_MAX_FC_DEVICES		255  #define MPT_MAX_SCSI_DEVICES		16 @@ -554,10 +555,47 @@ struct mptfc_rport_info  	u8		flags;  }; +/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ + +/* + * MPT_SCSI_HOST defines - Used by the IOCTL and the SCSI drivers + * Private to the driver. + */ + +#define MPT_HOST_BUS_UNKNOWN		(0xFF) +#define MPT_HOST_TOO_MANY_TM		(0x05) +#define MPT_HOST_NVRAM_INVALID		(0xFFFFFFFF) +#define MPT_HOST_NO_CHAIN		(0xFFFFFFFF) +#define MPT_NVRAM_MASK_TIMEOUT		(0x000000FF) +#define MPT_NVRAM_SYNC_MASK		(0x0000FF00) +#define MPT_NVRAM_SYNC_SHIFT		(8) +#define MPT_NVRAM_DISCONNECT_ENABLE	(0x00010000) +#define MPT_NVRAM_ID_SCAN_ENABLE	(0x00020000) +#define MPT_NVRAM_LUN_SCAN_ENABLE	(0x00040000) +#define MPT_NVRAM_TAG_QUEUE_ENABLE	(0x00080000) +#define MPT_NVRAM_WIDE_DISABLE		(0x00100000) +#define MPT_NVRAM_BOOT_CHOICE		(0x00200000) + +typedef enum { +	FC, +	SPI, +	SAS +} BUS_TYPE; + +typedef struct _MPT_SCSI_HOST { +	struct _MPT_ADAPTER		 *ioc; +	ushort			  sel_timeout[MPT_MAX_FC_DEVICES]; +	char			  *info_kbuf; +	long			  last_queue_full; +	u16			  spi_pending; +	struct list_head	  target_reset_list; +} MPT_SCSI_HOST; +  typedef void (*MPT_ADD_SGE)(void *pAddr, u32 flagslength, dma_addr_t dma_addr);  typedef void (*MPT_ADD_CHAIN)(void *pAddr, u8 next, u16 length,  		dma_addr_t dma_addr);  typedef void (*MPT_SCHEDULE_TARGET_RESET)(void *ioc); +typedef void (*MPT_FLUSH_RUNNING_CMDS)(MPT_SCSI_HOST *hd);  /*   *  Adapter Structure - pci_dev specific. Maximum: MPT_MAX_ADAPTERS @@ -716,7 +754,10 @@ typedef struct _MPT_ADAPTER  	int			 taskmgmt_in_progress;  	u8			 taskmgmt_quiesce_io;  	u8			 ioc_reset_in_progress; +	u8			 reset_status; +	u8			 wait_on_reset_completion;  	MPT_SCHEDULE_TARGET_RESET schedule_target_reset; +	MPT_FLUSH_RUNNING_CMDS schedule_dead_ioc_flush_running_cmds;  	struct work_struct	 sas_persist_task;  	struct work_struct	 fc_setup_reset_work; @@ -830,19 +871,6 @@ typedef struct _MPT_LOCAL_REPLY {  	u32	pad;  } MPT_LOCAL_REPLY; -#define MPT_HOST_BUS_UNKNOWN		(0xFF) -#define MPT_HOST_TOO_MANY_TM		(0x05) -#define MPT_HOST_NVRAM_INVALID		(0xFFFFFFFF) -#define MPT_HOST_NO_CHAIN		(0xFFFFFFFF) -#define MPT_NVRAM_MASK_TIMEOUT		(0x000000FF) -#define MPT_NVRAM_SYNC_MASK		(0x0000FF00) -#define MPT_NVRAM_SYNC_SHIFT		(8) -#define MPT_NVRAM_DISCONNECT_ENABLE	(0x00010000) -#define MPT_NVRAM_ID_SCAN_ENABLE	(0x00020000) -#define MPT_NVRAM_LUN_SCAN_ENABLE	(0x00040000) -#define MPT_NVRAM_TAG_QUEUE_ENABLE	(0x00080000) -#define MPT_NVRAM_WIDE_DISABLE		(0x00100000) -#define MPT_NVRAM_BOOT_CHOICE		(0x00200000)  /* The TM_STATE variable is used to provide strict single threading of TM   * requests as well as communicate TM error conditions. @@ -851,21 +879,6 @@ typedef struct _MPT_LOCAL_REPLY {  #define	TM_STATE_IN_PROGRESS   (1)  #define	TM_STATE_ERROR	       (2) -typedef enum { -	FC, -	SPI, -	SAS -} BUS_TYPE; - -typedef struct _MPT_SCSI_HOST { -	MPT_ADAPTER		 *ioc; -	ushort			  sel_timeout[MPT_MAX_FC_DEVICES]; -	char 			  *info_kbuf; -	long			  last_queue_full; -	u16			  spi_pending; -	struct list_head	  target_reset_list; -} MPT_SCSI_HOST; -  /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/  /*   *	More Dynamic Multi-Pathing stuff...  | 
