Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
arcmsr.h File Reference
#include <linux/interrupt.h>

Go to the source code of this file.

Data Structures

struct  CMD_MESSAGE
 
struct  CMD_MESSAGE_FIELD
 
struct  SG32ENTRY
 
struct  SG64ENTRY
 
struct  QBUFFER
 
struct  FIRMWARE_INFO
 
struct  ARCMSR_CDB
 
struct  MessageUnit_A
 
struct  MessageUnit_B
 
struct  MessageUnit_C
 
struct  AdapterControlBlock
 
struct  CommandControlBlock
 
struct  SENSE_DATA
 

Macros

#define ARCMSR_MAX_OUTSTANDING_CMD   256
 
#define ARCMSR_MAX_FREECCB_NUM   320
 
#define ARCMSR_DRIVER_VERSION   "Driver Version 1.20.00.15 2010/08/05"
 
#define ARCMSR_SCSI_INITIATOR_ID   255
 
#define ARCMSR_MAX_XFER_SECTORS   512
 
#define ARCMSR_MAX_XFER_SECTORS_B   4096
 
#define ARCMSR_MAX_XFER_SECTORS_C   304
 
#define ARCMSR_MAX_TARGETID   17
 
#define ARCMSR_MAX_TARGETLUN   8
 
#define ARCMSR_MAX_CMD_PERLUN   ARCMSR_MAX_OUTSTANDING_CMD
 
#define ARCMSR_MAX_QBUFFER   4096
 
#define ARCMSR_DEFAULT_SG_ENTRIES   38
 
#define ARCMSR_MAX_HBB_POSTQUEUE   264
 
#define ARCMSR_MAX_XFER_LEN   0x26000 /* 152K */
 
#define ARCMSR_CDB_SG_PAGE_LENGTH   256
 
#define PCI_DEVICE_ID_ARECA_1880   0x1880
 
#define ARC_SUCCESS   0
 
#define ARC_FAILURE   1
 
#define dma_addr_hi32(addr)   (uint32_t) ((addr>>16)>>16)
 
#define dma_addr_lo32(addr)   (uint32_t) (addr & 0xffffffff)
 
#define ARCMSR_MESSAGE_FAIL   0x0001
 
#define ARECA_SATA_RAID   0x90000000
 
#define FUNCTION_READ_RQBUFFER   0x0801
 
#define FUNCTION_WRITE_WQBUFFER   0x0802
 
#define FUNCTION_CLEAR_RQBUFFER   0x0803
 
#define FUNCTION_CLEAR_WQBUFFER   0x0804
 
#define FUNCTION_CLEAR_ALLQBUFFER   0x0805
 
#define FUNCTION_RETURN_CODE_3F   0x0806
 
#define FUNCTION_SAY_HELLO   0x0807
 
#define FUNCTION_SAY_GOODBYE   0x0808
 
#define FUNCTION_FLUSH_ADAPTER_CACHE   0x0809
 
#define FUNCTION_GET_FIRMWARE_STATUS   0x080A
 
#define FUNCTION_HARDWARE_RESET   0x080B
 
#define ARCMSR_MESSAGE_READ_RQBUFFER   ARECA_SATA_RAID | FUNCTION_READ_RQBUFFER
 
#define ARCMSR_MESSAGE_WRITE_WQBUFFER   ARECA_SATA_RAID | FUNCTION_WRITE_WQBUFFER
 
#define ARCMSR_MESSAGE_CLEAR_RQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_RQBUFFER
 
#define ARCMSR_MESSAGE_CLEAR_WQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_WQBUFFER
 
#define ARCMSR_MESSAGE_CLEAR_ALLQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_ALLQBUFFER
 
#define ARCMSR_MESSAGE_RETURN_CODE_3F   ARECA_SATA_RAID | FUNCTION_RETURN_CODE_3F
 
#define ARCMSR_MESSAGE_SAY_HELLO   ARECA_SATA_RAID | FUNCTION_SAY_HELLO
 
#define ARCMSR_MESSAGE_SAY_GOODBYE   ARECA_SATA_RAID | FUNCTION_SAY_GOODBYE
 
#define ARCMSR_MESSAGE_FLUSH_ADAPTER_CACHE   ARECA_SATA_RAID | FUNCTION_FLUSH_ADAPTER_CACHE
 
#define ARCMSR_MESSAGE_RETURNCODE_OK   0x00000001
 
#define ARCMSR_MESSAGE_RETURNCODE_ERROR   0x00000006
 
#define ARCMSR_MESSAGE_RETURNCODE_3F   0x0000003F
 
#define ARCMSR_MESSAGE_RETURNCODE_BUS_HANG_ON   0x00000088
 
#define IS_DMA64   (sizeof(dma_addr_t) == 8)
 
#define IS_SG64_ADDR   0x01000000 /* bit24 */
 
