diff options
Diffstat (limited to 'drivers/message/fusion/mptbase.h')
-rw-r--r-- | drivers/message/fusion/mptbase.h | 46 |
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; |