aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_sli4.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli4.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_sli4.h29
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
84enum lpfc_sli4_queue_type { 86enum 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
162struct 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
170struct 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
160struct lpfc_fcf { 181struct 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