#include <linux/ratelimit.h>
#include "ql4_def.h"
#include "ql4_version.h"
#include "ql4_glbl.h"
#include "ql4_dbg.h"
#include "ql4_inline.h"
uint32_t qla4_83xx_rd_reg(struct scsi_qla_host *ha, ulong addr)
{ … }
void qla4_83xx_wr_reg(struct scsi_qla_host *ha, ulong addr, uint32_t val)
{ … }
static int qla4_83xx_set_win_base(struct scsi_qla_host *ha, uint32_t addr)
{ … }
int qla4_83xx_rd_reg_indirect(struct scsi_qla_host *ha, uint32_t addr,
uint32_t *data)
{ … }
int qla4_83xx_wr_reg_indirect(struct scsi_qla_host *ha, uint32_t addr,
uint32_t data)
{ … }
static int qla4_83xx_flash_lock(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_flash_unlock(struct scsi_qla_host *ha)
{ … }
int qla4_83xx_flash_read_u32(struct scsi_qla_host *ha, uint32_t flash_addr,
uint8_t *p_data, int u32_word_count)
{ … }
int qla4_83xx_lockless_flash_read_u32(struct scsi_qla_host *ha,
uint32_t flash_addr, uint8_t *p_data,
int u32_word_count)
{ … }
void qla4_83xx_rom_lock_recovery(struct scsi_qla_host *ha)
{ … }
#define INTENT_TO_RECOVER …
#define PROCEED_TO_RECOVER …
static int qla4_83xx_lock_recovery(struct scsi_qla_host *ha)
{ … }
#define QLA83XX_DRV_LOCK_MSLEEP …
int qla4_83xx_drv_lock(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_drv_unlock(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_set_idc_dontreset(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_clear_idc_dontreset(struct scsi_qla_host *ha)
{ … }
int qla4_83xx_idc_dontreset(struct scsi_qla_host *ha)
{ … }
enum { … };
struct device_info { … };
int qla4_83xx_can_perform_reset(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_need_reset_handler(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_get_idc_param(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_dump_reset_seq_hdr(struct scsi_qla_host *ha)
{ … }
static int qla4_83xx_copy_bootloader(struct scsi_qla_host *ha)
{ … }
static int qla4_83xx_check_cmd_peg_status(struct scsi_qla_host *ha)
{ … }
static int qla4_83xx_poll_reg(struct scsi_qla_host *ha, uint32_t addr,
int duration, uint32_t test_mask,
uint32_t test_result)
{ … }
static int qla4_83xx_reset_seq_checksum_test(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_read_reset_template(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_read_write_crb_reg(struct scsi_qla_host *ha,
uint32_t raddr, uint32_t waddr)
{ … }
static void qla4_83xx_rmw_crb_reg(struct scsi_qla_host *ha, uint32_t raddr,
uint32_t waddr,
struct qla4_83xx_rmw *p_rmw_hdr)
{ … }
static void qla4_83xx_write_list(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_read_write_list(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_poll_list(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_poll_write_list(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_read_modify_write(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_pause(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_poll_read_list(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_seq_end(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_template_end(struct scsi_qla_host *ha,
struct qla4_83xx_reset_entry_hdr *p_hdr)
{ … }
static void qla4_83xx_process_reset_template(struct scsi_qla_host *ha,
char *p_buff)
{ … }
static void qla4_83xx_process_stop_seq(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_process_start_seq(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_process_init_seq(struct scsi_qla_host *ha)
{ … }
static int qla4_83xx_restart(struct scsi_qla_host *ha)
{ … }
int qla4_83xx_start_firmware(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_disable_iocb_intrs(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_disable_mbox_intrs(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_disable_intrs(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_enable_iocb_intrs(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_enable_mbox_intrs(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_enable_intrs(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_queue_mbox_cmd(struct scsi_qla_host *ha, uint32_t *mbx_cmd,
int incount)
{ … }
void qla4_83xx_process_mbox_intr(struct scsi_qla_host *ha, int outcount)
{ … }
int qla4_83xx_isp_reset(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_dump_pause_control_regs(struct scsi_qla_host *ha)
{ … }
static void __qla4_83xx_disable_pause(struct scsi_qla_host *ha)
{ … }
static void qla4_83xx_eport_init(struct scsi_qla_host *ha)
{ … }
void qla4_83xx_disable_pause(struct scsi_qla_host *ha)
{ … }
int qla4_83xx_is_detached(struct scsi_qla_host *ha)
{ … }