#include <linux/delay.h>
#include <linux/io.h>
#include <linux/pci.h>
#include <linux/ratelimit.h>
#include "ql4_def.h"
#include "ql4_glbl.h"
#include "ql4_inline.h"
#include <asm-generic/io-64-nonatomic-lo-hi.h>
Go to the source code of this file.
|
void | qla4_82xx_wr_32 (struct scsi_qla_host *ha, ulong off, u32 data) |
|
uint32_t | qla4_82xx_rd_32 (struct scsi_qla_host *ha, ulong off) |
|
int | qla4_82xx_md_rd_32 (struct scsi_qla_host *ha, uint32_t off, uint32_t *data) |
|
int | qla4_82xx_md_wr_32 (struct scsi_qla_host *ha, uint32_t off, uint32_t data) |
|
int | qla4_82xx_crb_win_lock (struct scsi_qla_host *ha) |
|
void | qla4_82xx_crb_win_unlock (struct scsi_qla_host *ha) |
|
int | qla4_82xx_idc_lock (struct scsi_qla_host *ha) |
|
void | qla4_82xx_idc_unlock (struct scsi_qla_host *ha) |
|
int | qla4_82xx_pci_get_crb_addr_2M (struct scsi_qla_host *ha, ulong *off) |
|
int | qla4_82xx_pci_mem_read_2M (struct scsi_qla_host *ha, u64 off, void *data, int size) |
|
int | qla4_82xx_pci_mem_write_2M (struct scsi_qla_host *ha, u64 off, void *data, int size) |
|
void | qla4_8xxx_set_drv_active (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_clear_drv_active (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_need_reset (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_set_rst_ready (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_clear_rst_ready (struct scsi_qla_host *ha) |
|
int | qla4_82xx_try_start_fw (struct scsi_qla_host *ha) |
|
void | qla4_82xx_rom_lock_recovery (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_get_minidump (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_device_bootstrap (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_need_qsnt_handler (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_update_idc_reg (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_device_state_handler (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_load_risc (struct scsi_qla_host *ha) |
|
void | qla4_82xx_queue_mbox_cmd (struct scsi_qla_host *ha, uint32_t *mbx_cmd, int in_count) |
|
void | qla4_82xx_process_mbox_intr (struct scsi_qla_host *ha, int out_count) |
|
int | qla4_8xxx_get_flash_info (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_stop_firmware (struct scsi_qla_host *ha) |
|
int | qla4_82xx_isp_reset (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_get_sys_info (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_mbx_intr_enable (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_mbx_intr_disable (struct scsi_qla_host *ha) |
|
void | qla4_82xx_enable_intrs (struct scsi_qla_host *ha) |
|
void | qla4_82xx_disable_intrs (struct scsi_qla_host *ha) |
|
void | qla4_8xxx_disable_msix (struct scsi_qla_host *ha) |
|
int | qla4_8xxx_enable_msix (struct scsi_qla_host *ha) |
|
#define CRB_BLK |
( |
|
off | ) |
((off >> 20) & 0x3f) |
Value:((qla4_82xx_crb_hub_agt[
CRB_BLK(off)] << 20) | \
((off) & 0xf0000))
Definition at line 31 of file ql4_nx.c.
#define CRB_INDIRECT_2M (0x1e0000UL) |
#define CRB_SUBBLK |
( |
|
off | ) |
((off >> 16) & 0xf) |
#define CRB_WIN_LOCK_TIMEOUT 100000000 |
#define CRB_WINDOW_2M (0x130060) |
#define FARX_ACCESS_FLASH_CONF 0x7FFD0000 |
#define FARX_ACCESS_FLASH_DATA 0x7FF00000 |
#define FLASH_BLK_SIZE_32K 0x8000 |
#define FLASH_BLK_SIZE_4K 0x1000 |
#define FLASH_BLK_SIZE_64K 0x10000 |
#define IDC_LOCK_TIMEOUT 100000000 |
#define MD_DIRECT_ROM_READ_BASE 0x42150000 |
#define MD_DIRECT_ROM_WINDOW 0x42110030 |
#define MD_MIU_TEST_AGT_ADDR_HI 0x41000098 |
#define MD_MIU_TEST_AGT_ADDR_LO 0x41000094 |
#define MD_MIU_TEST_AGT_CTRL 0x41000090 |
#define MN_WIN |
( |
|
addr | ) |
(((addr & 0x1fc0000) >> 1) | ((addr >> 25) & 0x3ff)) |
#define MS_WIN |
( |
|
addr | ) |
(addr & 0x0ffc0000) |
#define MTU_FUDGE_FACTOR 100 |
#define OCM_WIN |
( |
|
addr | ) |
(((addr & 0x1ff0000) >> 1) | ((addr >> 25) & 0x3ff)) |
#define OPTROM_BURST_SIZE 0x1000 |
#define qla4_8xxx_crb_addr_transform |
( |
|
name | ) |
|
Value:(crb_addr_xform[QLA82XX_HW_PX_MAP_CRB_##
name] = \
QLA82XX_HW_CRB_HUB_AGT_ADR_##
name << 20)
Definition at line 51 of file ql4_nx.c.
#define QLA82XX_IDC_PARAM_ADDR 0x003e885c |
#define QLA82XX_PCI_CAMQM_2M_BASE (0x000ff800UL) |
#define QLA82XX_PCI_CAMQM_2M_END (0x04800800UL) |
#define QLA82XX_PCI_MN_2M (0) |
#define QLA82XX_PCI_MS_2M (0x80000) |
#define QLA82XX_PCI_OCM0_2M (0xc0000) |
#define VALID_OCM_ADDR |
( |
|
addr | ) |
(((addr) & 0x3f800) != 0x3f800) |
qla4_82xx_idc_lock - hw_lock : pointer to adapter structure
General purpose lock used to synchronize access to CRB_DEV_STATE, CRB_DEV_REF_COUNT, etc.
Definition at line 519 of file ql4_nx.c.
qla4_82xx_isp_reset - Resets ISP and aborts all outstanding commands. : pointer to host adapter structure.
Definition at line 3360 of file ql4_nx.c.
qla4_8xxx_device_bootstrap - Initialize device, set DEV_READY, start fw : pointer to adapter structure
Note: IDC lock must be held upon entry
Definition at line 2597 of file ql4_nx.c.
qla4_8xxx_device_state_handler - Adapter state machine : pointer to host adapter structure.
Note: IDC lock must be UNLOCKED upon entry
Definition at line 2875 of file ql4_nx.c.
qla4_8xxx_get_sys_info - get adapter MAC address(es) and serial number : pointer to host adapter structure.
Definition at line 3397 of file ql4_nx.c.
qla4_8xxx_need_qsnt_handler - Code to start qsnt : pointer to adapter structure
Definition at line 2767 of file ql4_nx.c.
qla4_8xxx_stop_firmware - stops firmware on specified adapter instance : pointer to host adapter structure.
Remarks: For iSCSI, throws away all I/O and AENs into bit bucket, so they will not be available after successful return. Driver must cleanup potential outstanding I/O's after calling this funcion.
Definition at line 3337 of file ql4_nx.c.