diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_disc.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_disc.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/scsi/lpfc/lpfc_disc.h b/drivers/scsi/lpfc/lpfc_disc.h index 498059f3f7f4..aacac9ac5381 100644 --- a/drivers/scsi/lpfc/lpfc_disc.h +++ b/drivers/scsi/lpfc/lpfc_disc.h | |||
@@ -36,21 +36,23 @@ enum lpfc_work_type { | |||
36 | LPFC_EVT_WARM_START, | 36 | LPFC_EVT_WARM_START, |
37 | LPFC_EVT_KILL, | 37 | LPFC_EVT_KILL, |
38 | LPFC_EVT_ELS_RETRY, | 38 | LPFC_EVT_ELS_RETRY, |
39 | LPFC_EVT_DEV_LOSS_DELAY, | ||
40 | LPFC_EVT_DEV_LOSS, | ||
39 | }; | 41 | }; |
40 | 42 | ||
41 | /* structure used to queue event to the discovery tasklet */ | 43 | /* structure used to queue event to the discovery tasklet */ |
42 | struct lpfc_work_evt { | 44 | struct lpfc_work_evt { |
43 | struct list_head evt_listp; | 45 | struct list_head evt_listp; |
44 | void * evt_arg1; | 46 | void *evt_arg1; |
45 | void * evt_arg2; | 47 | void *evt_arg2; |
46 | enum lpfc_work_type evt; | 48 | enum lpfc_work_type evt; |
47 | }; | 49 | }; |
48 | 50 | ||
49 | 51 | ||
50 | struct lpfc_nodelist { | 52 | struct lpfc_nodelist { |
51 | struct list_head nlp_listp; | 53 | struct list_head nlp_listp; |
52 | struct lpfc_name nlp_portname; /* port name */ | 54 | struct lpfc_name nlp_portname; |
53 | struct lpfc_name nlp_nodename; /* node name */ | 55 | struct lpfc_name nlp_nodename; |
54 | uint32_t nlp_flag; /* entry flags */ | 56 | uint32_t nlp_flag; /* entry flags */ |
55 | uint32_t nlp_DID; /* FC D_ID of entry */ | 57 | uint32_t nlp_DID; /* FC D_ID of entry */ |
56 | uint32_t nlp_last_elscmd; /* Last ELS cmd sent */ | 58 | uint32_t nlp_last_elscmd; /* Last ELS cmd sent */ |
@@ -75,8 +77,9 @@ struct lpfc_nodelist { | |||
75 | struct timer_list nlp_delayfunc; /* Used for delayed ELS cmds */ | 77 | struct timer_list nlp_delayfunc; /* Used for delayed ELS cmds */ |
76 | struct fc_rport *rport; /* Corresponding FC transport | 78 | struct fc_rport *rport; /* Corresponding FC transport |
77 | port structure */ | 79 | port structure */ |
78 | struct lpfc_hba *nlp_phba; | 80 | struct lpfc_vport *vport; |
79 | struct lpfc_work_evt els_retry_evt; | 81 | struct lpfc_work_evt els_retry_evt; |
82 | struct lpfc_work_evt dev_loss_evt; | ||
80 | unsigned long last_ramp_up_time; /* jiffy of last ramp up */ | 83 | unsigned long last_ramp_up_time; /* jiffy of last ramp up */ |
81 | unsigned long last_q_full_time; /* jiffy of last queue full */ | 84 | unsigned long last_q_full_time; /* jiffy of last queue full */ |
82 | struct kref kref; | 85 | struct kref kref; |
@@ -98,7 +101,9 @@ struct lpfc_nodelist { | |||
98 | ACC */ | 101 | ACC */ |
99 | #define NLP_NPR_ADISC 0x2000000 /* Issue ADISC when dq'ed from | 102 | #define NLP_NPR_ADISC 0x2000000 /* Issue ADISC when dq'ed from |
100 | NPR list */ | 103 | NPR list */ |
104 | #define NLP_RM_DFLT_RPI 0x4000000 /* need to remove leftover dflt RPI */ | ||
101 | #define NLP_NODEV_REMOVE 0x8000000 /* Defer removal till discovery ends */ | 105 | #define NLP_NODEV_REMOVE 0x8000000 /* Defer removal till discovery ends */ |
106 | #define NLP_TARGET_REMOVE 0x10000000 /* Target remove in process */ | ||
102 | 107 | ||
103 | /* There are 4 different double linked lists nodelist entries can reside on. | 108 | /* There are 4 different double linked lists nodelist entries can reside on. |
104 | * The Port Login (PLOGI) list and Address Discovery (ADISC) list are used | 109 | * The Port Login (PLOGI) list and Address Discovery (ADISC) list are used |