diff options
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_crtn.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_crtn.h | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index f1e708946e66..fad607b2e6f4 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-2005 Emulex. All rights reserved. * | 4 | * Copyright (C) 2004-2006 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 | * * |
@@ -26,6 +26,7 @@ void lpfc_clear_la(struct lpfc_hba *, LPFC_MBOXQ_t *); | |||
26 | void lpfc_config_link(struct lpfc_hba *, LPFC_MBOXQ_t *); | 26 | void lpfc_config_link(struct lpfc_hba *, LPFC_MBOXQ_t *); |
27 | int lpfc_read_sparam(struct lpfc_hba *, LPFC_MBOXQ_t *); | 27 | int lpfc_read_sparam(struct lpfc_hba *, LPFC_MBOXQ_t *); |
28 | void lpfc_read_config(struct lpfc_hba *, LPFC_MBOXQ_t *); | 28 | void lpfc_read_config(struct lpfc_hba *, LPFC_MBOXQ_t *); |
29 | void lpfc_read_lnk_stat(struct lpfc_hba *, LPFC_MBOXQ_t *); | ||
29 | void lpfc_set_slim(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t, uint32_t); | 30 | void lpfc_set_slim(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t, uint32_t); |
30 | int lpfc_reg_login(struct lpfc_hba *, uint32_t, uint8_t *, LPFC_MBOXQ_t *, | 31 | int lpfc_reg_login(struct lpfc_hba *, uint32_t, uint8_t *, LPFC_MBOXQ_t *, |
31 | uint32_t); | 32 | uint32_t); |
@@ -42,9 +43,6 @@ void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | |||
42 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 43 | void lpfc_mbx_cmpl_fabric_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
43 | void lpfc_mbx_cmpl_ns_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 44 | void lpfc_mbx_cmpl_ns_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
44 | void lpfc_mbx_cmpl_fdmi_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); | 45 | void lpfc_mbx_cmpl_fdmi_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); |
45 | int lpfc_nlp_plogi(struct lpfc_hba *, struct lpfc_nodelist *); | ||
46 | int lpfc_nlp_adisc(struct lpfc_hba *, struct lpfc_nodelist *); | ||
47 | int lpfc_nlp_unmapped(struct lpfc_hba *, struct lpfc_nodelist *); | ||
48 | int lpfc_nlp_list(struct lpfc_hba *, struct lpfc_nodelist *, int); | 46 | int lpfc_nlp_list(struct lpfc_hba *, struct lpfc_nodelist *, int); |
49 | void lpfc_set_disctmo(struct lpfc_hba *); | 47 | void lpfc_set_disctmo(struct lpfc_hba *); |
50 | int lpfc_can_disctmo(struct lpfc_hba *); | 48 | int lpfc_can_disctmo(struct lpfc_hba *); |
@@ -54,12 +52,10 @@ int lpfc_check_sli_ndlp(struct lpfc_hba *, struct lpfc_sli_ring *, | |||
54 | int lpfc_nlp_remove(struct lpfc_hba *, struct lpfc_nodelist *); | 52 | int lpfc_nlp_remove(struct lpfc_hba *, struct lpfc_nodelist *); |
55 | void lpfc_nlp_init(struct lpfc_hba *, struct lpfc_nodelist *, uint32_t); | 53 | void lpfc_nlp_init(struct lpfc_hba *, struct lpfc_nodelist *, uint32_t); |
56 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_hba *, uint32_t); | 54 | struct lpfc_nodelist *lpfc_setup_disc_node(struct lpfc_hba *, uint32_t); |
57 | struct lpfc_nodelist *lpfc_setup_rscn_node(struct lpfc_hba *, uint32_t); | ||
58 | void lpfc_disc_list_loopmap(struct lpfc_hba *); | 55 | void lpfc_disc_list_loopmap(struct lpfc_hba *); |
59 | void lpfc_disc_start(struct lpfc_hba *); | 56 | void lpfc_disc_start(struct lpfc_hba *); |
60 | void lpfc_disc_flush_list(struct lpfc_hba *); | 57 | void lpfc_disc_flush_list(struct lpfc_hba *); |
61 | void lpfc_disc_timeout(unsigned long); | 58 | void lpfc_disc_timeout(unsigned long); |
62 | void lpfc_scan_timeout(unsigned long); | ||
63 | 59 | ||
64 | 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); |
65 | 61 | ||
@@ -68,19 +64,13 @@ int lpfc_do_work(void *); | |||
68 | int lpfc_disc_state_machine(struct lpfc_hba *, struct lpfc_nodelist *, void *, | 64 | int lpfc_disc_state_machine(struct lpfc_hba *, struct lpfc_nodelist *, void *, |
69 | uint32_t); | 65 | uint32_t); |
70 | 66 | ||
71 | uint32_t lpfc_cmpl_prli_reglogin_issue(struct lpfc_hba *, | ||
72 | struct lpfc_nodelist *, void *, | ||
73 | uint32_t); | ||
74 | uint32_t lpfc_cmpl_plogi_prli_issue(struct lpfc_hba *, struct lpfc_nodelist *, | ||
75 | void *, uint32_t); | ||
76 | |||
77 | int lpfc_check_sparm(struct lpfc_hba *, struct lpfc_nodelist *, | 67 | int lpfc_check_sparm(struct lpfc_hba *, struct lpfc_nodelist *, |
78 | struct serv_parm *, uint32_t); | 68 | struct serv_parm *, uint32_t); |
79 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist * ndlp, | 69 | int lpfc_els_abort(struct lpfc_hba *, struct lpfc_nodelist * ndlp, |
80 | int); | 70 | int); |
81 | int lpfc_els_abort_flogi(struct lpfc_hba *); | 71 | int lpfc_els_abort_flogi(struct lpfc_hba *); |
82 | int lpfc_initial_flogi(struct lpfc_hba *); | 72 | int lpfc_initial_flogi(struct lpfc_hba *); |
83 | int lpfc_issue_els_plogi(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); | 73 | int lpfc_issue_els_plogi(struct lpfc_hba *, uint32_t, uint8_t); |
84 | int lpfc_issue_els_prli(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); | 74 | int lpfc_issue_els_prli(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); |
85 | int lpfc_issue_els_adisc(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); | 75 | int lpfc_issue_els_adisc(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); |
86 | int lpfc_issue_els_logo(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); | 76 | int lpfc_issue_els_logo(struct lpfc_hba *, struct lpfc_nodelist *, uint8_t); |
@@ -94,6 +84,7 @@ int lpfc_els_rsp_adisc_acc(struct lpfc_hba *, struct lpfc_iocbq *, | |||
94 | struct lpfc_nodelist *); | 84 | struct lpfc_nodelist *); |
95 | int lpfc_els_rsp_prli_acc(struct lpfc_hba *, struct lpfc_iocbq *, | 85 | int lpfc_els_rsp_prli_acc(struct lpfc_hba *, struct lpfc_iocbq *, |
96 | struct lpfc_nodelist *); | 86 | struct lpfc_nodelist *); |
87 | void lpfc_cancel_retry_delay_tmo(struct lpfc_hba *, struct lpfc_nodelist *); | ||
97 | void lpfc_els_retry_delay(unsigned long); | 88 | void lpfc_els_retry_delay(unsigned long); |
98 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); | 89 | void lpfc_els_retry_delay_handler(struct lpfc_nodelist *); |
99 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, | 90 | void lpfc_els_unsol_event(struct lpfc_hba *, struct lpfc_sli_ring *, |
@@ -117,18 +108,15 @@ void lpfc_fdmi_tmo_handler(struct lpfc_hba *); | |||
117 | int lpfc_config_port_prep(struct lpfc_hba *); | 108 | int lpfc_config_port_prep(struct lpfc_hba *); |
118 | int lpfc_config_port_post(struct lpfc_hba *); | 109 | int lpfc_config_port_post(struct lpfc_hba *); |
119 | int lpfc_hba_down_prep(struct lpfc_hba *); | 110 | int lpfc_hba_down_prep(struct lpfc_hba *); |
111 | int lpfc_hba_down_post(struct lpfc_hba *); | ||
120 | void lpfc_hba_init(struct lpfc_hba *, uint32_t *); | 112 | void lpfc_hba_init(struct lpfc_hba *, uint32_t *); |
121 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); | 113 | int lpfc_post_buffer(struct lpfc_hba *, struct lpfc_sli_ring *, int, int); |
122 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); | 114 | void lpfc_decode_firmware_rev(struct lpfc_hba *, char *, int); |
123 | uint8_t *lpfc_get_lpfchba_info(struct lpfc_hba *, uint8_t *); | ||
124 | int lpfc_fcp_abort(struct lpfc_hba *, int, int, int); | ||
125 | int lpfc_online(struct lpfc_hba *); | 115 | int lpfc_online(struct lpfc_hba *); |
126 | int lpfc_offline(struct lpfc_hba *); | 116 | int lpfc_offline(struct lpfc_hba *); |
127 | 117 | ||
128 | |||
129 | int lpfc_sli_setup(struct lpfc_hba *); | 118 | int lpfc_sli_setup(struct lpfc_hba *); |
130 | int lpfc_sli_queue_setup(struct lpfc_hba *); | 119 | int lpfc_sli_queue_setup(struct lpfc_hba *); |
131 | void lpfc_slim_access(struct lpfc_hba *); | ||
132 | 120 | ||
133 | void lpfc_handle_eratt(struct lpfc_hba *); | 121 | void lpfc_handle_eratt(struct lpfc_hba *); |
134 | void lpfc_handle_latt(struct lpfc_hba *); | 122 | void lpfc_handle_latt(struct lpfc_hba *); |
@@ -137,6 +125,7 @@ irqreturn_t lpfc_intr_handler(int, void *, struct pt_regs *); | |||
137 | void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *); | 125 | void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *); |
138 | void lpfc_config_ring(struct lpfc_hba *, int, LPFC_MBOXQ_t *); | 126 | void lpfc_config_ring(struct lpfc_hba *, int, LPFC_MBOXQ_t *); |
139 | void lpfc_config_port(struct lpfc_hba *, LPFC_MBOXQ_t *); | 127 | void lpfc_config_port(struct lpfc_hba *, LPFC_MBOXQ_t *); |
128 | void lpfc_kill_board(struct lpfc_hba *, LPFC_MBOXQ_t *); | ||
140 | void lpfc_mbox_put(struct lpfc_hba *, LPFC_MBOXQ_t *); | 129 | void lpfc_mbox_put(struct lpfc_hba *, LPFC_MBOXQ_t *); |
141 | LPFC_MBOXQ_t *lpfc_mbox_get(struct lpfc_hba *); | 130 | LPFC_MBOXQ_t *lpfc_mbox_get(struct lpfc_hba *); |
142 | 131 | ||
@@ -149,6 +138,12 @@ void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); | |||
149 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); | 138 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); |
150 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 139 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
151 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 140 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
141 | |||
142 | void lpfc_reset_barrier(struct lpfc_hba * phba); | ||
143 | int lpfc_sli_brdready(struct lpfc_hba *, uint32_t); | ||
144 | int lpfc_sli_brdkill(struct lpfc_hba *); | ||
145 | int lpfc_sli_brdreset(struct lpfc_hba *); | ||
146 | int lpfc_sli_brdrestart(struct lpfc_hba *); | ||
152 | int lpfc_sli_hba_setup(struct lpfc_hba *); | 147 | int lpfc_sli_hba_setup(struct lpfc_hba *); |
153 | int lpfc_sli_hba_down(struct lpfc_hba *); | 148 | int lpfc_sli_hba_down(struct lpfc_hba *); |
154 | int lpfc_sli_issue_mbox(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); | 149 | int lpfc_sli_issue_mbox(struct lpfc_hba *, LPFC_MBOXQ_t *, uint32_t); |
@@ -174,12 +169,10 @@ int lpfc_sli_abort_iocb(struct lpfc_hba *, struct lpfc_sli_ring *, uint16_t, | |||
174 | 169 | ||
175 | void lpfc_mbox_timeout(unsigned long); | 170 | void lpfc_mbox_timeout(unsigned long); |
176 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); | 171 | void lpfc_mbox_timeout_handler(struct lpfc_hba *); |
177 | void lpfc_map_fcp_cmnd_to_bpl(struct lpfc_hba *, struct lpfc_scsi_buf *); | ||
178 | void lpfc_free_scsi_cmd(struct lpfc_scsi_buf *); | ||
179 | uint32_t lpfc_os_timeout_transform(struct lpfc_hba *, uint32_t); | ||
180 | 172 | ||
181 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_hba * phba, uint32_t order, | 173 | struct lpfc_nodelist *lpfc_findnode_did(struct lpfc_hba *, uint32_t, uint32_t); |
182 | uint32_t did); | 174 | struct lpfc_nodelist *lpfc_findnode_wwpn(struct lpfc_hba *, uint32_t, |
175 | struct lpfc_name *); | ||
183 | 176 | ||
184 | int lpfc_sli_issue_mbox_wait(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq, | 177 | int lpfc_sli_issue_mbox_wait(struct lpfc_hba * phba, LPFC_MBOXQ_t * pmboxq, |
185 | uint32_t timeout); | 178 | uint32_t timeout); |