linux/drivers/scsi/qla4xxx/ql4_83xx.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * QLogic iSCSI HBA Driver
 * Copyright (c)   2003-2013 QLogic Corporation
 */

#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)
{}

/*-------------------------IDC State Machine ---------------------*/

enum {};

struct device_info {};

int qla4_83xx_can_perform_reset(struct scsi_qla_host *ha)
{}

/**
 * qla4_83xx_need_reset_handler - Code to start reset sequence
 * @ha: pointer to adapter structure
 *
 * Note: IDC lock must be held upon entry
 **/
void qla4_83xx_need_reset_handler(struct scsi_qla_host *ha)
{}

void qla4_83xx_get_idc_param(struct scsi_qla_host *ha)
{}

/*-------------------------Reset Sequence Functions-----------------------*/

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)
{}

/**
 * qla4_83xx_poll_reg - Poll the given CRB addr for duration msecs till
 * value read ANDed with test_mask is equal to test_result.
 *
 * @ha : Pointer to adapter structure
 * @addr : CRB register address
 * @duration : Poll for total of "duration" msecs
 * @test_mask : Mask value read with "test_mask"
 * @test_result : Compare (value&test_mask) with test_result.
 **/
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)
{}

/**
 * qla4_83xx_read_reset_template - Read Reset Template from Flash
 * @ha: Pointer to adapter structure
 **/
void qla4_83xx_read_reset_template(struct scsi_qla_host *ha)
{}

/**
 * qla4_83xx_read_write_crb_reg - Read from raddr and write value to waddr.
 *
 * @ha : Pointer to adapter structure
 * @raddr : CRB address to read from
 * @waddr : CRB address to write to
 **/
static void qla4_83xx_read_write_crb_reg(struct scsi_qla_host *ha,
					 uint32_t raddr, uint32_t waddr)
{}

/**
 * qla4_83xx_rmw_crb_reg - Read Modify Write crb register
 *
 * This function read value from raddr, AND with test_mask,
 * Shift Left,Right/OR/XOR with values RMW header and write value to waddr.
 *
 * @ha : Pointer to adapter structure
 * @raddr : CRB address to read from
 * @waddr : CRB address to write to
 * @p_rmw_hdr : header with shift/or/xor values.
 **/
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)
{}

/**
 * qla4_83xx_process_reset_template - Process reset template.
 *
 * Process all entries in reset template till entry with SEQ_END opcode,
 * which indicates end of the reset template processing. Each entry has a
 * Reset Entry header, entry opcode/command, with size of the entry, number
 * of entries in sub-sequence and delay in microsecs or timeout in millisecs.
 *
 * @ha : Pointer to adapter structure
 * @p_buff : Common reset entry header.
 **/
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)
{}

/*----------------------Interrupt Related functions ---------------------*/

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)
{}

/**
 * qla4_83xx_isp_reset - Resets ISP and aborts all outstanding commands.
 * @ha: pointer to host adapter structure.
 **/
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)
{}

/**
 * qla4_83xx_eport_init - Initialize EPort.
 * @ha: Pointer to host adapter structure.
 *
 * If EPort hardware is in reset state before disabling pause, there would be
 * serious hardware wedging issues. To prevent this perform eport init everytime
 * before disabling pause frames.
 **/
static void qla4_83xx_eport_init(struct scsi_qla_host *ha)
{}

void qla4_83xx_disable_pause(struct scsi_qla_host *ha)
{}

/**
 * qla4_83xx_is_detached - Check if we are marked invisible.
 * @ha: Pointer to host adapter structure.
 **/
int qla4_83xx_is_detached(struct scsi_qla_host *ha)
{}