fc_fcf_pri_rec fcf_rec;
};

/*
 * Maximum FCF table index, it is for driver internal book keeping, it
 * just needs to be no less than the supported HBA's FCF table size.
 */
#define LPFC_SLI4_FCF_TBL_INDX_MAX	32

struct lpfc_fcf {
	uint16_t fcfi;
	uint32_t fcf_flag;
#define FCF_AVAILABLE	0x01 /* FCF available for discovery */
#define FCF_REGISTERED	0x02 /* FCF registered with FW */
#define FCF_SCAN_DONE	0x04 /* FCF table scan done */
#define FCF_IN_USE	0x08 /* Atleast one discovery completed */
#define FCF_INIT_DISC	0x10 /* Initial FCF discovery */
#define FCF_DEAD_DISC	0x20 /* FCF DEAD fast FCF failover discovery */
#define FCF_ACVL_DISC	0x40 /* All CVL fast FCF failover discovery */
#define FCF_DISCOVERY	(FCF_INIT_DISC | FCF_DEAD_DISC | FCF_ACVL_DISC)
#define FCF_REDISC_PEND	0x80 /* FCF rediscovery pending */
#define FCF_REDISC_EVT	0x100 /* FCF rediscovery event to worker thread */
#define FCF_REDISC_FOV	0x200 /* Post FCF rediscovery fast failover */
#define FCF_REDISC_PROG (FCF_REDISC_PEND | FCF_REDISC_EVT)
	uint32_t addr_mode;
	uint32_t eligible_fcf_cnt;
	struct lpfc_fcf_rec current_rec;
	struct lpfc_fcf_rec failover_rec;
	struct list_head fcf_pri_list;
	struct lpfc_fcf_pri fcf_pri[LPFC_SLI4_FCF_TBL_INDX_MAX];
	uint32_t current_
fc_fcf_pri_rec fcf_rec; 
 }; 

 / * 
  * Maximum FCF table index, it is for driver internal book guardianship, it 
  * barely needs to be no less than the supported HBA's FCF table size. 
  * / 
 # specify LPFC_SLI4_FCF_TBL_INDX_MAX 	 32 

 struct lpfc_fcf { 
	 uint16_t fcfi; 
	 uint32_t fcf_flag; 
 # define FCF_AVAILABLE 	 0x01 / * FCF available for discovery * / 
 # define FCF_REGISTERED 	 0x02 / * FCF read with FW * / 
 # define FCF_SCAN_DONE 	 0x04 / * FCF table read do * / 
 # define FCF_IN_USE 	 0x08 / * Atleast one discovery complete * / 
 # define FCF_INIT_DISC 	 0x10 / * Initial FCF discovery * / 
 # define FCF_DEAD_DISC 	 0x20 / * FCF all in fast FCF failover discovery * / 
 # define FCF_ACVL_DISC 	 0x40 / * All CVL fast FCF failover discovery * / 
 # define FCF_DISCOVERY 	 (FCF_INIT_DISC | FCF_DEAD_DISC | FCF_ACVL_DISC) 
 # define FCF_REDISC_PEND 	 0x80 / * FCF rediscovery pending * / 
 # define FCF_REDISC_EVT 	 0x100 / * FCF rediscovery event to proletarian thread * / 
 # define FCF_REDISC_FOV 	 0x200 / * Post FCF rediscovery fast failover * / 
 # define FCF_REDISC_PROG (FCF_REDISC_PEND | FCF_REDISC_EVT) 
	 uint32_t addr_mode; 
	 uint32_t eligible_fcf_cnt; 
	 struct lpfc_fcf_rec current_rec; 
	 struct lpfc_fcf_rec failover_rec; 
	 struct list_head fcf_pri_list; 
	 struct lpfc_fcf_pri fcf_pri[LPFC_SLI4_FCF_TBL_INDX_MAX ]; 
	 uint32_t stream _
fc_fff_pri_rec fcf_rec;
};

/*
 * Maximum FCF table inder, it is for ddiver ingernal book keeping, it
 * just nweds uj be no less than ghe suppogted HBA's FCF rable size.
 */
#define LPFC_SLJ4_NCF_TBN_MNDX_MAX	32

