aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_glbl.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_glbl.h')
-rw-r--r--drivers/scsi/qla4xxx/ql4_glbl.h71
1 files changed, 55 insertions, 16 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h b/drivers/scsi/qla4xxx/ql4_glbl.h
index a53a256c1f8d..160db9d5ea21 100644
--- a/drivers/scsi/qla4xxx/ql4_glbl.h
+++ b/drivers/scsi/qla4xxx/ql4_glbl.h
@@ -12,20 +12,15 @@ struct iscsi_cls_conn;
12 12
13int qla4xxx_hw_reset(struct scsi_qla_host *ha); 13int qla4xxx_hw_reset(struct scsi_qla_host *ha);
14int ql4xxx_lock_drvr_wait(struct scsi_qla_host *a); 14int ql4xxx_lock_drvr_wait(struct scsi_qla_host *a);
15int qla4xxx_send_tgts(struct scsi_qla_host *ha, char *ip, uint16_t port);
16int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb *srb); 15int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb *srb);
17int qla4xxx_initialize_adapter(struct scsi_qla_host *ha, 16int qla4xxx_initialize_adapter(struct scsi_qla_host *ha);
18 uint8_t renew_ddb_list);
19int qla4xxx_soft_reset(struct scsi_qla_host *ha); 17int qla4xxx_soft_reset(struct scsi_qla_host *ha);
20irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id); 18irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id);
21 19
22void qla4xxx_free_ddb_list(struct scsi_qla_host *ha);
23void qla4xxx_free_ddb(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry); 20void qla4xxx_free_ddb(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry);
24void qla4xxx_process_aen(struct scsi_qla_host *ha, uint8_t process_aen); 21void qla4xxx_process_aen(struct scsi_qla_host *ha, uint8_t process_aen);
25 22
26int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host *ha); 23int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host *ha);
27int qla4xxx_relogin_device(struct scsi_qla_host *ha,
28 struct ddb_entry *ddb_entry);
29int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb); 24int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb);
30int qla4xxx_reset_lun(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry, 25int qla4xxx_reset_lun(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry,
31 int lun); 26 int lun);
@@ -51,15 +46,24 @@ int qla4xxx_get_fwddb_entry(struct scsi_qla_host *ha,
51 uint16_t *connection_id); 46 uint16_t *connection_id);
52 47
53int qla4xxx_set_ddb_entry(struct scsi_qla_host * ha, uint16_t fw_ddb_index, 48int qla4xxx_set_ddb_entry(struct scsi_qla_host * ha, uint16_t fw_ddb_index,
54 dma_addr_t fw_ddb_entry_dma); 49 dma_addr_t fw_ddb_entry_dma, uint32_t *mbx_sts);
55 50uint8_t qla4xxx_get_ifcb(struct scsi_qla_host *ha, uint32_t *mbox_cmd,
56void qla4xxx_mark_device_missing(struct scsi_qla_host *ha, 51 uint32_t *mbox_sts, dma_addr_t init_fw_cb_dma);
57 struct ddb_entry *ddb_entry); 52int qla4xxx_conn_close_sess_logout(struct scsi_qla_host *ha,
53 uint16_t fw_ddb_index,
54 uint16_t connection_id,
55 uint16_t option);
56int qla4xxx_disable_acb(struct scsi_qla_host *ha);
57int qla4xxx_set_acb(struct scsi_qla_host *ha, uint32_t *mbox_cmd,
58 uint32_t *mbox_sts, dma_addr_t acb_dma);
59int qla4xxx_get_acb(struct scsi_qla_host *ha, dma_addr_t acb_dma,
60 uint32_t acb_type, uint32_t len);
61int qla4xxx_get_ip_state(struct scsi_qla_host *ha, uint32_t acb_idx,
62 uint32_t ip_idx, uint32_t *sts);
63void qla4xxx_mark_device_missing(struct iscsi_cls_session *cls_session);
58u16 rd_nvram_word(struct scsi_qla_host *ha, int offset); 64u16 rd_nvram_word(struct scsi_qla_host *ha, int offset);
65u8 rd_nvram_byte(struct scsi_qla_host *ha, int offset);
59void qla4xxx_get_crash_record(struct scsi_qla_host *ha); 66void qla4xxx_get_crash_record(struct scsi_qla_host *ha);
60struct ddb_entry *qla4xxx_alloc_sess(struct scsi_qla_host *ha);
61int qla4xxx_add_sess(struct ddb_entry *);
62void qla4xxx_destroy_sess(struct ddb_entry *ddb_entry);
63int qla4xxx_is_nvram_configuration_valid(struct scsi_qla_host *ha); 67int qla4xxx_is_nvram_configuration_valid(struct scsi_qla_host *ha);
64int qla4xxx_about_firmware(struct scsi_qla_host *ha); 68int qla4xxx_about_firmware(struct scsi_qla_host *ha);
65void qla4xxx_interrupt_service_routine(struct scsi_qla_host *ha, 69void qla4xxx_interrupt_service_routine(struct scsi_qla_host *ha,
@@ -68,14 +72,13 @@ int qla4xxx_init_rings(struct scsi_qla_host *ha);
68void qla4xxx_srb_compl(struct kref *ref); 72void qla4xxx_srb_compl(struct kref *ref);
69struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha, 73struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha,
70 uint32_t index); 74 uint32_t index);
71int qla4xxx_reinitialize_ddb_list(struct scsi_qla_host *ha);
72int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index, 75int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index,
73 uint32_t state, uint32_t conn_error); 76 uint32_t state, uint32_t conn_error);
74void qla4xxx_dump_buffer(void *b, uint32_t size); 77void qla4xxx_dump_buffer(void *b, uint32_t size);
75int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha, 78int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha,
76 struct ddb_entry *ddb_entry, int lun, uint16_t mrkr_mod); 79 struct ddb_entry *ddb_entry, int lun, uint16_t mrkr_mod);
77int qla4_is_relogin_allowed(struct scsi_qla_host *ha, uint32_t conn_err); 80int qla4xxx_set_flash(struct scsi_qla_host *ha, dma_addr_t dma_addr,
78 81 uint32_t offset, uint32_t length, uint32_t options);
79int qla4xxx_mailbox_command(struct scsi_qla_host *ha, uint8_t inCount, 82int qla4xxx_mailbox_command(struct scsi_qla_host *ha, uint8_t inCount,
80 uint8_t outCount, uint32_t *mbx_cmd, uint32_t *mbx_sts); 83 uint8_t outCount, uint32_t *mbx_cmd, uint32_t *mbx_sts);
81 84
@@ -95,6 +98,11 @@ void qla4xxx_wake_dpc(struct scsi_qla_host *ha);
95void qla4xxx_get_conn_event_log(struct scsi_qla_host *ha); 98void qla4xxx_get_conn_event_log(struct scsi_qla_host *ha);
96void qla4xxx_mailbox_premature_completion(struct scsi_qla_host *ha); 99void qla4xxx_mailbox_premature_completion(struct scsi_qla_host *ha);
97void qla4xxx_dump_registers(struct scsi_qla_host *ha); 100void qla4xxx_dump_registers(struct scsi_qla_host *ha);
101uint8_t qla4xxx_update_local_ifcb(struct scsi_qla_host *ha,
102 uint32_t *mbox_cmd,
103 uint32_t *mbox_sts,
104 struct addr_ctrl_blk *init_fw_cb,
105 dma_addr_t init_fw_cb_dma);
98 106
99void qla4_8xxx_pci_config(struct scsi_qla_host *); 107void qla4_8xxx_pci_config(struct scsi_qla_host *);
100int qla4_8xxx_iospace_config(struct scsi_qla_host *ha); 108int qla4_8xxx_iospace_config(struct scsi_qla_host *ha);
@@ -134,6 +142,37 @@ int qla4_8xxx_device_state_handler(struct scsi_qla_host *ha);
134void qla4_8xxx_need_qsnt_handler(struct scsi_qla_host *ha); 142void qla4_8xxx_need_qsnt_handler(struct scsi_qla_host *ha);
135void qla4_8xxx_clear_drv_active(struct scsi_qla_host *ha); 143void qla4_8xxx_clear_drv_active(struct scsi_qla_host *ha);
136void qla4_8xxx_set_drv_active(struct scsi_qla_host *ha); 144void qla4_8xxx_set_drv_active(struct scsi_qla_host *ha);
145int qla4xxx_conn_open(struct scsi_qla_host *ha, uint16_t fw_ddb_index);
146int qla4xxx_set_param_ddbentry(struct scsi_qla_host *ha,
147 struct ddb_entry *ddb_entry,
148 struct iscsi_cls_conn *cls_conn,
149 uint32_t *mbx_sts);
150int qla4xxx_session_logout_ddb(struct scsi_qla_host *ha,
151 struct ddb_entry *ddb_entry, int options);
152int qla4xxx_req_ddb_entry(struct scsi_qla_host *ha, uint32_t fw_ddb_index,
153 uint32_t *mbx_sts);
154int qla4xxx_clear_ddb_entry(struct scsi_qla_host *ha, uint32_t fw_ddb_index);
155int qla4xxx_send_passthru0(struct iscsi_task *task);
156int qla4xxx_get_mgmt_data(struct scsi_qla_host *ha, uint16_t fw_ddb_index,
157 uint16_t stats_size, dma_addr_t stats_dma);
158void qla4xxx_update_session_conn_param(struct scsi_qla_host *ha,
159 struct ddb_entry *ddb_entry);
160int qla4xxx_bootdb_by_index(struct scsi_qla_host *ha,
161 struct dev_db_entry *fw_ddb_entry,
162 dma_addr_t fw_ddb_entry_dma, uint16_t ddb_index);
163int qla4xxx_get_chap(struct scsi_qla_host *ha, char *username,
164 char *password, uint16_t idx);
165int qla4xxx_get_nvram(struct scsi_qla_host *ha, dma_addr_t nvram_dma,
166 uint32_t offset, uint32_t size);
167int qla4xxx_set_nvram(struct scsi_qla_host *ha, dma_addr_t nvram_dma,
168 uint32_t offset, uint32_t size);
169int qla4xxx_restore_factory_defaults(struct scsi_qla_host *ha,
170 uint32_t region, uint32_t field0,
171 uint32_t field1);
172
173/* BSG Functions */
174int qla4xxx_bsg_request(struct bsg_job *bsg_job);
175int qla4xxx_process_vendor_specific(struct bsg_job *bsg_job);
137 176
138extern int ql4xextended_error_logging; 177extern int ql4xextended_error_logging;
139extern int ql4xdontresethba; 178extern int ql4xdontresethba;