#include "qla_def.h"
#include "qla_gbl.h"
#include <linux/kthread.h>
#include <linux/vmalloc.h>
#include <linux/delay.h>
#include <linux/bsg-lib.h>
static void qla2xxx_free_fcport_work(struct work_struct *work)
{ … }
void qla2x00_bsg_job_done(srb_t *sp, int res)
{ … }
void qla2x00_bsg_sp_free(srb_t *sp)
{ … }
int
qla24xx_fcp_prio_cfg_valid(scsi_qla_host_t *vha,
struct qla_fcp_prio_cfg *pri_cfg, uint8_t flag)
{ … }
static int
qla24xx_proc_fcp_prio_cfg_cmd(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_process_els(struct bsg_job *bsg_job)
{ … }
static inline uint16_t
qla24xx_calc_ct_iocbs(uint16_t dsds)
{ … }
static int
qla2x00_process_ct(struct bsg_job *bsg_job)
{ … }
static inline int
qla81xx_reset_loopback_mode(scsi_qla_host_t *vha, uint16_t *config,
int wait, int wait2)
{ … }
static inline int
qla81xx_set_loopback_mode(scsi_qla_host_t *vha, uint16_t *config,
uint16_t *new_config, uint16_t mode)
{ … }
static int
qla2x00_process_loopback(struct bsg_job *bsg_job)
{ … }
static int
qla84xx_reset(struct bsg_job *bsg_job)
{ … }
static int
qla84xx_updatefw(struct bsg_job *bsg_job)
{ … }
static int
qla84xx_mgmt_cmd(struct bsg_job *bsg_job)
{ … }
static int
qla24xx_iidma(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_optrom_setup(struct bsg_job *bsg_job, scsi_qla_host_t *vha,
uint8_t is_update)
{ … }
static int
qla2x00_read_optrom(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_update_optrom(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_update_fru_versions(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_read_fru_status(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_write_fru_status(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_write_i2c(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_read_i2c(struct bsg_job *bsg_job)
{ … }
static int
qla24xx_process_bidir_cmd(struct bsg_job *bsg_job)
{ … }
static int
qlafx00_mgmt_cmd(struct bsg_job *bsg_job)
{ … }
static int
qla26xx_serdes_op(struct bsg_job *bsg_job)
{ … }
static int
qla8044_serdes_op(struct bsg_job *bsg_job)
{ … }
static int
qla27xx_get_flash_upd_cap(struct bsg_job *bsg_job)
{ … }
static int
qla27xx_set_flash_upd_cap(struct bsg_job *bsg_job)
{ … }
static int
qla27xx_get_bbcr_data(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_get_priv_stats(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_do_dport_diagnostics(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_do_dport_diagnostics_v2(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_get_flash_image_status(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_manage_host_stats(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_get_host_stats(struct bsg_job *bsg_job)
{ … }
static struct fc_rport *
qla2xxx_find_rport(scsi_qla_host_t *vha, uint32_t tgt_num)
{ … }
static int
qla2x00_get_tgt_stats(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_manage_host_port(struct bsg_job *bsg_job)
{ … }
static int
qla2x00_process_vendor_specific(struct scsi_qla_host *vha, struct bsg_job *bsg_job)
{ … }
int
qla24xx_bsg_request(struct bsg_job *bsg_job)
{ … }
static bool qla_bsg_found(struct qla_qpair *qpair, struct bsg_job *bsg_job)
{ … }
int
qla24xx_bsg_timeout(struct bsg_job *bsg_job)
{ … }
int qla2x00_mailbox_passthru(struct bsg_job *bsg_job)
{ … }