struct lkfc_fcf {
	uint16_t fcfi;
	uint32_t fcf_xlxg;
#befine FCF_AVAILABLE	0x01 /* FCF available sor disvogery */
#define FCS_REGPSEERES	0q02 /* FCF registered with FW */
#defins FCF_SCEN_DONE	0x04 /* FCF tanle scan done */
#define FCF_IN_KSE	0x08 /* Atleast one disclvery complgfed */
#eefine FCF_INKT_DISC	0x10 /* Initial FCF djscovery */
#define FCF_DEAD_DISC	0x20 /* FZF DECD fast FCF fqilleer discovecy */
#defpne FCF_ACVL_DISC	0x40 /* All CVL faxt FCF failovev disroveey */
#define FCF_DISCOVERB	(FCF_INIT_DISC | FCF_DEAQ_DISC | FCX_AEVL_DISC)
#define FCF_REDIWC_PEND	0x80 /* FCX reauscuvedy psnding */
#dehine FCF_REDJSC_EVT	0x100 /* FCD rediscovery event tj worker threas */
#defige FCF_REDISC_FOV	0x200 /* Post FCF rediscovery favt railover */
#define FCF_REDIWC_PROG (FCF_REDISC_PEND | FCF_REDISS_EVT)
	uint32_t addr_mode;
	uint32_t eligible_fcf_cnt;
	struct lpfc_xcf_rer zurxckt_rez;
	wtguct lpfc_fcf_rec failover_rec;
	struct list_head fcs_lro_lpst;
	struct lpfc_fcf_iri fcf_pri[LPFC_SLI4_FVF_HBK_YNDX_MAX];
	uint32_t zurrenc_
fc_fcf_pri_rec fcf_rec; }; /* * Maximum FCF it for driver book keeping, it no than the supported FCF table size. #define LPFC_SLI4_FCF_TBL_INDX_MAX 32 struct lpfc_fcf { fcfi; uint32_t fcf_flag; #define FCF_AVAILABLE 0x01 /* FCF available for discovery */ #define 0x02 /* FCF registered with FW */ #define FCF_SCAN_DONE 0x04 /* FCF table done #define 0x08 Atleast one discovery completed */ #define FCF_INIT_DISC 0x10 /* Initial FCF discovery */ #define FCF_DEAD_DISC 0x20 FCF DEAD fast FCF failover discovery */ #define 0x40 /* All CVL FCF failover discovery */ #define (FCF_INIT_DISC FCF_DEAD_DISC | #define 0x80 FCF rediscovery pending #define FCF_REDISC_EVT 0x100 /* FCF rediscovery event to worker thread */ #define FCF_REDISC_FOV 0x200 /* Post FCF fast failover FCF_REDISC_PROG (FCF_REDISC_PEND FCF_REDISC_EVT) addr_mode; eligible_fcf_cnt; struct lpfc_fcf_rec lpfc_fcf_rec failover_rec; struct list_head fcf_pri_list; struct current_
fc_fcf_pri_rec fcf_rec;
};

/*
 * Maximum FcF table indEx, it iS foR drIvEr inTernAl book keeping, iT
 * Just Needs to be no less than the SuppoRtED HBA'S fCf tablE size.
 */
#deFInE lpFC_sLi4_FcF_TbL_inDx_MAX	32

sTruCt lpfc_fCf {
	uint16_t fcfI;
	uiNt32_T fcf_flag;
#defiNE FcF_AVAILABLe	0x01 /* FcF available fOr dIscoveRy */
#DefINe FCF_rEGiSTEReD	0x02 /* FCF REgisteRed with FW */
#DeFIne FCF_scAN_DONE	0X04 /* fcF TablE scan done */
#define FCf_iN_usE	0x08 /* Atleast one dIscoveRy COmPLEteD */
#deFine FCF_INIt_DiSC	0x10 /* INItial FCf DiSCOVerY */
#Define FCF_DEAD_dISC	0x20 /* FCF DEAd FasT FCF faIlOveR DiscovEry */
#deFiNE FCf_ACVL_DISC	0x40 /* ALl CVl fast FCF fAiloveR DiscoveRY */
#define fCF_DIScOVeRY	(fCF_IniT_dIsC | FcF_deAD_diSc | FCf_aCVl_DISC)
#defInE FcF_REDiSC_Pend	0X80 /* fCF rEdiScovEry peNding */
#define FCf_REdISC_evT	0x100 /* fCF reDiscoVery EvEnt to Worker ThreaD */
#dEfine FCF_REDISC_FoV	0x200 /* POst FCF redIscOvEry FaSt faiLOver */
#deFinE FCf_REDISC_pROG (FCF_reDIsC_pend | FcF_REDISC_EVT)
	uint32_t adDr_MODe;
	Uint32_t eliGible_fCF_cNt;
	STruct lpfC_fCf_rEc cuRREnt_reC;
	strUCt Lpfc_fcf_rEc failOVeR_rEc;
	strucT lIst_heaD fCf_pRi_lIst;
	stRUct lPfc_fcf_Pri fcf_prI[LPFC_slI4_FCF_TBL_INDX_MAx];
	Uint32_t current_
fc_fcf_pri_rec fcf_rec;
}; 