#define ARCMSR_SIGNATURE_GET_CONFIG   0x87974060
 
#define ARCMSR_SIGNATURE_SET_CONFIG   0x87974063
 
#define ARCMSR_INBOUND_MESG0_NOP   0x00000000
 
#define ARCMSR_INBOUND_MESG0_GET_CONFIG   0x00000001
 
#define ARCMSR_INBOUND_MESG0_SET_CONFIG   0x00000002
 
#define ARCMSR_INBOUND_MESG0_ABORT_CMD   0x00000003
 
#define ARCMSR_INBOUND_MESG0_STOP_BGRB   0x00000004
 
#define ARCMSR_INBOUND_MESG0_FLUSH_CACHE   0x00000005
 
#define ARCMSR_INBOUND_MESG0_START_BGRB   0x00000006
 
#define ARCMSR_INBOUND_MESG0_CHK331PENDING   0x00000007
 
#define ARCMSR_INBOUND_MESG0_SYNC_TIMER   0x00000008
 
#define ARCMSR_INBOUND_DRIVER_DATA_WRITE_OK   0x00000001
 
#define ARCMSR_INBOUND_DRIVER_DATA_READ_OK   0x00000002
 
#define ARCMSR_OUTBOUND_IOP331_DATA_WRITE_OK   0x00000001
 
#define ARCMSR_OUTBOUND_IOP331_DATA_READ_OK   0x00000002
 
#define ARCMSR_CCBPOST_FLAG_SGL_BSIZE   0x80000000
 
#define ARCMSR_CCBPOST_FLAG_IAM_BIOS   0x40000000
 
#define ARCMSR_CCBREPLY_FLAG_IAM_BIOS   0x40000000
 
#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE0   0x10000000
 
#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE1   0x00000001
 
#define ARCMSR_OUTBOUND_MESG1_FIRMWARE_OK   0x80000000
 
#define ARCMSR_ARC1680_BUS_RESET   0x00000003
 
#define ARCMSR_ARC1880_RESET_ADAPTER   0x00000024
 
#define ARCMSR_ARC1880_DiagWrite_ENABLE   0x00000080
 
#define ARCMSR_DRV2IOP_DOORBELL   0x00020400
 
#define ARCMSR_DRV2IOP_DOORBELL_MASK   0x00020404
 
#define ARCMSR_IOP2DRV_DOORBELL   0x00020408
 
#define ARCMSR_IOP2DRV_DOORBELL_MASK   0x0002040C
 
#define ARCMSR_IOP2DRV_DATA_WRITE_OK   0x00000001
 
#define ARCMSR_IOP2DRV_DATA_READ_OK   0x00000002
 
#define ARCMSR_IOP2DRV_CDB_DONE   0x00000004
 
#define ARCMSR_IOP2DRV_MESSAGE_CMD_DONE   0x00000008
 
#define ARCMSR_DOORBELL_HANDLE_INT   0x0000000F
 
#define ARCMSR_DOORBELL_INT_CLEAR_PATTERN   0xFF00FFF0
 
#define ARCMSR_MESSAGE_INT_CLEAR_PATTERN   0xFF00FFF7
 
#define ARCMSR_MESSAGE_GET_CONFIG   0x00010008
 
#define ARCMSR_MESSAGE_SET_CONFIG   0x00020008
 
#define ARCMSR_MESSAGE_ABORT_CMD   0x00030008
 
#define ARCMSR_MESSAGE_STOP_BGRB   0x00040008
 
#define ARCMSR_MESSAGE_FLUSH_CACHE   0x00050008
 
#define ARCMSR_MESSAGE_START_BGRB   0x00060008
 
#define ARCMSR_MESSAGE_START_DRIVER_MODE   0x000E0008
 
#define ARCMSR_MESSAGE_SET_POST_WINDOW   0x000F0008
 
#define ARCMSR_MESSAGE_ACTIVE_EOI_MODE   0x00100008
 
#define ARCMSR_MESSAGE_FIRMWARE_OK   0x80000000
 
#define ARCMSR_DRV2IOP_DATA_WRITE_OK   0x00000001
 
#define ARCMSR_DRV2IOP_DATA_READ_OK   0x00000002
 
#define ARCMSR_DRV2IOP_CDB_POSTED   0x00000004
 
#define ARCMSR_DRV2IOP_MESSAGE_CMD_POSTED   0x00000008
 
#define ARCMSR_DRV2IOP_END_OF_INTERRUPT   0x00000010
 
#define ARCMSR_MESSAGE_WBUFFER   0x0000fe00
 
#define ARCMSR_MESSAGE_RBUFFER   0x0000ff00
 
#define ARCMSR_MESSAGE_RWBUFFER   0x0000fa00
 
#define ARCMSR_HBC_ISR_THROTTLING_LEVEL   12
 
#define ARCMSR_HBC_ISR_MAX_DONE_QUEUE   20
 
