aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_disc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_disc.h')
-rw-r--r--drivers/scsi/lpfc/lpfc_disc.h15
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 */
42struct lpfc_work_evt { 44struct 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
50struct lpfc_nodelist { 52struct 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