diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_glbl.h')
| -rw-r--r-- | drivers/scsi/qla4xxx/ql4_glbl.h | 71 |
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 | ||
| 13 | int qla4xxx_hw_reset(struct scsi_qla_host *ha); | 13 | int qla4xxx_hw_reset(struct scsi_qla_host *ha); |
| 14 | int ql4xxx_lock_drvr_wait(struct scsi_qla_host *a); | 14 | int ql4xxx_lock_drvr_wait(struct scsi_qla_host *a); |
| 15 | int qla4xxx_send_tgts(struct scsi_qla_host *ha, char *ip, uint16_t port); | ||
| 16 | int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb *srb); | 15 | int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb *srb); |
| 17 | int qla4xxx_initialize_adapter(struct scsi_qla_host *ha, | 16 | int qla4xxx_initialize_adapter(struct scsi_qla_host *ha); |
| 18 | uint8_t renew_ddb_list); | ||
| 19 | int qla4xxx_soft_reset(struct scsi_qla_host *ha); | 17 | int qla4xxx_soft_reset(struct scsi_qla_host *ha); |
| 20 | irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id); | 18 | irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id); |
| 21 | 19 | ||
| 22 | void qla4xxx_free_ddb_list(struct scsi_qla_host *ha); | ||
| 23 | void qla4xxx_free_ddb(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry); | 20 | void qla4xxx_free_ddb(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry); |
| 24 | void qla4xxx_process_aen(struct scsi_qla_host *ha, uint8_t process_aen); | 21 | void qla4xxx_process_aen(struct scsi_qla_host *ha, uint8_t process_aen); |
| 25 | 22 | ||
| 26 | int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host *ha); | 23 | int qla4xxx_get_dhcp_ip_address(struct scsi_qla_host *ha); |
| 27 | int qla4xxx_relogin_device(struct scsi_qla_host *ha, | ||
| 28 | struct ddb_entry *ddb_entry); | ||
| 29 | int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb); | 24 | int qla4xxx_abort_task(struct scsi_qla_host *ha, struct srb *srb); |
| 30 | int qla4xxx_reset_lun(struct scsi_qla_host *ha, struct ddb_entry *ddb_entry, | 25 | int 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 | ||
| 53 | int qla4xxx_set_ddb_entry(struct scsi_qla_host * ha, uint16_t fw_ddb_index, | 48 | int 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 | 50 | uint8_t qla4xxx_get_ifcb(struct scsi_qla_host *ha, uint32_t *mbox_cmd, | |
| 56 | void 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); | 52 | int 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); | ||
| 56 | int qla4xxx_disable_acb(struct scsi_qla_host *ha); | ||
| 57 | int qla4xxx_set_acb(struct scsi_qla_host *ha, uint32_t *mbox_cmd, | ||
| 58 | uint32_t *mbox_sts, dma_addr_t acb_dma); | ||
| 59 | int qla4xxx_get_acb(struct scsi_qla_host *ha, dma_addr_t acb_dma, | ||
| 60 | uint32_t acb_type, uint32_t len); | ||
| 61 | int qla4xxx_get_ip_state(struct scsi_qla_host *ha, uint32_t acb_idx, | ||
| 62 | uint32_t ip_idx, uint32_t *sts); | ||
| 63 | void qla4xxx_mark_device_missing(struct iscsi_cls_session *cls_session); | ||
| 58 | u16 rd_nvram_word(struct scsi_qla_host *ha, int offset); | 64 | u16 rd_nvram_word(struct scsi_qla_host *ha, int offset); |
| 65 | u8 rd_nvram_byte(struct scsi_qla_host *ha, int offset); | ||
| 59 | void qla4xxx_get_crash_record(struct scsi_qla_host *ha); | 66 | void qla4xxx_get_crash_record(struct scsi_qla_host *ha); |
| 60 | struct ddb_entry *qla4xxx_alloc_sess(struct scsi_qla_host *ha); | ||
| 61 | int qla4xxx_add_sess(struct ddb_entry *); | ||
| 62 | void qla4xxx_destroy_sess(struct ddb_entry *ddb_entry); | ||
| 63 | int qla4xxx_is_nvram_configuration_valid(struct scsi_qla_host *ha); | 67 | int qla4xxx_is_nvram_configuration_valid(struct scsi_qla_host *ha); |
| 64 | int qla4xxx_about_firmware(struct scsi_qla_host *ha); | 68 | int qla4xxx_about_firmware(struct scsi_qla_host *ha); |
| 65 | void qla4xxx_interrupt_service_routine(struct scsi_qla_host *ha, | 69 | void qla4xxx_interrupt_service_routine(struct scsi_qla_host *ha, |
| @@ -68,14 +72,13 @@ int qla4xxx_init_rings(struct scsi_qla_host *ha); | |||
| 68 | void qla4xxx_srb_compl(struct kref *ref); | 72 | void qla4xxx_srb_compl(struct kref *ref); |
| 69 | struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha, | 73 | struct srb *qla4xxx_del_from_active_array(struct scsi_qla_host *ha, |
| 70 | uint32_t index); | 74 | uint32_t index); |
| 71 | int qla4xxx_reinitialize_ddb_list(struct scsi_qla_host *ha); | ||
| 72 | int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index, | 75 | int 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); |
| 74 | void qla4xxx_dump_buffer(void *b, uint32_t size); | 77 | void qla4xxx_dump_buffer(void *b, uint32_t size); |
| 75 | int qla4xxx_send_marker_iocb(struct scsi_qla_host *ha, | 78 | int 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); |
| 77 | int qla4_is_relogin_allowed(struct scsi_qla_host *ha, uint32_t conn_err); | 80 | int qla4xxx_set_flash(struct scsi_qla_host *ha, dma_addr_t dma_addr, |
| 78 | 81 | uint32_t offset, uint32_t length, uint32_t options); | |
| 79 | int qla4xxx_mailbox_command(struct scsi_qla_host *ha, uint8_t inCount, | 82 | int 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); | |||
| 95 | void qla4xxx_get_conn_event_log(struct scsi_qla_host *ha); | 98 | void qla4xxx_get_conn_event_log(struct scsi_qla_host *ha); |
| 96 | void qla4xxx_mailbox_premature_completion(struct scsi_qla_host *ha); | 99 | void qla4xxx_mailbox_premature_completion(struct scsi_qla_host *ha); |
| 97 | void qla4xxx_dump_registers(struct scsi_qla_host *ha); | 100 | void qla4xxx_dump_registers(struct scsi_qla_host *ha); |
| 101 | uint8_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 | ||
| 99 | void qla4_8xxx_pci_config(struct scsi_qla_host *); | 107 | void qla4_8xxx_pci_config(struct scsi_qla_host *); |
| 100 | int qla4_8xxx_iospace_config(struct scsi_qla_host *ha); | 108 | int qla4_8xxx_iospace_config(struct scsi_qla_host *ha); |
| @@ -134,6 +142,37 @@ int qla4_8xxx_device_state_handler(struct scsi_qla_host *ha); | |||
| 134 | void qla4_8xxx_need_qsnt_handler(struct scsi_qla_host *ha); | 142 | void qla4_8xxx_need_qsnt_handler(struct scsi_qla_host *ha); |
| 135 | void qla4_8xxx_clear_drv_active(struct scsi_qla_host *ha); | 143 | void qla4_8xxx_clear_drv_active(struct scsi_qla_host *ha); |
| 136 | void qla4_8xxx_set_drv_active(struct scsi_qla_host *ha); | 144 | void qla4_8xxx_set_drv_active(struct scsi_qla_host *ha); |
| 145 | int qla4xxx_conn_open(struct scsi_qla_host *ha, uint16_t fw_ddb_index); | ||
| 146 | int 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); | ||
| 150 | int qla4xxx_session_logout_ddb(struct scsi_qla_host *ha, | ||
| 151 | struct ddb_entry *ddb_entry, int options); | ||
| 152 | int qla4xxx_req_ddb_entry(struct scsi_qla_host *ha, uint32_t fw_ddb_index, | ||
| 153 | uint32_t *mbx_sts); | ||
| 154 | int qla4xxx_clear_ddb_entry(struct scsi_qla_host *ha, uint32_t fw_ddb_index); | ||
| 155 | int qla4xxx_send_passthru0(struct iscsi_task *task); | ||
| 156 | int qla4xxx_get_mgmt_data(struct scsi_qla_host *ha, uint16_t fw_ddb_index, | ||
| 157 | uint16_t stats_size, dma_addr_t stats_dma); | ||
| 158 | void qla4xxx_update_session_conn_param(struct scsi_qla_host *ha, | ||
| 159 | struct ddb_entry *ddb_entry); | ||
| 160 | int 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); | ||
| 163 | int qla4xxx_get_chap(struct scsi_qla_host *ha, char *username, | ||
| 164 | char *password, uint16_t idx); | ||
| 165 | int qla4xxx_get_nvram(struct scsi_qla_host *ha, dma_addr_t nvram_dma, | ||
| 166 | uint32_t offset, uint32_t size); | ||
| 167 | int qla4xxx_set_nvram(struct scsi_qla_host *ha, dma_addr_t nvram_dma, | ||
| 168 | uint32_t offset, uint32_t size); | ||
| 169 | int qla4xxx_restore_factory_defaults(struct scsi_qla_host *ha, | ||
| 170 | uint32_t region, uint32_t field0, | ||
| 171 | uint32_t field1); | ||
| 172 | |||
| 173 | /* BSG Functions */ | ||
| 174 | int qla4xxx_bsg_request(struct bsg_job *bsg_job); | ||
| 175 | int qla4xxx_process_vendor_specific(struct bsg_job *bsg_job); | ||
| 137 | 176 | ||
| 138 | extern int ql4xextended_error_logging; | 177 | extern int ql4xextended_error_logging; |
| 139 | extern int ql4xdontresethba; | 178 | extern int ql4xdontresethba; |
