aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message/fusion/mptbase.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r--drivers/message/fusion/mptbase.h46
1 files changed, 32 insertions, 14 deletions
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index 11fc8f3960a6..91499d1275c4 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -76,7 +76,7 @@
76#define COPYRIGHT "Copyright (c) 1999-2008 " MODULEAUTHOR 76#define COPYRIGHT "Copyright (c) 1999-2008 " MODULEAUTHOR
77#endif 77#endif
78 78
79#define MPT_LINUX_VERSION_COMMON "3.04.09" 79#define MPT_LINUX_VERSION_COMMON "3.04.10"
80#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.04.09" 80#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.04.09"
81#define WHAT_MAGIC_STRING "@" "(" "#" ")" 81#define WHAT_MAGIC_STRING "@" "(" "#" ")"
82 82
@@ -104,6 +104,7 @@
104#endif 104#endif
105 105
106#define MPT_NAME_LENGTH 32 106#define MPT_NAME_LENGTH 32
107#define MPT_KOBJ_NAME_LEN 20
107 108
108#define MPT_PROCFS_MPTBASEDIR "mpt" 109#define MPT_PROCFS_MPTBASEDIR "mpt"
109 /* chg it to "driver/fusion" ? */ 110 /* chg it to "driver/fusion" ? */
@@ -162,10 +163,10 @@
162/* 163/*
163 * Set the MAX_SGE value based on user input. 164 * Set the MAX_SGE value based on user input.
164 */ 165 */
165#ifdef CONFIG_FUSION_MAX_SGE 166#ifdef CONFIG_FUSION_MAX_SGE
166#if CONFIG_FUSION_MAX_SGE < 16 167#if CONFIG_FUSION_MAX_SGE < 16
167#define MPT_SCSI_SG_DEPTH 16 168#define MPT_SCSI_SG_DEPTH 16
168#elif CONFIG_FUSION_MAX_SGE > 128 169#elif CONFIG_FUSION_MAX_SGE > 128
169#define MPT_SCSI_SG_DEPTH 128 170#define MPT_SCSI_SG_DEPTH 128
170#else 171#else
171#define MPT_SCSI_SG_DEPTH CONFIG_FUSION_MAX_SGE 172#define MPT_SCSI_SG_DEPTH CONFIG_FUSION_MAX_SGE
@@ -174,6 +175,18 @@
174#define MPT_SCSI_SG_DEPTH 40 175#define MPT_SCSI_SG_DEPTH 40
175#endif 176#endif
176 177
178#ifdef CONFIG_FUSION_MAX_FC_SGE
179#if CONFIG_FUSION_MAX_FC_SGE < 16
180#define MPT_SCSI_FC_SG_DEPTH 16
181#elif CONFIG_FUSION_MAX_FC_SGE > 256
182#define MPT_SCSI_FC_SG_DEPTH 256
183#else
184#define MPT_SCSI_FC_SG_DEPTH CONFIG_FUSION_MAX_FC_SGE
185#endif
186#else
187#define MPT_SCSI_FC_SG_DEPTH 40
188#endif
189
177/* debug print string length used for events and iocstatus */ 190/* debug print string length used for events and iocstatus */
178# define EVENT_DESCR_STR_SZ 100 191# define EVENT_DESCR_STR_SZ 100
179 192
@@ -576,6 +589,10 @@ typedef struct _MPT_ADAPTER
576 int pci_irq; /* This irq */ 589 int pci_irq; /* This irq */
577 char name[MPT_NAME_LENGTH]; /* "iocN" */ 590 char name[MPT_NAME_LENGTH]; /* "iocN" */
578 char prod_name[MPT_NAME_LENGTH]; /* "LSIFC9x9" */ 591 char prod_name[MPT_NAME_LENGTH]; /* "LSIFC9x9" */
592#ifdef CONFIG_FUSION_LOGGING
593 /* used in mpt_display_event_info */
594 char evStr[EVENT_DESCR_STR_SZ];
595#endif
579 char board_name[16]; 596 char board_name[16];
580 char board_assembly[16]; 597 char board_assembly[16];
581 char board_tracer[16]; 598 char board_tracer[16];
@@ -682,14 +699,11 @@ typedef struct _MPT_ADAPTER
682 int aen_event_read_flag; /* flag to indicate event log was read*/ 699 int aen_event_read_flag; /* flag to indicate event log was read*/
683 u8 FirstWhoInit; 700 u8 FirstWhoInit;
684 u8 upload_fw; /* If set, do a fw upload */ 701 u8 upload_fw; /* If set, do a fw upload */
685 u8 reload_fw; /* Force a FW Reload on next reset */
686 u8 NBShiftFactor; /* NB Shift Factor based on Block Size (Facts) */ 702 u8 NBShiftFactor; /* NB Shift Factor based on Block Size (Facts) */
687 u8 pad1[4]; 703 u8 pad1[4];
688 u8 DoneCtx; 704 u8 DoneCtx;
689 u8 TaskCtx; 705 u8 TaskCtx;
690 u8 InternalCtx; 706 u8 InternalCtx;
691 spinlock_t initializing_hba_lock;
692 int initializing_hba_lock_flag;
693 struct list_head list; 707 struct list_head list;
694 struct net_device *netdev; 708 struct net_device *netdev;
695 struct list_head sas_topology; 709 struct list_head sas_topology;
@@ -699,7 +713,7 @@ typedef struct _MPT_ADAPTER
699 struct list_head fw_event_list; 713 struct list_head fw_event_list;
700 spinlock_t fw_event_lock; 714 spinlock_t fw_event_lock;
701 u8 fw_events_off; /* if '1', then ignore events */ 715 u8 fw_events_off; /* if '1', then ignore events */
702 char fw_event_q_name[20]; 716 char fw_event_q_name[MPT_KOBJ_NAME_LEN];
703 717
704 struct mutex sas_discovery_mutex; 718 struct mutex sas_discovery_mutex;
705 u8 sas_discovery_runtime; 719 u8 sas_discovery_runtime;
@@ -731,15 +745,22 @@ typedef struct _MPT_ADAPTER
731 u8 fc_link_speed[2]; 745 u8 fc_link_speed[2];
732 spinlock_t fc_rescan_work_lock; 746 spinlock_t fc_rescan_work_lock;
733 struct work_struct fc_rescan_work; 747 struct work_struct fc_rescan_work;
734 char fc_rescan_work_q_name[20]; 748 char fc_rescan_work_q_name[MPT_KOBJ_NAME_LEN];
735 struct workqueue_struct *fc_rescan_work_q; 749 struct workqueue_struct *fc_rescan_work_q;
750
751 /* driver forced bus resets count */
752 unsigned long hard_resets;
753 /* fw/external bus resets count */
754 unsigned long soft_resets;
755 /* cmd timeouts */
756 unsigned long timeouts;
757
736 struct scsi_cmnd **ScsiLookup; 758 struct scsi_cmnd **ScsiLookup;
737 spinlock_t scsi_lookup_lock; 759 spinlock_t scsi_lookup_lock;
738 u64 dma_mask; 760 u64 dma_mask;
739 char reset_work_q_name[20]; 761 char reset_work_q_name[MPT_KOBJ_NAME_LEN];
740 struct workqueue_struct *reset_work_q; 762 struct workqueue_struct *reset_work_q;
741 struct delayed_work fault_reset_work; 763 struct delayed_work fault_reset_work;
742 spinlock_t fault_reset_work_lock;
743 764
744 u8 sg_addr_size; 765 u8 sg_addr_size;
745 u8 in_rescan; 766 u8 in_rescan;
@@ -870,9 +891,6 @@ typedef struct _MPT_SCSI_HOST {
870 MPT_FRAME_HDR *cmdPtr; /* Ptr to nonOS request */ 891 MPT_FRAME_HDR *cmdPtr; /* Ptr to nonOS request */
871 struct scsi_cmnd *abortSCpnt; 892 struct scsi_cmnd *abortSCpnt;
872 MPT_LOCAL_REPLY localReply; /* internal cmd reply struct */ 893 MPT_LOCAL_REPLY localReply; /* internal cmd reply struct */
873 unsigned long hard_resets; /* driver forced bus resets count */
874 unsigned long soft_resets; /* fw/external bus resets count */
875 unsigned long timeouts; /* cmd timeouts */
876 ushort sel_timeout[MPT_MAX_FC_DEVICES]; 894 ushort sel_timeout[MPT_MAX_FC_DEVICES];
877 char *info_kbuf; 895 char *info_kbuf;
878 long last_queue_full; 896 long last_queue_full;