#include <linux/interrupt.h>
struct device_attribute;
#define ARCMSR_NAME …
#define ARCMSR_MAX_FREECCB_NUM …
#define ARCMSR_MAX_OUTSTANDING_CMD …
#define ARCMSR_DEFAULT_OUTSTANDING_CMD …
#define ARCMSR_MIN_OUTSTANDING_CMD …
#define ARCMSR_DRIVER_VERSION …
#define ARCMSR_SCSI_INITIATOR_ID …
#define ARCMSR_MAX_XFER_SECTORS …
#define ARCMSR_MAX_XFER_SECTORS_B …
#define ARCMSR_MAX_XFER_SECTORS_C …
#define ARCMSR_MAX_TARGETID …
#define ARCMSR_MAX_TARGETLUN …
#define ARCMSR_MAX_CMD_PERLUN …
#define ARCMSR_DEFAULT_CMD_PERLUN …
#define ARCMSR_MIN_CMD_PERLUN …
#define ARCMSR_MAX_QBUFFER …
#define ARCMSR_DEFAULT_SG_ENTRIES …
#define ARCMSR_MAX_HBB_POSTQUEUE …
#define ARCMSR_MAX_ARC1214_POSTQUEUE …
#define ARCMSR_MAX_ARC1214_DONEQUEUE …
#define ARCMSR_MAX_HBE_DONEQUEUE …
#define ARCMSR_MAX_XFER_LEN …
#define ARCMSR_CDB_SG_PAGE_LENGTH …
#define ARCMST_NUM_MSIX_VECTORS …
#ifndef PCI_DEVICE_ID_ARECA_1880
#define PCI_DEVICE_ID_ARECA_1880 …
#endif
#ifndef PCI_DEVICE_ID_ARECA_1214
#define PCI_DEVICE_ID_ARECA_1214 …
#endif
#ifndef PCI_DEVICE_ID_ARECA_1203
#define PCI_DEVICE_ID_ARECA_1203 …
#endif
#ifndef PCI_DEVICE_ID_ARECA_1883
#define PCI_DEVICE_ID_ARECA_1883 …
#endif
#ifndef PCI_DEVICE_ID_ARECA_1884
#define PCI_DEVICE_ID_ARECA_1884 …
#endif
#define PCI_DEVICE_ID_ARECA_1886_0 …
#define PCI_DEVICE_ID_ARECA_1886 …
#define ARCMSR_HOURS …
#define ARCMSR_MINUTES …
#define ARCMSR_DEFAULT_TIMEOUT …
#define ARC_SUCCESS …
#define ARC_FAILURE …
#define dma_addr_hi32(addr) …
#define dma_addr_lo32(addr) …
struct CMD_MESSAGE
{ … };
#define ARCMSR_API_DATA_BUFLEN …
struct CMD_MESSAGE_FIELD
{ … };
#define ARCMSR_MESSAGE_FAIL …
#define ARECA_SATA_RAID …
#define FUNCTION_READ_RQBUFFER …
#define FUNCTION_WRITE_WQBUFFER …
#define FUNCTION_CLEAR_RQBUFFER …
#define FUNCTION_CLEAR_WQBUFFER …
#define FUNCTION_CLEAR_ALLQBUFFER …
#define FUNCTION_RETURN_CODE_3F …
#define FUNCTION_SAY_HELLO …
#define FUNCTION_SAY_GOODBYE …
#define FUNCTION_FLUSH_ADAPTER_CACHE …
#define FUNCTION_GET_FIRMWARE_STATUS …
#define FUNCTION_HARDWARE_RESET …
#define ARCMSR_MESSAGE_READ_RQBUFFER …
#define ARCMSR_MESSAGE_WRITE_WQBUFFER …
#define ARCMSR_MESSAGE_CLEAR_RQBUFFER …
#define ARCMSR_MESSAGE_CLEAR_WQBUFFER …
#define ARCMSR_MESSAGE_CLEAR_ALLQBUFFER …
#define ARCMSR_MESSAGE_RETURN_CODE_3F …
#define ARCMSR_MESSAGE_SAY_HELLO …
#define ARCMSR_MESSAGE_SAY_GOODBYE …
#define ARCMSR_MESSAGE_FLUSH_ADAPTER_CACHE …
#define ARCMSR_MESSAGE_RETURNCODE_OK …
#define ARCMSR_MESSAGE_RETURNCODE_ERROR …
#define ARCMSR_MESSAGE_RETURNCODE_3F …
#define ARCMSR_MESSAGE_RETURNCODE_BUS_HANG_ON …
#define IS_DMA64 …
#define IS_SG64_ADDR …
struct SG32ENTRY
{ … }__attribute__ ((packed));
struct SG64ENTRY
{ … }__attribute__ ((packed));
struct QBUFFER
{ … };
struct FIRMWARE_INFO
{ … };
#define ARCMSR_SIGNATURE_GET_CONFIG …
#define ARCMSR_SIGNATURE_SET_CONFIG …
#define ARCMSR_INBOUND_MESG0_NOP …
#define ARCMSR_INBOUND_MESG0_GET_CONFIG …
#define ARCMSR_INBOUND_MESG0_SET_CONFIG …
#define ARCMSR_INBOUND_MESG0_ABORT_CMD …
#define ARCMSR_INBOUND_MESG0_STOP_BGRB …
#define ARCMSR_INBOUND_MESG0_FLUSH_CACHE …
#define ARCMSR_INBOUND_MESG0_START_BGRB …
#define ARCMSR_INBOUND_MESG0_CHK331PENDING …
#define ARCMSR_INBOUND_MESG0_SYNC_TIMER …
#define ARCMSR_INBOUND_DRIVER_DATA_WRITE_OK …
#define ARCMSR_INBOUND_DRIVER_DATA_READ_OK …
#define ARCMSR_OUTBOUND_IOP331_DATA_WRITE_OK …
#define ARCMSR_OUTBOUND_IOP331_DATA_READ_OK …
#define ARCMSR_CCBPOST_FLAG_SGL_BSIZE …
#define ARCMSR_CCBPOST_FLAG_IAM_BIOS …
#define ARCMSR_CCBREPLY_FLAG_IAM_BIOS …
#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE0 …
#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE1 …
#define ARCMSR_OUTBOUND_MESG1_FIRMWARE_OK …
#define ARCMSR_ARC1680_BUS_RESET …
#define ARCMSR_ARC1880_RESET_ADAPTER …
#define ARCMSR_ARC1880_DiagWrite_ENABLE …
#define ARCMSR_DRV2IOP_DOORBELL …
#define ARCMSR_DRV2IOP_DOORBELL_MASK …
#define ARCMSR_IOP2DRV_DOORBELL …
#define ARCMSR_IOP2DRV_DOORBELL_MASK …
#define ARCMSR_IOP2DRV_DOORBELL_1203 …
#define ARCMSR_IOP2DRV_DOORBELL_MASK_1203 …
#define ARCMSR_DRV2IOP_DOORBELL_1203 …
#define ARCMSR_DRV2IOP_DOORBELL_MASK_1203 …
#define ARCMSR_IOP2DRV_DATA_WRITE_OK …
#define ARCMSR_IOP2DRV_DATA_READ_OK …
#define ARCMSR_IOP2DRV_CDB_DONE …
#define ARCMSR_IOP2DRV_MESSAGE_CMD_DONE …
#define ARCMSR_DOORBELL_HANDLE_INT …
#define ARCMSR_DOORBELL_INT_CLEAR_PATTERN …
#define ARCMSR_MESSAGE_INT_CLEAR_PATTERN …
#define ARCMSR_MESSAGE_GET_CONFIG …
#define ARCMSR_MESSAGE_SET_CONFIG …
#define ARCMSR_MESSAGE_ABORT_CMD …
#define ARCMSR_MESSAGE_STOP_BGRB …
#define ARCMSR_MESSAGE_FLUSH_CACHE …
#define ARCMSR_MESSAGE_START_BGRB …
#define ARCMSR_MESSAGE_SYNC_TIMER …
#define ARCMSR_MESSAGE_START_DRIVER_MODE …
#define ARCMSR_MESSAGE_SET_POST_WINDOW …
#define ARCMSR_MESSAGE_ACTIVE_EOI_MODE …
#define ARCMSR_MESSAGE_FIRMWARE_OK …
#define ARCMSR_DRV2IOP_DATA_WRITE_OK …
#define ARCMSR_DRV2IOP_DATA_READ_OK …
#define ARCMSR_DRV2IOP_CDB_POSTED …
#define ARCMSR_DRV2IOP_MESSAGE_CMD_POSTED …
#define ARCMSR_DRV2IOP_END_OF_INTERRUPT …
#define ARCMSR_MESSAGE_WBUFFER …
#define ARCMSR_MESSAGE_RBUFFER …
#define ARCMSR_MESSAGE_RWBUFFER …
#define MEM_BASE0(x) …
#define MEM_BASE1(x) …
#define ARCMSR_HBC_ISR_THROTTLING_LEVEL …
#define ARCMSR_HBC_ISR_MAX_DONE_QUEUE …
#define ARCMSR_HBCMU_UTILITY_A_ISR_MASK …
#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR_MASK …
#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR_MASK …
#define ARCMSR_HBCMU_ALL_INTMASKENABLE …
#define ARCMSR_HBCMU_UTILITY_A_ISR …
#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR …
#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR …
#define ARCMSR_HBCMU_SAS_ALL_INT …
#define ARCMSR_HBCMU_DRV2IOP_DATA_WRITE_OK …
#define ARCMSR_HBCMU_DRV2IOP_DATA_READ_OK …
#define ARCMSR_HBCMU_DRV2IOP_MESSAGE_CMD_DONE …
#define ARCMSR_HBCMU_DRV2IOP_POSTQUEUE_THROTTLING …
#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_OK …
#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_DOORBELL_CLEAR …
#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_OK …
#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_DOORBELL_CLEAR …
#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE …
#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE_DOORBELL_CLEAR …
#define ARCMSR_HBCMU_MESSAGE_FIRMWARE_OK …
#define ARCMSR_ARC1214_CHIP_ID …
#define ARCMSR_ARC1214_CPU_MEMORY_CONFIGURATION …
#define ARCMSR_ARC1214_I2_HOST_INTERRUPT_MASK …
#define ARCMSR_ARC1214_SAMPLE_RESET …
#define ARCMSR_ARC1214_RESET_REQUEST …
#define ARCMSR_ARC1214_MAIN_INTERRUPT_STATUS …
#define ARCMSR_ARC1214_PCIE_F0_INTERRUPT_ENABLE …
#define ARCMSR_ARC1214_INBOUND_MESSAGE0 …
#define ARCMSR_ARC1214_INBOUND_MESSAGE1 …
#define ARCMSR_ARC1214_OUTBOUND_MESSAGE0 …
#define ARCMSR_ARC1214_OUTBOUND_MESSAGE1 …
#define ARCMSR_ARC1214_INBOUND_DOORBELL …
#define ARCMSR_ARC1214_OUTBOUND_DOORBELL …
#define ARCMSR_ARC1214_OUTBOUND_DOORBELL_ENABLE …
#define ARCMSR_ARC1214_INBOUND_LIST_BASE_LOW …
#define ARCMSR_ARC1214_INBOUND_LIST_BASE_HIGH …
#define ARCMSR_ARC1214_INBOUND_LIST_WRITE_POINTER …
#define ARCMSR_ARC1214_OUTBOUND_LIST_BASE_LOW …
#define ARCMSR_ARC1214_OUTBOUND_LIST_BASE_HIGH …
#define ARCMSR_ARC1214_OUTBOUND_LIST_COPY_POINTER …
#define ARCMSR_ARC1214_OUTBOUND_LIST_READ_POINTER …
#define ARCMSR_ARC1214_OUTBOUND_INTERRUPT_CAUSE …
#define ARCMSR_ARC1214_OUTBOUND_INTERRUPT_ENABLE …
#define ARCMSR_ARC1214_MESSAGE_WBUFFER …
#define ARCMSR_ARC1214_MESSAGE_RBUFFER …
#define ARCMSR_ARC1214_MESSAGE_RWBUFFER …
#define ARCMSR_ARC1214_ALL_INT_ENABLE …
#define ARCMSR_ARC1214_ALL_INT_DISABLE …
#define ARCMSR_ARC1214_OUTBOUND_DOORBELL_ISR …
#define ARCMSR_ARC1214_OUTBOUND_POSTQUEUE_ISR …
#define ARCMSR_ARC1214_DRV2IOP_DATA_IN_READY …
#define ARCMSR_ARC1214_DRV2IOP_DATA_OUT_READ …
#define ARCMSR_ARC1214_IOP2DRV_DATA_WRITE_OK …
#define ARCMSR_ARC1214_IOP2DRV_DATA_READ_OK …
#define ARCMSR_ARC1214_IOP2DRV_MESSAGE_CMD_DONE …
#define ARCMSR_ARC1214_MESSAGE_FIRMWARE_OK …
#define ARCMSR_ARC1214_OUTBOUND_LIST_INTERRUPT_CLEAR …
#define ARCMSR_SIGNATURE_1884 …
#define ARCMSR_HBEMU_DRV2IOP_DATA_WRITE_OK …
#define ARCMSR_HBEMU_DRV2IOP_DATA_READ_OK …
#define ARCMSR_HBEMU_DRV2IOP_MESSAGE_CMD_DONE …
#define ARCMSR_HBEMU_IOP2DRV_DATA_WRITE_OK …
#define ARCMSR_HBEMU_IOP2DRV_DATA_READ_OK …
#define ARCMSR_HBEMU_IOP2DRV_MESSAGE_CMD_DONE …
#define ARCMSR_HBEMU_MESSAGE_FIRMWARE_OK …
#define ARCMSR_HBEMU_OUTBOUND_DOORBELL_ISR …
#define ARCMSR_HBEMU_OUTBOUND_POSTQUEUE_ISR …
#define ARCMSR_HBEMU_ALL_INTMASKENABLE …
#define ARCMSR_HBEMU_DOORBELL_SYNC …
#define ARCMSR_ARC188X_RESET_ADAPTER …
#define ARCMSR_ARC1884_DiagWrite_ENABLE …
#define ARCMSR_SIGNATURE_1886 …
#define ARCMSR_HBFMU_DOORBELL_SYNC …
#define ARCMSR_HBFMU_DOORBELL_SYNC1 …
#define ARCMSR_HBFMU_MESSAGE_FIRMWARE_OK …
#define ARCMSR_HBFMU_MESSAGE_NO_VOLUME_CHANGE …
struct ARCMSR_CDB
{ … };
struct MessageUnit_A
{ … };
struct MessageUnit_B
{ … };
struct MessageUnit_C{ … };
struct InBound_SRB { … };
struct OutBound_SRB { … };
struct MessageUnit_D { … };
struct MessageUnit_E{ … };
struct MessageUnit_F { … };
#define MESG_RW_BUFFER_SIZE …
pCompletion_Q;
#define ARCMSR_XOR_SEG_SIZE …
struct HostRamBuf { … };
struct Xor_sg { … };
struct XorHandle { … };
struct AdapterControlBlock
{ … };
struct CommandControlBlock{ … };
struct SENSE_DATA
{ … };
#define ARCMSR_MU_OUTBOUND_INTERRUPT_STATUS_REG …
#define ARCMSR_MU_OUTBOUND_PCI_INT …
#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INT …
#define ARCMSR_MU_OUTBOUND_DOORBELL_INT …
#define ARCMSR_MU_OUTBOUND_MESSAGE1_INT …
#define ARCMSR_MU_OUTBOUND_MESSAGE0_INT …
#define ARCMSR_MU_OUTBOUND_HANDLE_INT …
#define ARCMSR_MU_OUTBOUND_INTERRUPT_MASK_REG …
#define ARCMSR_MU_OUTBOUND_PCI_INTMASKENABLE …
#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INTMASKENABLE …
#define ARCMSR_MU_OUTBOUND_DOORBELL_INTMASKENABLE …
#define ARCMSR_MU_OUTBOUND_MESSAGE1_INTMASKENABLE …
#define ARCMSR_MU_OUTBOUND_MESSAGE0_INTMASKENABLE …
#define ARCMSR_MU_OUTBOUND_ALL_INTMASKENABLE …
extern void arcmsr_write_ioctldata2iop(struct AdapterControlBlock *);
extern uint32_t arcmsr_Read_iop_rqbuffer_data(struct AdapterControlBlock *,
struct QBUFFER __iomem *);
extern void arcmsr_clear_iop2drv_rqueue_buffer(struct AdapterControlBlock *);
extern struct QBUFFER __iomem *arcmsr_get_iop_rqbuffer(struct AdapterControlBlock *);
extern const struct attribute_group *arcmsr_host_groups[];
extern int arcmsr_alloc_sysfs_attr(struct AdapterControlBlock *);
void arcmsr_free_sysfs_attr(struct AdapterControlBlock *acb);