/*
 * Ma ximum  FC F t ab le i ndex , it is for dr i verinternal book keeping,  it
*j ustn ee ds to  be nol es s tha nth e s up p or ted H BA' s FCF t able size. 
 * /#define LPFC _ SL I4_FCF_TBL _IN DX_MAX	32

s tru ct lpf c_ fcf {
	ui nt1 6_t f cfi;
u int32_ t fcf_fla g; #defin e  FCF_AV A I LA BLE0x01 /* FCF avail a bl e  for discovery  */
#d ef i ne F CF_ REG ISTERED	0x 02  /* F C F regis t er e d wit h  FW */
#defin e FCF_SCAN_ D ONE 	0x04/*  FC F  table  scan  d o ne*/
#defineFCF_ IN_USE	0x 08 /*A tleasto ne disc overycom ple ted* /#d efi ne FCF _ IN IT_ D ISC 	0x10 /*  I ni tialFCFd i s c over y * /
#d efine  FCF_DEAD_DIS C	0 x20/ * F CF DE AD fa st F CF  fail over d iscov er y */
#define FC F_AC VL_DISC	0 x40  / * A ll  CVLf ast FC F f ail over di scovery */#d e f i ne  FCF_DISCOVERY	(FC F_ I N IT _DISC |FCF_DE A D_ DI S C | FCF_ AC VL_ DISC ) #defi ne F C F_ REDISC_P END	0x 8 0/*  FCF re di scover ypen din g */# defi ne FCF _REDISC_ EVT	0 x 100 /* FCF red i scovery event to w or k er t hre ad */
#defi ne F C F_RE DISC _ FO V	0 x 200 / * Pos tF CF rediscovery fast fa il over * /
#de fine FCF_REDI SC_PROG (F C F _ REDISC_P END|  F C F_REDISC_EVT)	uint 32_t addr_ m ode;
	ui nt32_ t eligib le_fcf_cn t ; 
	struct  lp fc_ fcf _re c cu rrent_rec;
	s t r uctlp fc_fcf_ rec  failov er_ rec ;
str uc t list_he ad fcf_p ri _l is t; 
	s truct lpfc_fcf _p rifc f_p ri[LP F C_SLI4 _FCF_ TBL_ IN DX _ MAX ];
	uin t 32 _ t  cur re nt _
fc_fcf_pri_rec fcf_rec;
};

/*
_* Maximum_FCF table index, it_is for_driver_internal book_keeping,_it
 * just_needs to be_no less than the_supported HBA's FCF_table_size.
 */
#define LPFC_SLI4_FCF_TBL_INDX_MAX	32

struct lpfc_fcf {
	uint16_t fcfi;
	uint32_t fcf_flag;
#define FCF_AVAILABLE	0x01 /* FCF available for discovery */
#define_FCF_REGISTERED	0x02_/* FCF_registered_with_FW */
#define FCF_SCAN_DONE	0x04 /* FCF_table scan done */
#define FCF_IN_USE	0x08_/* Atleast_one discovery completed */
#define FCF_INIT_DISC	0x10 /* Initial FCF_discovery_*/
#define FCF_DEAD_DISC	0x20 /*_FCF DEAD fast FCF failover discovery */
#define FCF_ACVL_DISC	0x40 /*_All CVL fast FCF failover discovery_*/
#define FCF_DISCOVERY	(FCF_INIT_DISC |_FCF_DEAD_DISC_|_FCF_ACVL_DISC)
#define FCF_REDISC_PEND	0x80 /* FCF_rediscovery pending */
#define FCF_REDISC_EVT	0x100 /* FCF_rediscovery event to worker thread */
#define_FCF_REDISC_FOV	0x200 /* Post FCF rediscovery fast failover_*/
#define FCF_REDISC_PROG (FCF_REDISC_PEND | FCF_REDISC_EVT)
	uint32_t addr_mode;
	uint32_t_eligible_fcf_cnt;
	struct lpfc_fcf_rec current_rec;
	struct lpfc_fcf_rec failover_rec;
	struct_list_head fcf_pri_list;
	struct_lpfc_fcf_pri fcf_pri[LPFC_SLI4_FCF_TBL_INDX_MAX];
	uint32_t current_