diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_crtn.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index 1251788ce2a3..b8c2a8862d8c 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /******************************************************************* | 1 | /******************************************************************* |
2 | * This file is part of the Emulex Linux Device Driver for * | 2 | * This file is part of the Emulex Linux Device Driver for * |
3 | * Fibre Channel Host Bus Adapters. * | 3 | * Fibre Channel Host Bus Adapters. * |
4 | * Copyright (C) 2004-2006 Emulex. All rights reserved. * | 4 | * Copyright (C) 2004-2007 Emulex. All rights reserved. * |
5 | * EMULEX and SLI are trademarks of Emulex. * | 5 | * EMULEX and SLI are trademarks of Emulex. * |
6 | * www.emulex.com * | 6 | * www.emulex.com * |
7 | * * | 7 | * * |
@@ -18,6 +18,8 @@ | |||
18 | * included with this package. * | 18 | * included with this package. * |
19 | *******************************************************************/ | 19 | *******************************************************************/ |
20 | 20 | ||
21 | typedef int (*node_filter)(struct lpfc_nodelist *ndlp, void *param); | ||
22 | |||
21 | struct fc_rport; | 23 | struct fc_rport; |
22 | 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); |
23 | void lpfc_read_nv(struct lpfc_hba *, LPFC_MBOXQ_t *); | 25 | void lpfc_read_nv(struct lpfc_hba *, LPFC_MBOXQ_t *); |
@@ -43,20 +45,24 @@ void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | |||
43 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 45 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
44 | void lpfc_mbx_cmpl_ns_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 46 | void lpfc_mbx_cmpl_ns_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
45 | void lpfc_mbx_cmpl_fdmi_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 47 | void lpfc_mbx_cmpl_fdmi_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
46 | int lpfc_nlp_list(struct lpfc_hba *, struct lpfc_nodelist *, int); | 48 | void lpfc_dequeue_node(struct lpfc_hba *, struct lpfc_nodelist *); |
49 | void lpfc_nlp_set_state(struct lpfc_hba *, struct lpfc_nodelist *, int); | ||
50 | void lpfc_drop_node(struct lpfc_hba *, struct lpfc_nodelist *); | ||
47 | void lpfc_set_disctmo(struct lpfc_hba *); | 51 | void lpfc_set_disctmo(struct lpfc_hba *); |
48 | int lpfc_can_disctmo(struct lpfc_hba *); | 52 | int lpfc_can_disctmo(struct lpfc_hba *); |
49 | int lpfc_unreg_rpi(struct lpfc_hba *, struct lpfc_nodelist *); | 53 | int lpfc_unreg_rpi(struct lpfc_hba *, struct lpfc_nodelist *); |
50 | int lpfc_check_sli_ndlp(struct lpfc_hba *, struct lpfc_sli_ring *, | 54 | int lpfc_check_sli_ndlp(struct lpfc_hba *, struct lpfc_sli_ring *, |
51 | struct lpfc_iocbq *, struct lpfc_nodelist *); | 55 | struct lpfc_iocbq *, struct lpfc_nodelist *); |
52 | int lpfc_nlp_remove(struct lpfc_hba *, struct lpfc_nodelist *); | ||
53 | void lpfc_nlp_init(struct lpfc_hba *, struct lpfc_nodelist *, uint32_t); | 56 | void lpfc_nlp_init(struct lpfc_hba *, struct lpfc_nodelist *, uint32_t); |
57 | struct lpfc_nodelist *lpfc_nlp_get(struct lpfc_nodelist *); | ||
58 | int lpfc_nlp_put(struct lpfc_nodelist *); | ||
54 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_hba *, uint32_t); | 59 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_hba *, uint32_t); |
55 | void lpfc_disc_list_loopmap(struct lpfc_hba *); | 60 | void lpfc_disc_list_loopmap(struct lpfc_hba *); |
56 | void lpfc_disc_start(struct lpfc_hba *); | 61 | void lpfc_disc_start(struct lpfc_hba *); |
57 | void lpfc_disc_flush_list(struct lpfc_hba *); | 62 | void lpfc_disc_flush_list(struct lpfc_hba *); |
58 | void lpfc_disc_timeout(unsigned long); | 63 | void lpfc_disc_timeout(unsigned long); |
59 | 64 | ||
65 | struct lpfc_nodelist *__lpfc_findnode_rpi(struct lpfc_hba * phba, uint16_t rpi); | ||
60 | struct lpfc_nodelist *lpfc_findnode_rpi(struct lpfc_hba * phba, uint16_t rpi); | 66 | struct lpfc_nodelist *lpfc_findnode_rpi(struct lpfc_hba * phba, uint16_t rpi); |
61 | 67 | ||
62 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); | 68 | int lpfc_workq_post_event(struct lpfc_hba *, void *, void *, uint32_t); |
@@ -66,8 +72,7 @@ int lpfc_disc_state_machine(struct lpfc_hba *, struct lpfc_nodelist *, void *, | |||
66 | 72 | ||
67 | int lpfc_check_sparm(struct lpfc_hba *, struct lpfc_nodelist *, | 73 | int lpfc_check_sparm(struct lpfc_hba *, struct lpfc_nodelist *, |
68 | struct serv_parm *, uint32_t); | 74 | struct serv_parm *, uint32_t); |
69 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist * ndlp, | 75 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist * ndlp); |
70 | int); | ||
71 | int lpfc_els_abort_flogi(struct lpfc_hba *); | 76 | int lpfc_els_abort_flogi(struct lpfc_hba *); |
72 | int lpfc_initial_flogi(struct lpfc_hba *); | 77 | int lpfc_initial_flogi(struct lpfc_hba *); |
73 | int lpfc_issue_els_plogi(struct lpfc_hba *, uint32_t, uint8_t); | 78 | int lpfc_issue_els_plogi(struct lpfc_hba *, uint32_t, uint8_t); |
@@ -113,7 +118,10 @@ void lpfc_hba_init(struct lpfc_hba *, uint32_t *); | |||
113 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); | 118 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); |
114 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); | 119 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); |
115 | int lpfc_online(struct lpfc_hba *); | 120 | int lpfc_online(struct lpfc_hba *); |
116 | int lpfc_offline(struct lpfc_hba *); | 121 | void lpfc_block_mgmt_io(struct lpfc_hba *); |
122 | void lpfc_unblock_mgmt_io(struct lpfc_hba *); | ||
123 | void lpfc_offline_prep(struct lpfc_hba *); | ||
124 | void lpfc_offline(struct lpfc_hba *); | ||
117 | 125 | ||
118 | int lpfc_sli_setup(struct lpfc_hba *); | 126 | int lpfc_sli_setup(struct lpfc_hba *); |
119 | int lpfc_sli_queue_setup(struct lpfc_hba *); | 127 | int lpfc_sli_queue_setup(struct lpfc_hba *); |
@@ -162,8 +170,8 @@ int lpfc_sli_ringpostbuf_put(struct lpfc_hba *, struct lpfc_sli_ring *, | |||
162 | struct lpfc_dmabuf *lpfc_sli_ringpostbuf_get(struct lpfc_hba *, | 170 | struct lpfc_dmabuf *lpfc_sli_ringpostbuf_get(struct lpfc_hba *, |
163 | struct lpfc_sli_ring *, | 171 | struct lpfc_sli_ring *, |
164 | dma_addr_t); | 172 | dma_addr_t); |
165 | int lpfc_sli_issue_abort_iotag32(struct lpfc_hba *, struct lpfc_sli_ring *, | 173 | int lpfc_sli_issue_abort_iotag(struct lpfc_hba *, struct lpfc_sli_ring *, |
166 | struct lpfc_iocbq *); | 174 | struct lpfc_iocbq *); |
167 | int lpfc_sli_sum_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, | 175 | int lpfc_sli_sum_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, |
168 | uint64_t, lpfc_ctx_cmd); | 176 | uint64_t, lpfc_ctx_cmd); |
169 | int lpfc_sli_abort_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, | 177 | int lpfc_sli_abort_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, |
@@ -172,9 +180,8 @@ int lpfc_sli_abort_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, | |||
172 | void lpfc_mbox_timeout(unsigned long); | 180 | void lpfc_mbox_timeout(unsigned long); |
173 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); | 181 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); |
174 | 182 | ||
175 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_hba *, uint32_t, uint32_t); | 183 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_hba *, uint32_t); |
176 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_hba *, uint32_t, | 184 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_hba *, struct lpfc_name *); |
177 | struct lpfc_name *); | ||
178 | 185 | ||
179 | int lpfc_sli_issue_mbox_wait(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq, | 186 | int lpfc_sli_issue_mbox_wait(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq, |
180 | uint32_t timeout); | 187 | uint32_t timeout); |
@@ -193,6 +200,9 @@ void lpfc_mbuf_free(struct lpfc_hba *, void *, dma_addr_t); | |||
193 | 200 | ||
194 | /* Function prototypes. */ | 201 | /* Function prototypes. */ |
195 | const char* lpfc_info(struct Scsi_Host *); | 202 | const char* lpfc_info(struct Scsi_Host *); |
203 | void lpfc_scan_start(struct Scsi_Host *); | ||
204 | int lpfc_scan_finished(struct Scsi_Host *, unsigned long); | ||
205 | |||
196 | void lpfc_get_cfgparam(struct lpfc_hba *); | 206 | void lpfc_get_cfgparam(struct lpfc_hba *); |
197 | int lpfc_alloc_sysfs_attr(struct lpfc_hba *); | 207 | int lpfc_alloc_sysfs_attr(struct lpfc_hba *); |
198 | void lpfc_free_sysfs_attr(struct lpfc_hba *); | 208 | void lpfc_free_sysfs_attr(struct lpfc_hba *); |