#define ARCMSR_HBCMU_UTILITY_A_ISR_MASK   0x00000001 /* When clear, the Utility_A interrupt routes to the host.*/
 
#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR_MASK   0x00000004 /* When clear, the General Outbound Doorbell interrupt routes to the host.*/
 
#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR_MASK   0x00000008 /* When clear, the Outbound Post List FIFO Not Empty interrupt routes to the host.*/
 
#define ARCMSR_HBCMU_ALL_INTMASKENABLE   0x0000000D /* disable all ISR */
 
#define ARCMSR_HBCMU_UTILITY_A_ISR   0x00000001
 
#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR   0x00000004
 
#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR   0x00000008
 
#define ARCMSR_HBCMU_SAS_ALL_INT   0x00000010
 
#define ARCMSR_HBCMU_DRV2IOP_DATA_WRITE_OK   0x00000002
 
#define ARCMSR_HBCMU_DRV2IOP_DATA_READ_OK   0x00000004
 
#define ARCMSR_HBCMU_DRV2IOP_MESSAGE_CMD_DONE   0x00000008
 
#define ARCMSR_HBCMU_DRV2IOP_POSTQUEUE_THROTTLING   0x00000010
 
#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_OK   0x00000002
 
#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_DOORBELL_CLEAR   0x00000002
 
#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_OK   0x00000004
 
#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_DOORBELL_CLEAR   0x00000004
 
#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE   0x00000008
 
#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE_DOORBELL_CLEAR   0x00000008
 
#define ARCMSR_HBCMU_MESSAGE_FIRMWARE_OK   0x80000000
 
#define ARCMSR_CDB_FLAG_SGL_BSIZE   0x01
 
#define ARCMSR_CDB_FLAG_BIOS   0x02
 
#define ARCMSR_CDB_FLAG_WRITE   0x04
 
#define ARCMSR_CDB_FLAG_SIMPLEQ   0x00
 
#define ARCMSR_CDB_FLAG_HEADQ   0x08
 
#define ARCMSR_CDB_FLAG_ORDEREDQ   0x10
 
#define ARCMSR_DEV_CHECK_CONDITION   0x02
 
#define ARCMSR_DEV_SELECT_TIMEOUT   0xF0
 
#define ARCMSR_DEV_ABORTED   0xF1
 
#define ARCMSR_DEV_INIT_FAIL   0xF2
 
#define ACB_ADAPTER_TYPE_A   0x00000001 /* hba I IOP */
 
#define ACB_ADAPTER_TYPE_B   0x00000002 /* hbb M IOP */
 
#define ACB_ADAPTER_TYPE_C   0x00000004 /* hbc P IOP */
 
#define ACB_ADAPTER_TYPE_D   0x00000008 /* hbd A IOP */
 
#define ACB_F_SCSISTOPADAPTER   0x0001
 
#define ACB_F_MSG_STOP_BGRB   0x0002
 
#define ACB_F_MSG_START_BGRB   0x0004
 
#define ACB_F_IOPDATA_OVERFLOW   0x0008
 
#define ACB_F_MESSAGE_WQBUFFER_CLEARED   0x0010
 
#define ACB_F_MESSAGE_RQBUFFER_CLEARED   0x0020
 
#define ACB_F_MESSAGE_WQBUFFER_READED   0x0040
 
#define ACB_F_BUS_RESET   0x0080
 
#define ACB_F_BUS_HANG_ON   0x0800/* need hardware reset bus */
 
#define ACB_F_IOP_INITED   0x0100
 
#define ACB_F_ABORT   0x0200
 
#define ACB_F_FIRMWARE_TRAP   0x0400
 
#define ARECA_RAID_GONE   0x55
 
#define ARECA_RAID_GOOD   0xaa
 
#define FW_NORMAL   0x0000
 
#define FW_BOG   0x0001
 
#define FW_DEADLOCK   0x0010
 
#define CCB_FLAG_READ   0x0000
 
#define CCB_FLAG_WRITE   0x0001
 
#define CCB_FLAG_ERROR   0x0002
 
#define CCB_FLAG_FLUSHCACHE   0x0004
 
#define CCB_FLAG_MASTER_ABORTED   0x0008
 
#define ARCMSR_CCB_DONE   0x0000
 
#define ARCMSR_CCB_START   0x55AA
 
#define ARCMSR_CCB_ABORTED   0xAA55
 
#define ARCMSR_CCB_ILLEGAL   0xFFFF
 
#define SCSI_SENSE_CURRENT_ERRORS   0x70
 
#define SCSI_SENSE_DEFERRED_ERRORS   0x71
 
#define ARCMSR_MU_OUTBOUND_INTERRUPT_STATUS_REG   0x30
 
#define ARCMSR_MU_OUTBOUND_PCI_INT   0x10
 
#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INT   0x08
 
#define ARCMSR_MU_OUTBOUND_DOORBELL_INT   0x04
 
