diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli4.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli4.h | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli4.h b/drivers/scsi/lpfc/lpfc_sli4.h index 4b1703554a2..19bb87ae859 100644 --- a/drivers/scsi/lpfc/lpfc_sli4.h +++ b/drivers/scsi/lpfc/lpfc_sli4.h | |||
@@ -81,6 +81,8 @@ | |||
81 | (fc_hdr)->fh_f_ctl[1] << 8 | \ | 81 | (fc_hdr)->fh_f_ctl[1] << 8 | \ |
82 | (fc_hdr)->fh_f_ctl[2]) | 82 | (fc_hdr)->fh_f_ctl[2]) |
83 | 83 | ||
84 | #define LPFC_FW_RESET_MAXIMUM_WAIT_10MS_CNT 12000 | ||
85 | |||
84 | enum lpfc_sli4_queue_type { | 86 | enum lpfc_sli4_queue_type { |
85 | LPFC_EQ, | 87 | LPFC_EQ, |
86 | LPFC_GCQ, | 88 | LPFC_GCQ, |
@@ -157,6 +159,25 @@ struct lpfc_fcf_rec { | |||
157 | #define RECORD_VALID 0x02 | 159 | #define RECORD_VALID 0x02 |
158 | }; | 160 | }; |
159 | 161 | ||
162 | struct lpfc_fcf_pri_rec { | ||
163 | uint16_t fcf_index; | ||
164 | #define LPFC_FCF_ON_PRI_LIST 0x0001 | ||
165 | #define LPFC_FCF_FLOGI_FAILED 0x0002 | ||
166 | uint16_t flag; | ||
167 | uint32_t priority; | ||
168 | }; | ||
169 | |||
170 | struct lpfc_fcf_pri { | ||
171 | struct list_head list; | ||
172 | struct lpfc_fcf_pri_rec fcf_rec; | ||
173 | }; | ||
174 | |||
175 | /* | ||
176 | * Maximum FCF table index, it is for driver internal book keeping, it | ||
177 | * just needs to be no less than the supported HBA's FCF table size. | ||
178 | */ | ||
179 | #define LPFC_SLI4_FCF_TBL_INDX_MAX 32 | ||
180 | |||
160 | struct lpfc_fcf { | 181 | struct lpfc_fcf { |
161 | uint16_t fcfi; | 182 | uint16_t fcfi; |
162 | uint32_t fcf_flag; | 183 | uint32_t fcf_flag; |
@@ -176,15 +197,13 @@ struct lpfc_fcf { | |||
176 | uint32_t eligible_fcf_cnt; | 197 | uint32_t eligible_fcf_cnt; |
177 | struct lpfc_fcf_rec current_rec; | 198 | struct lpfc_fcf_rec current_rec; |
178 | struct lpfc_fcf_rec failover_rec; | 199 | struct lpfc_fcf_rec failover_rec; |
200 | struct list_head fcf_pri_list; | ||
201 | struct lpfc_fcf_pri fcf_pri[LPFC_SLI4_FCF_TBL_INDX_MAX]; | ||
202 | uint32_t current_fcf_scan_pri; | ||
179 | struct timer_list redisc_wait; | 203 | struct timer_list redisc_wait; |
180 | unsigned long *fcf_rr_bmask; /* Eligible FCF indexes for RR failover */ | 204 | unsigned long *fcf_rr_bmask; /* Eligible FCF indexes for RR failover */ |
181 | }; | 205 | }; |
182 | 206 | ||
183 | /* | ||
184 | * Maximum FCF table index, it is for driver internal book keeping, it | ||
185 | * just needs to be no less than the supported HBA's FCF table size. | ||
186 | */ | ||
187 | #define LPFC_SLI4_FCF_TBL_INDX_MAX 32 | ||
188 | 207 | ||
189 | #define LPFC_REGION23_SIGNATURE "RG23" | 208 | #define LPFC_REGION23_SIGNATURE "RG23" |
190 | #define LPFC_REGION23_VERSION 1 | 209 | #define LPFC_REGION23_VERSION 1 |