diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_crtn.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index a599e1510710..50fcb7c930bc 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -23,6 +23,8 @@ typedef int (*node_filter)(struct lpfc_nodelist *ndlp, void *param); | |||
23 | struct fc_rport; | 23 | struct fc_rport; |
24 | void lpfc_dump_mem(struct lpfc_hba *, LPFC_MBOXQ_t *, uint16_t); | 24 | void lpfc_dump_mem(struct lpfc_hba *, LPFC_MBOXQ_t *, uint16_t); |
25 | void lpfc_read_nv(struct lpfc_hba *, LPFC_MBOXQ_t *); | 25 | void lpfc_read_nv(struct lpfc_hba *, LPFC_MBOXQ_t *); |
26 | void lpfc_config_async(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); | ||
27 | |||
26 | void lpfc_heart_beat(struct lpfc_hba *, LPFC_MBOXQ_t *); | 28 | void lpfc_heart_beat(struct lpfc_hba *, LPFC_MBOXQ_t *); |
27 | int lpfc_read_la(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, | 29 | int lpfc_read_la(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmb, |
28 | struct lpfc_dmabuf *mp); | 30 | struct lpfc_dmabuf *mp); |
@@ -43,9 +45,9 @@ void lpfc_init_link(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t, uint32_t); | |||
43 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); | 45 | struct lpfc_vport *lpfc_find_vport_by_did(struct lpfc_hba *, uint32_t); |
44 | void lpfc_cleanup_rpis(struct lpfc_vport *vport, int remove); | 46 | void lpfc_cleanup_rpis(struct lpfc_vport *vport, int remove); |
45 | int lpfc_linkdown(struct lpfc_hba *); | 47 | int lpfc_linkdown(struct lpfc_hba *); |
48 | void lpfc_port_link_failure(struct lpfc_vport *); | ||
46 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | 49 | void lpfc_mbx_cmpl_read_la(struct lpfc_hba *, LPFC_MBOXQ_t *); |
47 | 50 | ||
48 | void lpfc_mbx_cmpl_clear_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | ||
49 | void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 51 | void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
50 | void lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *, LPFC_MBOXQ_t *); | 52 | void lpfc_mbx_cmpl_dflt_rpi(struct lpfc_hba *, LPFC_MBOXQ_t *); |
51 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 53 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
@@ -66,15 +68,15 @@ int lpfc_check_sli_ndlp(struct lpfc_hba *, struct lpfc_sli_ring *, | |||
66 | void lpfc_nlp_init(struct lpfc_vport *, struct lpfc_nodelist *, uint32_t); | 68 | void lpfc_nlp_init(struct lpfc_vport *, struct lpfc_nodelist *, uint32_t); |
67 | struct lpfc_nodelist *lpfc_nlp_get(struct lpfc_nodelist *); | 69 | struct lpfc_nodelist *lpfc_nlp_get(struct lpfc_nodelist *); |
68 | int lpfc_nlp_put(struct lpfc_nodelist *); | 70 | int lpfc_nlp_put(struct lpfc_nodelist *); |
71 | int lpfc_nlp_not_used(struct lpfc_nodelist *ndlp); | ||
69 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_vport *, uint32_t); | 72 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_vport *, uint32_t); |
70 | void lpfc_disc_list_loopmap(struct lpfc_vport *); | 73 | void lpfc_disc_list_loopmap(struct lpfc_vport *); |
71 | void lpfc_disc_start(struct lpfc_vport *); | 74 | void lpfc_disc_start(struct lpfc_vport *); |
72 | void lpfc_disc_flush_list(struct lpfc_vport *); | ||
73 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); | 75 | void lpfc_cleanup_discovery_resources(struct lpfc_vport *); |
76 | void lpfc_cleanup(struct lpfc_vport *); | ||
74 | void lpfc_disc_timeout(unsigned long); | 77 | void lpfc_disc_timeout(unsigned long); |
75 | 78 | ||
76 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); | 79 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); |
77 | struct lpfc_nodelist *lpfc_findnode_rpi(struct lpfc_vport *, uint16_t); | ||
78 | 80 | ||
79 | void lpfc_worker_wake_up(struct lpfc_hba *); | 81 | void lpfc_worker_wake_up(struct lpfc_hba *); |
80 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); | 82 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); |
@@ -82,17 +84,17 @@ int lpfc_do_work(void *); | |||
82 | int lpfc_disc_state_machine(struct lpfc_vport *, struct lpfc_nodelist *, void *, | 84 | int lpfc_disc_state_machine(struct lpfc_vport *, struct lpfc_nodelist *, void *, |
83 | uint32_t); | 85 | uint32_t); |
84 | 86 | ||
85 | void lpfc_register_new_vport(struct lpfc_hba *, struct lpfc_vport *, | ||
86 | struct lpfc_nodelist *); | ||
87 | void lpfc_do_scr_ns_plogi(struct lpfc_hba *, struct lpfc_vport *); | 87 | void lpfc_do_scr_ns_plogi(struct lpfc_hba *, struct lpfc_vport *); |
88 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, | 88 | int lpfc_check_sparm(struct lpfc_vport *, struct lpfc_nodelist *, |
89 | struct serv_parm *, uint32_t); | 89 | struct serv_parm *, uint32_t); |
90 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist *); | 90 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist *); |
91 | void lpfc_more_plogi(struct lpfc_vport *); | ||
92 | void lpfc_more_adisc(struct lpfc_vport *); | ||
93 | void lpfc_end_rscn(struct lpfc_vport *); | ||
91 | int lpfc_els_chk_latt(struct lpfc_vport *); | 94 | int lpfc_els_chk_latt(struct lpfc_vport *); |
92 | int lpfc_els_abort_flogi(struct lpfc_hba *); | 95 | int lpfc_els_abort_flogi(struct lpfc_hba *); |
93 | int lpfc_initial_flogi(struct lpfc_vport *); | 96 | int lpfc_initial_flogi(struct lpfc_vport *); |
94 | int lpfc_initial_fdisc(struct lpfc_vport *); | 97 | int lpfc_initial_fdisc(struct lpfc_vport *); |
95 | int lpfc_issue_els_fdisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | ||
96 | int lpfc_issue_els_plogi(struct lpfc_vport *, uint32_t, uint8_t); | 98 | int lpfc_issue_els_plogi(struct lpfc_vport *, uint32_t, uint8_t); |
97 | int lpfc_issue_els_prli(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | 99 | int lpfc_issue_els_prli(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); |
98 | int lpfc_issue_els_adisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); | 100 | int lpfc_issue_els_adisc(struct lpfc_vport *, struct lpfc_nodelist *, uint8_t); |
@@ -112,7 +114,6 @@ int lpfc_els_rsp_prli_acc(struct lpfc_vport *, struct lpfc_iocbq *, | |||
112 | void lpfc_cancel_retry_delay_tmo(struct lpfc_vport *, struct lpfc_nodelist *); | 114 | void lpfc_cancel_retry_delay_tmo(struct lpfc_vport *, struct lpfc_nodelist *); |
113 | void lpfc_els_retry_delay(unsigned long); | 115 | void lpfc_els_retry_delay(unsigned long); |
114 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); | 116 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); |
115 | void lpfc_dev_loss_tmo_handler(struct lpfc_nodelist *); | ||
116 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, | 117 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, |
117 | struct lpfc_iocbq *); | 118 | struct lpfc_iocbq *); |
118 | int lpfc_els_handle_rscn(struct lpfc_vport *); | 119 | int lpfc_els_handle_rscn(struct lpfc_vport *); |
@@ -124,7 +125,6 @@ int lpfc_els_disc_adisc(struct lpfc_vport *); | |||
124 | int lpfc_els_disc_plogi(struct lpfc_vport *); | 125 | int lpfc_els_disc_plogi(struct lpfc_vport *); |
125 | void lpfc_els_timeout(unsigned long); | 126 | void lpfc_els_timeout(unsigned long); |
126 | void lpfc_els_timeout_handler(struct lpfc_vport *); | 127 | void lpfc_els_timeout_handler(struct lpfc_vport *); |
127 | void lpfc_hb_timeout(unsigned long); | ||
128 | void lpfc_hb_timeout_handler(struct lpfc_hba *); | 128 | void lpfc_hb_timeout_handler(struct lpfc_hba *); |
129 | 129 | ||
130 | void lpfc_ct_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, | 130 | void lpfc_ct_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, |
@@ -142,7 +142,6 @@ void lpfc_hba_init(struct lpfc_hba *, uint32_t *); | |||
142 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); | 142 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); |
143 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); | 143 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); |
144 | int lpfc_online(struct lpfc_hba *); | 144 | int lpfc_online(struct lpfc_hba *); |
145 | void lpfc_block_mgmt_io(struct lpfc_hba *); | ||
146 | void lpfc_unblock_mgmt_io(struct lpfc_hba *); | 145 | void lpfc_unblock_mgmt_io(struct lpfc_hba *); |
147 | void lpfc_offline_prep(struct lpfc_hba *); | 146 | void lpfc_offline_prep(struct lpfc_hba *); |
148 | void lpfc_offline(struct lpfc_hba *); | 147 | void lpfc_offline(struct lpfc_hba *); |
@@ -165,7 +164,6 @@ int lpfc_mbox_tmo_val(struct lpfc_hba *, int); | |||
165 | 164 | ||
166 | void lpfc_config_hbq(struct lpfc_hba *, uint32_t, struct lpfc_hbq_init *, | 165 | void lpfc_config_hbq(struct lpfc_hba *, uint32_t, struct lpfc_hbq_init *, |
167 | uint32_t , LPFC_MBOXQ_t *); | 166 | uint32_t , LPFC_MBOXQ_t *); |
168 | struct lpfc_hbq_entry * lpfc_sli_next_hbq_slot(struct lpfc_hba *, uint32_t); | ||
169 | struct hbq_dmabuf *lpfc_els_hbq_alloc(struct lpfc_hba *); | 167 | struct hbq_dmabuf *lpfc_els_hbq_alloc(struct lpfc_hba *); |
170 | void lpfc_els_hbq_free(struct lpfc_hba *, struct hbq_dmabuf *); | 168 | void lpfc_els_hbq_free(struct lpfc_hba *, struct hbq_dmabuf *); |
171 | 169 | ||
@@ -178,7 +176,6 @@ void lpfc_poll_start_timer(struct lpfc_hba * phba); | |||
178 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); | 176 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); |
179 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); | 177 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); |
180 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 178 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
181 | void __lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | ||
182 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 179 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
183 | 180 | ||
184 | void lpfc_reset_barrier(struct lpfc_hba * phba); | 181 | void lpfc_reset_barrier(struct lpfc_hba * phba); |
@@ -204,11 +201,14 @@ int lpfc_sli_ringpostbuf_put(struct lpfc_hba *, struct lpfc_sli_ring *, | |||
204 | struct lpfc_dmabuf *lpfc_sli_ringpostbuf_get(struct lpfc_hba *, | 201 | struct lpfc_dmabuf *lpfc_sli_ringpostbuf_get(struct lpfc_hba *, |
205 | struct lpfc_sli_ring *, | 202 | struct lpfc_sli_ring *, |
206 | dma_addr_t); | 203 | dma_addr_t); |
204 | |||
205 | uint32_t lpfc_sli_get_buffer_tag(struct lpfc_hba *); | ||
206 | struct lpfc_dmabuf * lpfc_sli_ring_taggedbuf_get(struct lpfc_hba *, | ||
207 | struct lpfc_sli_ring *, uint32_t ); | ||
208 | |||
207 | int lpfc_sli_hbq_count(void); | 209 | int lpfc_sli_hbq_count(void); |
208 | int lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *, uint32_t); | ||
209 | int lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *, uint32_t); | 210 | int lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *, uint32_t); |
210 | void lpfc_sli_hbqbuf_free_all(struct lpfc_hba *); | 211 | void lpfc_sli_hbqbuf_free_all(struct lpfc_hba *); |
211 | struct hbq_dmabuf *lpfc_sli_hbqbuf_find(struct lpfc_hba *, uint32_t); | ||
212 | int lpfc_sli_hbq_size(void); | 212 | int lpfc_sli_hbq_size(void); |
213 | int lpfc_sli_issue_abort_iotag(struct lpfc_hba *, struct lpfc_sli_ring *, | 213 | int lpfc_sli_issue_abort_iotag(struct lpfc_hba *, struct lpfc_sli_ring *, |
214 | struct lpfc_iocbq *); | 214 | struct lpfc_iocbq *); |
@@ -219,9 +219,6 @@ int lpfc_sli_abort_iocb(struct lpfc_vport *, struct lpfc_sli_ring *, uint16_t, | |||
219 | void lpfc_mbox_timeout(unsigned long); | 219 | void lpfc_mbox_timeout(unsigned long); |
220 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); | 220 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); |
221 | 221 | ||
222 | struct lpfc_nodelist *__lpfc_find_node(struct lpfc_vport *, node_filter, | ||
223 | void *); | ||
224 | struct lpfc_nodelist *lpfc_find_node(struct lpfc_vport *, node_filter, void *); | ||
225 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_vport *, uint32_t); | 222 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_vport *, uint32_t); |
226 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_vport *, | 223 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_vport *, |
227 | struct lpfc_name *); | 224 | struct lpfc_name *); |
@@ -260,6 +257,7 @@ extern struct scsi_host_template lpfc_vport_template; | |||
260 | extern struct fc_function_template lpfc_transport_functions; | 257 | extern struct fc_function_template lpfc_transport_functions; |
261 | extern struct fc_function_template lpfc_vport_transport_functions; | 258 | extern struct fc_function_template lpfc_vport_transport_functions; |
262 | extern int lpfc_sli_mode; | 259 | extern int lpfc_sli_mode; |
260 | extern int lpfc_enable_npiv; | ||
263 | 261 | ||
264 | int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t); | 262 | int lpfc_vport_symbolic_node_name(struct lpfc_vport *, char *, size_t); |
265 | void lpfc_terminate_rport_io(struct fc_rport *); | 263 | void lpfc_terminate_rport_io(struct fc_rport *); |
@@ -281,11 +279,8 @@ extern void lpfc_debugfs_slow_ring_trc(struct lpfc_hba *, char *, uint32_t, | |||
281 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; | 279 | extern struct lpfc_hbq_init *lpfc_hbq_defs[]; |
282 | 280 | ||
283 | /* Interface exported by fabric iocb scheduler */ | 281 | /* Interface exported by fabric iocb scheduler */ |
284 | int lpfc_issue_fabric_iocb(struct lpfc_hba *, struct lpfc_iocbq *); | ||
285 | void lpfc_fabric_abort_vport(struct lpfc_vport *); | ||
286 | void lpfc_fabric_abort_nport(struct lpfc_nodelist *); | 282 | void lpfc_fabric_abort_nport(struct lpfc_nodelist *); |
287 | void lpfc_fabric_abort_hba(struct lpfc_hba *); | 283 | void lpfc_fabric_abort_hba(struct lpfc_hba *); |
288 | void lpfc_fabric_abort_flogi(struct lpfc_hba *); | ||
289 | void lpfc_fabric_block_timeout(unsigned long); | 284 | void lpfc_fabric_block_timeout(unsigned long); |
290 | void lpfc_unblock_fabric_iocbs(struct lpfc_hba *); | 285 | void lpfc_unblock_fabric_iocbs(struct lpfc_hba *); |
291 | void lpfc_adjust_queue_depth(struct lpfc_hba *); | 286 | void lpfc_adjust_queue_depth(struct lpfc_hba *); |