#define ARCMSR_MU_OUTBOUND_MESSAGE1_INT   0x02
 
#define ARCMSR_MU_OUTBOUND_MESSAGE0_INT   0x01
 
#define ARCMSR_MU_OUTBOUND_HANDLE_INT
 
#define ARCMSR_MU_OUTBOUND_INTERRUPT_MASK_REG   0x34
 
#define ARCMSR_MU_OUTBOUND_PCI_INTMASKENABLE   0x10
 
#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INTMASKENABLE   0x08
 
#define ARCMSR_MU_OUTBOUND_DOORBELL_INTMASKENABLE   0x04
 
#define ARCMSR_MU_OUTBOUND_MESSAGE1_INTMASKENABLE   0x02
 
#define ARCMSR_MU_OUTBOUND_MESSAGE0_INTMASKENABLE   0x01
 
#define ARCMSR_MU_OUTBOUND_ALL_INTMASKENABLE   0x1F
 

Functions

struct SG32ENTRY __attribute__ ((packed))
 
void arcmsr_post_ioctldata2iop (struct AdapterControlBlock *)
 
void arcmsr_iop_message_read (struct AdapterControlBlock *)
 
struct QBUFFER __iomemarcmsr_get_iop_rqbuffer (struct AdapterControlBlock *)
 
int arcmsr_alloc_sysfs_attr (struct AdapterControlBlock *)
 
void arcmsr_free_sysfs_attr (struct AdapterControlBlock *acb)
 

Variables

__le32 length
 
__le32 address
 
__le32 addresshigh
 
struct QBUFFER __attribute__
 
struct device_attributearcmsr_host_attrs []
 

Macro Definition Documentation

#define ACB_ADAPTER_TYPE_A   0x00000001 /* hba I IOP */

Definition at line 504 of file arcmsr.h.

#define ACB_ADAPTER_TYPE_B   0x00000002 /* hbb M IOP */

Definition at line 505 of file arcmsr.h.

#define ACB_ADAPTER_TYPE_C   0x00000004 /* hbc P IOP */

Definition at line 506 of file arcmsr.h.

#define ACB_ADAPTER_TYPE_D   0x00000008 /* hbd A IOP */

Definition at line 507 of file arcmsr.h.

#define ACB_F_ABORT   0x0200

Definition at line 545 of file arcmsr.h.

#define ACB_F_BUS_HANG_ON   0x0800/* need hardware reset bus */

Definition at line 541 of file arcmsr.h.

#define ACB_F_BUS_RESET   0x0080

Definition at line 540 of file arcmsr.h.

#define ACB_F_FIRMWARE_TRAP   0x0400

Definition at line 546 of file arcmsr.h.

#define ACB_F_IOP_INITED   0x0100

Definition at line 543 of file arcmsr.h.

#define ACB_F_IOPDATA_OVERFLOW   0x0008

Definition at line 533 of file arcmsr.h.

#define ACB_F_MESSAGE_RQBUFFER_CLEARED   0x0020

Definition at line 537 of file arcmsr.h.

#define ACB_F_MESSAGE_WQBUFFER_CLEARED   0x0010

Definition at line 535 of file arcmsr.h.

#define ACB_F_MESSAGE_WQBUFFER_READED   0x0040

Definition at line 539 of file arcmsr.h.

#define ACB_F_MSG_START_BGRB   0x0004

Definition at line 531 of file arcmsr.h.

#define ACB_F_MSG_STOP_BGRB   0x0002

Definition at line 529 of file arcmsr.h.

#define ACB_F_SCSISTOPADAPTER   0x0001

Definition at line 528 of file arcmsr.h.

#define ARC_FAILURE   1

Definition at line 76 of file arcmsr.h.

#define ARC_SUCCESS   0

Definition at line 75 of file arcmsr.h.

#define ARCMSR_ARC1680_BUS_RESET   0x00000003

Definition at line 223 of file arcmsr.h.

#define ARCMSR_ARC1880_DiagWrite_ENABLE   0x00000080

Definition at line 226 of file arcmsr.h.

#define ARCMSR_ARC1880_RESET_ADAPTER   0x00000024

Definition at line 225 of file arcmsr.h.

#define ARCMSR_CCB_ABORTED   0xAA55

Definition at line 620 of file arcmsr.h.

#define ARCMSR_CCB_DONE   0x0000

Definition at line 618 of file arcmsr.h.

#define ARCMSR_CCB_ILLEGAL   0xFFFF

Definition at line 621 of file arcmsr.h.

#define ARCMSR_CCB_START   0x55AA

Definition at line 619 of file arcmsr.h.

#define ARCMSR_CCBPOST_FLAG_IAM_BIOS   0x40000000

Definition at line 216 of file arcmsr.h.

#define ARCMSR_CCBPOST_FLAG_SGL_BSIZE   0x80000000

