#include "qla_def.h"
#include <linux/delay.h>
#include <linux/ktime.h>
#include <linux/pci.h>
#include <linux/ratelimit.h>
#include <linux/vmalloc.h>
#include <scsi/scsi_tcq.h>
#include <linux/utsname.h>
static int
qlafx00_mailbox_command(scsi_qla_host_t *vha, struct mbx_cmd_32 *mcp)
{ … }
int
qlafx00_driver_shutdown(scsi_qla_host_t *vha, int tmo)
{ … }
static int
qlafx00_get_firmware_state(scsi_qla_host_t *vha, uint32_t *states)
{ … }
int
qlafx00_init_firmware(scsi_qla_host_t *vha, uint16_t size)
{ … }
static int
qlafx00_mbx_reg_test(scsi_qla_host_t *vha)
{ … }
int
qlafx00_pci_config(scsi_qla_host_t *vha)
{ … }
static inline void
qlafx00_soc_cpu_reset(scsi_qla_host_t *vha)
{ … }
int
qlafx00_soft_reset(scsi_qla_host_t *vha)
{ … }
int
qlafx00_chip_diag(scsi_qla_host_t *vha)
{ … }
void
qlafx00_config_rings(struct scsi_qla_host *vha)
{ … }
char *
qlafx00_pci_info_str(struct scsi_qla_host *vha, char *str, size_t str_len)
{ … }
char *
qlafx00_fw_version_str(struct scsi_qla_host *vha, char *str, size_t size)
{ … }
void
qlafx00_enable_intrs(struct qla_hw_data *ha)
{ … }
void
qlafx00_disable_intrs(struct qla_hw_data *ha)
{ … }
int
qlafx00_abort_target(fc_port_t *fcport, uint64_t l, int tag)
{ … }
int
qlafx00_lun_reset(fc_port_t *fcport, uint64_t l, int tag)
{ … }
int
qlafx00_iospace_config(struct qla_hw_data *ha)
{ … }
static void
qlafx00_save_queue_ptrs(struct scsi_qla_host *vha)
{ … }
static int
qlafx00_config_queues(struct scsi_qla_host *vha)
{ … }
static int
qlafx00_init_fw_ready(scsi_qla_host_t *vha)
{ … }
int
qlafx00_fw_ready(scsi_qla_host_t *vha)
{ … }
static int
qlafx00_find_all_targets(scsi_qla_host_t *vha,
struct list_head *new_fcports)
{ … }
static int
qlafx00_configure_all_targets(scsi_qla_host_t *vha)
{ … }
int
qlafx00_configure_devices(scsi_qla_host_t *vha)
{ … }
static void
qlafx00_abort_isp_cleanup(scsi_qla_host_t *vha, bool critemp)
{ … }
void
qlafx00_init_response_q_entries(struct rsp_que *rsp)
{ … }
int
qlafx00_rescan_isp(scsi_qla_host_t *vha)
{ … }
void
qlafx00_timer_routine(scsi_qla_host_t *vha)
{ … }
int
qlafx00_reset_initialize(scsi_qla_host_t *vha)
{ … }
int
qlafx00_abort_isp(scsi_qla_host_t *vha)
{ … }
static inline fc_port_t*
qlafx00_get_fcport(struct scsi_qla_host *vha, int tgt_id)
{ … }
static void
qlafx00_tgt_detach(struct scsi_qla_host *vha, int tgt_id)
{ … }
void
qlafx00_process_aen(struct scsi_qla_host *vha, struct qla_work_evt *evt)
{ … }
static void
qlafx00_update_host_attr(scsi_qla_host_t *vha, struct port_info_data *pinfo)
{ … }
static void
qla2x00_fxdisc_iocb_timeout(void *data)
{ … }
static void qla2x00_fxdisc_sp_done(srb_t *sp, int res)
{ … }
int
qlafx00_fx_disc(scsi_qla_host_t *vha, fc_port_t *fcport, uint16_t fx_type)
{ … }
int
qlafx00_initialize_adapter(scsi_qla_host_t *vha)
{ … }
uint32_t
qlafx00_fw_state_show(struct device *dev, struct device_attribute *attr,
char *buf)
{ … }
void
qlafx00_get_host_speed(struct Scsi_Host *shost)
{ … }
static inline void
qlafx00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t par_sense_len,
uint32_t sense_len, struct rsp_que *rsp, int res)
{ … }
static void
qlafx00_tm_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
struct tsk_mgmt_entry_fx00 *pkt, srb_t *sp,
__le16 sstatus, __le16 cpstatus)
{ … }
static void
qlafx00_abort_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
struct abort_iocb_entry_fx00 *pkt)
{ … }
static void
qlafx00_ioctl_iosb_entry(scsi_qla_host_t *vha, struct req_que *req,
struct ioctl_iocb_entry_fx00 *pkt)
{ … }
static void
qlafx00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)
{ … }
static void
qlafx00_status_cont_entry(struct rsp_que *rsp, sts_cont_entry_t *pkt)
{ … }
static void
qlafx00_multistatus_entry(struct scsi_qla_host *vha,
struct rsp_que *rsp, void *pkt)
{ … }
static void
qlafx00_error_entry(scsi_qla_host_t *vha, struct rsp_que *rsp,
struct sts_entry_fx00 *pkt)
{ … }
static void
qlafx00_process_response_queue(struct scsi_qla_host *vha,
struct rsp_que *rsp)
{ … }
static void
qlafx00_async_event(scsi_qla_host_t *vha)
{ … }
static void
qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0)
{ … }
irqreturn_t
qlafx00_intr_handler(int irq, void *dev_id)
{ … }
static inline cont_a64_entry_t *
qlafx00_prep_cont_type1_iocb(struct req_que *req,
cont_a64_entry_t *lcont_pkt)
{ … }
static inline void
qlafx00_build_scsi_iocbs(srb_t *sp, struct cmd_type_7_fx00 *cmd_pkt,
uint16_t tot_dsds, struct cmd_type_7_fx00 *lcmd_pkt)
{ … }
int
qlafx00_start_scsi(srb_t *sp)
{ … }
void
qlafx00_tm_iocb(srb_t *sp, struct tsk_mgmt_entry_fx00 *ptm_iocb)
{ … }
void
qlafx00_abort_iocb(srb_t *sp, struct abort_iocb_entry_fx00 *pabt_iocb)
{ … }
void
qlafx00_fxdisc_iocb(srb_t *sp, struct fxdisc_entry_fx00 *pfxiocb)
{ … }