Definition at line 215 of file arcmsr.h.

#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE0   0x10000000

Definition at line 218 of file arcmsr.h.

#define ARCMSR_CCBREPLY_FLAG_ERROR_MODE1   0x00000001

Definition at line 219 of file arcmsr.h.

#define ARCMSR_CCBREPLY_FLAG_IAM_BIOS   0x40000000

Definition at line 217 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_BIOS   0x02

Definition at line 353 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_HEADQ   0x08

Definition at line 356 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_ORDEREDQ   0x10

Definition at line 357 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_SGL_BSIZE   0x01

Definition at line 352 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_SIMPLEQ   0x00

Definition at line 355 of file arcmsr.h.

#define ARCMSR_CDB_FLAG_WRITE   0x04

Definition at line 354 of file arcmsr.h.

#define ARCMSR_CDB_SG_PAGE_LENGTH   256

Definition at line 66 of file arcmsr.h.

#define ARCMSR_DEFAULT_SG_ENTRIES   38

Definition at line 63 of file arcmsr.h.

#define ARCMSR_DEV_ABORTED   0xF1

Definition at line 366 of file arcmsr.h.

#define ARCMSR_DEV_CHECK_CONDITION   0x02

Definition at line 364 of file arcmsr.h.

#define ARCMSR_DEV_INIT_FAIL   0xF2

Definition at line 367 of file arcmsr.h.

#define ARCMSR_DEV_SELECT_TIMEOUT   0xF0

Definition at line 365 of file arcmsr.h.

#define ARCMSR_DOORBELL_HANDLE_INT   0x0000000F

Definition at line 248 of file arcmsr.h.

#define ARCMSR_DOORBELL_INT_CLEAR_PATTERN   0xFF00FFF0

Definition at line 249 of file arcmsr.h.

#define ARCMSR_DRIVER_VERSION   "Driver Version 1.20.00.15 2010/08/05"

Definition at line 54 of file arcmsr.h.

#define ARCMSR_DRV2IOP_CDB_POSTED   0x00000004

Definition at line 272 of file arcmsr.h.

#define ARCMSR_DRV2IOP_DATA_READ_OK   0x00000002

Definition at line 271 of file arcmsr.h.

#define ARCMSR_DRV2IOP_DATA_WRITE_OK   0x00000001

Definition at line 269 of file arcmsr.h.

#define ARCMSR_DRV2IOP_DOORBELL   0x00020400

Definition at line 235 of file arcmsr.h.

#define ARCMSR_DRV2IOP_DOORBELL_MASK   0x00020404

Definition at line 236 of file arcmsr.h.

#define ARCMSR_DRV2IOP_END_OF_INTERRUPT   0x00000010

Definition at line 274 of file arcmsr.h.

#define ARCMSR_DRV2IOP_MESSAGE_CMD_POSTED   0x00000008

Definition at line 273 of file arcmsr.h.

#define ARCMSR_HBC_ISR_MAX_DONE_QUEUE   20

Definition at line 289 of file arcmsr.h.

#define ARCMSR_HBC_ISR_THROTTLING_LEVEL   12

Definition at line 288 of file arcmsr.h.

#define ARCMSR_HBCMU_ALL_INTMASKENABLE   0x0000000D /* disable all ISR */

Definition at line 294 of file arcmsr.h.

#define ARCMSR_HBCMU_DRV2IOP_DATA_READ_OK   0x00000004

Definition at line 321 of file arcmsr.h.

#define ARCMSR_HBCMU_DRV2IOP_DATA_WRITE_OK   0x00000002

Definition at line 320 of file arcmsr.h.

#define ARCMSR_HBCMU_DRV2IOP_MESSAGE_CMD_DONE   0x00000008

Definition at line 323 of file arcmsr.h.

#define ARCMSR_HBCMU_DRV2IOP_POSTQUEUE_THROTTLING   0x00000010

Definition at line 325 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_DOORBELL_CLEAR   0x00000004

Definition at line 331 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_DATA_READ_OK   0x00000004

Definition at line 329 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_DOORBELL_CLEAR   0x00000002

Definition at line 328 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_DATA_WRITE_OK   0x00000002

Definition at line 326 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE   0x00000008

Definition at line 333 of file arcmsr.h.

#define ARCMSR_HBCMU_IOP2DRV_MESSAGE_CMD_DONE_DOORBELL_CLEAR   0x00000008

Definition at line 335 of file arcmsr.h.

#define ARCMSR_HBCMU_MESSAGE_FIRMWARE_OK   0x80000000

Definition at line 337 of file arcmsr.h.

#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR   0x00000004

Definition at line 301 of file arcmsr.h.

#define ARCMSR_HBCMU_OUTBOUND_DOORBELL_ISR_MASK   0x00000004 /* When clear, the General Outbound Doorbell interrupt routes to the host.*/

Definition at line 292 of file arcmsr.h.

#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR   0x00000008

Definition at line 308 of file arcmsr.h.

#define ARCMSR_HBCMU_OUTBOUND_POSTQUEUE_ISR_MASK   0x00000008 /* When clear, the Outbound Post List FIFO Not Empty interrupt routes to the host.*/

Definition at line 293 of file arcmsr.h.

#define ARCMSR_HBCMU_SAS_ALL_INT   0x00000010

Definition at line 314 of file arcmsr.h.

#define ARCMSR_HBCMU_UTILITY_A_ISR   0x00000001

Definition at line 296 of file arcmsr.h.

#define ARCMSR_HBCMU_UTILITY_A_ISR_MASK   0x00000001 /* When clear, the Utility_A interrupt routes to the host.*/

Definition at line 291 of file arcmsr.h.

#define ARCMSR_INBOUND_DRIVER_DATA_READ_OK   0x00000002

Definition at line 211 of file arcmsr.h.

#define ARCMSR_INBOUND_DRIVER_DATA_WRITE_OK   0x00000001

Definition at line 210 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_ABORT_CMD   0x00000003

Definition at line 203 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_CHK331PENDING   0x00000007

Definition at line 207 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_FLUSH_CACHE   0x00000005

Definition at line 205 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_GET_CONFIG   0x00000001

Definition at line 201 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_NOP   0x00000000

Definition at line 200 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_SET_CONFIG   0x00000002

Definition at line 202 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_START_BGRB   0x00000006

Definition at line 206 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_STOP_BGRB   0x00000004

Definition at line 204 of file arcmsr.h.

#define ARCMSR_INBOUND_MESG0_SYNC_TIMER   0x00000008

Definition at line 208 of file arcmsr.h.

#define ARCMSR_IOP2DRV_CDB_DONE   0x00000004

Definition at line 245 of file arcmsr.h.

#define ARCMSR_IOP2DRV_DATA_READ_OK   0x00000002

Definition at line 244 of file arcmsr.h.

#define ARCMSR_IOP2DRV_DATA_WRITE_OK   0x00000001

Definition at line 242 of file arcmsr.h.

#define ARCMSR_IOP2DRV_DOORBELL   0x00020408

Definition at line 238 of file arcmsr.h.

#define ARCMSR_IOP2DRV_DOORBELL_MASK   0x0002040C

Definition at line 239 of file arcmsr.h.

#define ARCMSR_IOP2DRV_MESSAGE_CMD_DONE   0x00000008

Definition at line 246 of file arcmsr.h.

#define ARCMSR_MAX_CMD_PERLUN   ARCMSR_MAX_OUTSTANDING_CMD

Definition at line 61 of file arcmsr.h.

#define ARCMSR_MAX_FREECCB_NUM   320

Definition at line 52 of file arcmsr.h.

#define ARCMSR_MAX_HBB_POSTQUEUE   264

Definition at line 64 of file arcmsr.h.

#define ARCMSR_MAX_OUTSTANDING_CMD   256

Definition at line 48 of file arcmsr.h.

#define ARCMSR_MAX_QBUFFER   4096

Definition at line 62 of file arcmsr.h.

#define ARCMSR_MAX_TARGETID   17

Definition at line 59 of file arcmsr.h.

#define ARCMSR_MAX_TARGETLUN   8

Definition at line 60 of file arcmsr.h.

#define ARCMSR_MAX_XFER_LEN   0x26000 /* 152K */

Definition at line 65 of file arcmsr.h.

#define ARCMSR_MAX_XFER_SECTORS   512

Definition at line 56 of file arcmsr.h.

#define ARCMSR_MAX_XFER_SECTORS_B   4096

Definition at line 57 of file arcmsr.h.

#define ARCMSR_MAX_XFER_SECTORS_C   304

Definition at line 58 of file arcmsr.h.

#define ARCMSR_MESSAGE_ABORT_CMD   0x00030008

Definition at line 256 of file arcmsr.h.

#define ARCMSR_MESSAGE_ACTIVE_EOI_MODE   0x00100008

Definition at line 265 of file arcmsr.h.

#define ARCMSR_MESSAGE_CLEAR_ALLQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_ALLQBUFFER

Definition at line 133 of file arcmsr.h.

#define ARCMSR_MESSAGE_CLEAR_RQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_RQBUFFER

Definition at line 129 of file arcmsr.h.

#define ARCMSR_MESSAGE_CLEAR_WQBUFFER   ARECA_SATA_RAID | FUNCTION_CLEAR_WQBUFFER

Definition at line 131 of file arcmsr.h.

#define ARCMSR_MESSAGE_FAIL   0x0001

Definition at line 109 of file arcmsr.h.

#define ARCMSR_MESSAGE_FIRMWARE_OK   0x80000000

Definition at line 267 of file arcmsr.h.

#define ARCMSR_MESSAGE_FLUSH_ADAPTER_CACHE   ARECA_SATA_RAID | FUNCTION_FLUSH_ADAPTER_CACHE

Definition at line 141 of file arcmsr.h.

#define ARCMSR_MESSAGE_FLUSH_CACHE   0x00050008

Definition at line 260 of file arcmsr.h.

#define ARCMSR_MESSAGE_GET_CONFIG   0x00010008

Definition at line 252 of file arcmsr.h.

#define ARCMSR_MESSAGE_INT_CLEAR_PATTERN   0xFF00FFF7

Definition at line 250 of file arcmsr.h.

#define ARCMSR_MESSAGE_RBUFFER   0x0000ff00

Definition at line 280 of file arcmsr.h.

#define ARCMSR_MESSAGE_READ_RQBUFFER   ARECA_SATA_RAID | FUNCTION_READ_RQBUFFER

Definition at line 125 of file arcmsr.h.

#define ARCMSR_MESSAGE_RETURN_CODE_3F   ARECA_SATA_RAID | FUNCTION_RETURN_CODE_3F

Definition at line 135 of file arcmsr.h.

#define ARCMSR_MESSAGE_RETURNCODE_3F   0x0000003F

Definition at line 146 of file arcmsr.h.

#define ARCMSR_MESSAGE_RETURNCODE_BUS_HANG_ON   0x00000088

Definition at line 147 of file arcmsr.h.

#define ARCMSR_MESSAGE_RETURNCODE_ERROR   0x00000006

Definition at line 145 of file arcmsr.h.

#define ARCMSR_MESSAGE_RETURNCODE_OK   0x00000001

Definition at line 144 of file arcmsr.h.

#define ARCMSR_MESSAGE_RWBUFFER   0x0000fa00

Definition at line 282 of file arcmsr.h.

#define ARCMSR_MESSAGE_SAY_GOODBYE   ARECA_SATA_RAID | FUNCTION_SAY_GOODBYE

Definition at line 139 of file arcmsr.h.

#define ARCMSR_MESSAGE_SAY_HELLO   ARECA_SATA_RAID | FUNCTION_SAY_HELLO

Definition at line 137 of file arcmsr.h.

#define ARCMSR_MESSAGE_SET_CONFIG   0x00020008

Definition at line 254 of file arcmsr.h.

#define ARCMSR_MESSAGE_SET_POST_WINDOW   0x000F0008

Definition at line 264 of file arcmsr.h.

#define ARCMSR_MESSAGE_START_BGRB   0x00060008

Definition at line 262 of file arcmsr.h.

#define ARCMSR_MESSAGE_START_DRIVER_MODE   0x000E0008

Definition at line 263 of file arcmsr.h.

#define ARCMSR_MESSAGE_STOP_BGRB   0x00040008

Definition at line 258 of file arcmsr.h.

#define ARCMSR_MESSAGE_WBUFFER   0x0000fe00

Definition at line 278 of file arcmsr.h.

#define ARCMSR_MESSAGE_WRITE_WQBUFFER   ARECA_SATA_RAID | FUNCTION_WRITE_WQBUFFER

Definition at line 127 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_ALL_INTMASKENABLE   0x1F

Definition at line 685 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_DOORBELL_INT   0x04

Definition at line 665 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_DOORBELL_INTMASKENABLE   0x04

Definition at line 682 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_HANDLE_INT
#define ARCMSR_MU_OUTBOUND_INTERRUPT_MASK_REG   0x34

Definition at line 679 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_INTERRUPT_STATUS_REG   0x30

Definition at line 662 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_MESSAGE0_INT   0x01

Definition at line 667 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_MESSAGE0_INTMASKENABLE   0x01

Definition at line 684 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_MESSAGE1_INT   0x02

Definition at line 666 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_MESSAGE1_INTMASKENABLE   0x02

Definition at line 683 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_PCI_INT   0x10

Definition at line 663 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_PCI_INTMASKENABLE   0x10

Definition at line 680 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INT   0x08

Definition at line 664 of file arcmsr.h.

#define ARCMSR_MU_OUTBOUND_POSTQUEUE_INTMASKENABLE   0x08

Definition at line 681 of file arcmsr.h.

#define ARCMSR_OUTBOUND_IOP331_DATA_READ_OK   0x00000002

Definition at line 213 of file arcmsr.h.

#define ARCMSR_OUTBOUND_IOP331_DATA_WRITE_OK   0x00000001

Definition at line 212 of file arcmsr.h.

#define ARCMSR_OUTBOUND_MESG1_FIRMWARE_OK   0x80000000

Definition at line 221 of file arcmsr.h.

#define ARCMSR_SCSI_INITIATOR_ID   255

Definition at line 55 of file arcmsr.h.

#define ARCMSR_SIGNATURE_GET_CONFIG   0x87974060

Definition at line 197 of file arcmsr.h.

#define ARCMSR_SIGNATURE_SET_CONFIG   0x87974063

Definition at line 198 of file arcmsr.h.

#define ARECA_RAID_GONE   0x55

Definition at line 576 of file arcmsr.h.

#define ARECA_RAID_GOOD   0xaa

Definition at line 577 of file arcmsr.h.

#define ARECA_SATA_RAID   0x90000000

Definition at line 111 of file arcmsr.h.

#define CCB_FLAG_ERROR   0x0002

Definition at line 614 of file arcmsr.h.

#define CCB_FLAG_FLUSHCACHE   0x0004

Definition at line 615 of file arcmsr.h.

#define CCB_FLAG_MASTER_ABORTED   0x0008

Definition at line 616 of file arcmsr.h.

#define CCB_FLAG_READ   0x0000

Definition at line 612 of file arcmsr.h.

#define CCB_FLAG_WRITE   0x0001

Definition at line 613 of file arcmsr.h.

#define dma_addr_hi32 (   addr)    (uint32_t) ((addr>>16)>>16)

Definition at line 82 of file arcmsr.h.

#define dma_addr_lo32 (   addr)    (uint32_t) (addr & 0xffffffff)

Definition at line 83 of file arcmsr.h.

#define FUNCTION_CLEAR_ALLQBUFFER   0x0805

Definition at line 117 of file arcmsr.h.

#define FUNCTION_CLEAR_RQBUFFER   0x0803

Definition at line 115 of file arcmsr.h.

#define FUNCTION_CLEAR_WQBUFFER   0x0804

Definition at line 116 of file arcmsr.h.

#define FUNCTION_FLUSH_ADAPTER_CACHE   0x0809

Definition at line 121 of file arcmsr.h.

#define FUNCTION_GET_FIRMWARE_STATUS   0x080A

Definition at line 122 of file arcmsr.h.

#define FUNCTION_HARDWARE_RESET   0x080B

Definition at line 123 of file arcmsr.h.

#define FUNCTION_READ_RQBUFFER   0x0801

Definition at line 113 of file arcmsr.h.

#define FUNCTION_RETURN_CODE_3F   0x0806

Definition at line 118 of file arcmsr.h.

#define FUNCTION_SAY_GOODBYE   0x0808

Definition at line 120 of file arcmsr.h.

#define FUNCTION_SAY_HELLO   0x0807

Definition at line 119 of file arcmsr.h.

#define FUNCTION_WRITE_WQBUFFER   0x0802

Definition at line 114 of file arcmsr.h.

#define FW_BOG   0x0001

Definition at line 593 of file arcmsr.h.

#define FW_DEADLOCK   0x0010

Definition at line 594 of file arcmsr.h.

#define FW_NORMAL   0x0000

Definition at line 592 of file arcmsr.h.

#define IS_DMA64   (sizeof(dma_addr_t) == 8)

Definition at line 153 of file arcmsr.h.

#define IS_SG64_ADDR   0x01000000 /* bit24 */

Definition at line 154 of file arcmsr.h.

#define PCI_DEVICE_ID_ARECA_1880   0x1880

Definition at line 68 of file arcmsr.h.

#define SCSI_SENSE_CURRENT_ERRORS   0x70

Definition at line 640 of file arcmsr.h.

#define SCSI_SENSE_DEFERRED_ERRORS   0x71

Definition at line 641 of file arcmsr.h.

Function Documentation

struct SG32ENTRY __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

int arcmsr_alloc_sysfs_attr ( struct AdapterControlBlock )

Definition at line 218 of file arcmsr_attr.c.

void arcmsr_free_sysfs_attr ( struct AdapterControlBlock acb)

Definition at line 247 of file arcmsr_attr.c.

struct QBUFFER __iomem* arcmsr_get_iop_rqbuffer ( struct AdapterControlBlock )
read

Definition at line 1326 of file arcmsr_hba.c.

void arcmsr_iop_message_read ( struct AdapterControlBlock )

Definition at line 1271 of file arcmsr_hba.c.

void arcmsr_post_ioctldata2iop ( struct AdapterControlBlock )

Definition at line 1698 of file arcmsr_hba.c.

Variable Documentation

Definition at line 161 of file arcmsr.h.

__le32 addresshigh

Definition at line 168 of file arcmsr.h.

struct device_attribute * arcmsr_host_attrs
Initial value:
= {
&dev_attr_host_driver_version,
&dev_attr_host_driver_posted_cmd,
&dev_attr_host_driver_reset,
&dev_attr_host_driver_abort,
&dev_attr_host_fw_model,
&dev_attr_host_fw_version,
&dev_attr_host_fw_request_len,
&dev_attr_host_fw_numbers_queue,
&dev_attr_host_fw_sdram_size,
&dev_attr_host_fw_hd_channels,
}

Definition at line 390 of file arcmsr_attr.c.

__le32 length

Definition at line 160 of file arcmsr.h.