Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
3w-9xxx.h File Reference

Go to the source code of this file.

Data Structures

struct  TAG_twa_message_type
 
struct  TAG_TW_SG_Entry
 
struct  TW_Command
 
struct  TAG_TW_Command_Apache
 
struct  TAG_TW_Command_Apache_Header
 
struct  TAG_TW_Command_Full
 
struct  TAG_TW_Initconnect
 
struct  TAG_TW_Event
 
struct  TAG_TW_Ioctl_Driver_Command
 
struct  TAG_TW_Ioctl_Apache
 
struct  TAG_TW_Lock
 
struct  TW_Param_Apache
 
union  TAG_TW_Response_Queue
 
struct  TAG_TW_Compatibility_Info
 
struct  TAG_TW_Device_Extension
 

Macros

#define TW_CONTROL_CLEAR_HOST_INTERRUPT   0x00080000
 
#define TW_CONTROL_CLEAR_ATTENTION_INTERRUPT   0x00040000
 
#define TW_CONTROL_MASK_COMMAND_INTERRUPT   0x00020000
 
#define TW_CONTROL_MASK_RESPONSE_INTERRUPT   0x00010000
 
#define TW_CONTROL_UNMASK_COMMAND_INTERRUPT   0x00008000
 
#define TW_CONTROL_UNMASK_RESPONSE_INTERRUPT   0x00004000
 
#define TW_CONTROL_CLEAR_ERROR_STATUS   0x00000200
 
#define TW_CONTROL_ISSUE_SOFT_RESET   0x00000100
 
#define TW_CONTROL_ENABLE_INTERRUPTS   0x00000080
 
#define TW_CONTROL_DISABLE_INTERRUPTS   0x00000040
 
#define TW_CONTROL_ISSUE_HOST_INTERRUPT   0x00000020
 
#define TW_CONTROL_CLEAR_PARITY_ERROR   0x00800000
 
#define TW_CONTROL_CLEAR_QUEUE_ERROR   0x00400000
 
#define TW_CONTROL_CLEAR_PCI_ABORT   0x00100000
 
#define TW_STATUS_MAJOR_VERSION_MASK   0xF0000000
 
#define TW_STATUS_MINOR_VERSION_MASK   0x0F000000
 
#define TW_STATUS_PCI_PARITY_ERROR   0x00800000
 
#define TW_STATUS_QUEUE_ERROR   0x00400000
 
#define TW_STATUS_MICROCONTROLLER_ERROR   0x00200000
 
#define TW_STATUS_PCI_ABORT   0x00100000
 
#define TW_STATUS_HOST_INTERRUPT   0x00080000
 
#define TW_STATUS_ATTENTION_INTERRUPT   0x00040000
 
#define TW_STATUS_COMMAND_INTERRUPT   0x00020000
 
#define TW_STATUS_RESPONSE_INTERRUPT   0x00010000
 
#define TW_STATUS_COMMAND_QUEUE_FULL   0x00008000
 
#define TW_STATUS_RESPONSE_QUEUE_EMPTY   0x00004000
 
#define TW_STATUS_MICROCONTROLLER_READY   0x00002000
 
#define TW_STATUS_COMMAND_QUEUE_EMPTY   0x00001000
 
#define TW_STATUS_EXPECTED_BITS   0x00002000
 
#define TW_STATUS_UNEXPECTED_BITS   0x00F00000
 
#define TW_STATUS_VALID_INTERRUPT   0x00DF0000
 
#define TW_PCI_CLEAR_PARITY_ERRORS   0xc100
 
#define TW_PCI_CLEAR_PCI_ABORT   0x2000
 
#define TW_OP_INIT_CONNECTION   0x1
 
#define TW_OP_GET_PARAM   0x12
 
#define TW_OP_SET_PARAM   0x13
 
#define TW_OP_EXECUTE_SCSI   0x10
 
#define TW_OP_DOWNLOAD_FIRMWARE   0x16
 
#define TW_OP_RESET   0x1C
 
#define TW_AEN_QUEUE_EMPTY   0x0000
 
#define TW_AEN_SOFT_RESET   0x0001
 
#define TW_AEN_SYNC_TIME_WITH_HOST   0x031
 
#define TW_AEN_SEVERITY_ERROR   0x1
 
#define TW_AEN_SEVERITY_DEBUG   0x4
 
#define TW_AEN_NOT_RETRIEVED   0x1
 
#define TW_AEN_RETRIEVED   0x2
 
#define TW_S_INITIAL   0x1 /* Initial state */
 
#define TW_S_STARTED   0x2 /* Id in use */
 
#define TW_S_POSTED   0x4 /* Posted to the controller */
 
#define TW_S_PENDING   0x8 /* Waiting to be posted in isr */
 
#define TW_S_COMPLETED   0x10 /* Completed by isr */
 
#define TW_S_FINISHED   0x20 /* I/O completely done */
 
#define TW_9000_ARCH_ID   0x5
 
#define TW_CURRENT_DRIVER_SRL   35
 
#define TW_CURRENT_DRIVER_BUILD   0
 
#define TW_CURRENT_DRIVER_BRANCH   0
 
#define TW_PHASE_INITIAL   0
 
#define TW_PHASE_SINGLE   1
 
#define TW_PHASE_SGLIST   2
 
#define TW_9550SX_DRAIN_COMPLETED   0xFFFF
 
#define TW_SECTOR_SIZE   512
 
#define TW_ALIGNMENT_9000   4 /* 4 bytes */
 
#define TW_ALIGNMENT_9000_SGL   0x3
 
#define TW_MAX_UNITS   16
 
#define TW_MAX_UNITS_9650SE   32
 
#define TW_INIT_MESSAGE_CREDITS   0x100
 
#define TW_INIT_COMMAND_PACKET_SIZE   0x3
 
#define TW_INIT_COMMAND_PACKET_SIZE_EXTENDED   0x6
 
#define TW_EXTENDED_INIT_CONNECT   0x2
 
#define TW_BUNDLED_FW_SAFE_TO_FLASH   0x4
 
#define TW_CTLR_FW_RECOMMENDS_FLASH   0x8
 
#define TW_CTLR_FW_COMPATIBLE   0x2
 
#define TW_BASE_FW_SRL   24
 
#define TW_BASE_FW_BRANCH   0
 
#define TW_BASE_FW_BUILD   1
 
#define TW_FW_SRL_LUNS_SUPPORTED   28
 
#define TW_Q_LENGTH   256
 
#define TW_Q_START   0
 
#define TW_MAX_SLOT   32
 
#define TW_MAX_RESET_TRIES   2
 
#define TW_MAX_CMDS_PER_LUN   254
 
#define TW_MAX_RESPONSE_DRAIN   256
 
#define TW_MAX_AEN_DRAIN   255
 
#define TW_IN_RESET   2
 
#define TW_USING_MSI   3
 
#define TW_IN_ATTENTION_LOOP   4
 
#define TW_MAX_SECTORS   256
 
#define TW_AEN_WAIT_TIME   1000
 
#define TW_IOCTL_WAIT_TIME   (1 * HZ) /* 1 second */
 
#define TW_MAX_CDB_LEN   16
 
#define TW_ISR_DONT_COMPLETE   2
 
#define TW_ISR_DONT_RESULT   3
 
#define TW_IOCTL_CHRDEV_TIMEOUT   60 /* 60 seconds */
 
#define TW_IOCTL_CHRDEV_FREE   -1
 
#define TW_COMMAND_OFFSET   128 /* 128 bytes */
 
#define TW_VERSION_TABLE   0x0402
 
#define TW_TIMEKEEP_TABLE   0x040A
 
#define TW_INFORMATION_TABLE   0x0403
 
#define TW_PARAM_FWVER   3
 
#define TW_PARAM_FWVER_LENGTH   16
 
#define TW_PARAM_BIOSVER   4
 
#define TW_PARAM_BIOSVER_LENGTH   16
 
#define TW_PARAM_PORTCOUNT   3
 
#define TW_PARAM_PORTCOUNT_LENGTH   1
 
#define TW_MIN_SGL_LENGTH   0x200 /* 512 bytes */
 
#define TW_MAX_SENSE_LENGTH   256
 
#define TW_EVENT_SOURCE_AEN   0x1000
 
#define TW_EVENT_SOURCE_COMMAND   0x1001
 
#define TW_EVENT_SOURCE_PCHIP   0x1002
 
#define TW_EVENT_SOURCE_DRIVER   0x1003
 
#define TW_IOCTL_GET_COMPATIBILITY_INFO   0x101
 
#define TW_IOCTL_GET_LAST_EVENT   0x102
 
#define TW_IOCTL_GET_FIRST_EVENT   0x103
 
#define TW_IOCTL_GET_NEXT_EVENT   0x104
 
#define TW_IOCTL_GET_PREVIOUS_EVENT   0x105
 
#define TW_IOCTL_GET_LOCK   0x106
 
#define TW_IOCTL_RELEASE_LOCK   0x107
 
#define TW_IOCTL_FIRMWARE_PASS_THROUGH   0x108
 
#define TW_IOCTL_ERROR_STATUS_NOT_LOCKED   0x1001
 
#define TW_IOCTL_ERROR_STATUS_LOCKED   0x1002
 
#define TW_IOCTL_ERROR_STATUS_NO_MORE_EVENTS   0x1003
 
#define TW_IOCTL_ERROR_STATUS_AEN_CLOBBER   0x1004
 
#define TW_IOCTL_ERROR_OS_EFAULT   -EFAULT
 
#define TW_IOCTL_ERROR_OS_EINTR   -EINTR
 
#define TW_IOCTL_ERROR_OS_EINVAL   -EINVAL
 
#define TW_IOCTL_ERROR_OS_ENOMEM   -ENOMEM
 
#define TW_IOCTL_ERROR_OS_ERESTARTSYS   -ERESTARTSYS
 
#define TW_IOCTL_ERROR_OS_EIO   -EIO
 
#define TW_IOCTL_ERROR_OS_ENOTTY   -ENOTTY
 
#define TW_IOCTL_ERROR_OS_ENODEV   -ENODEV
 
#define TW_ALLOCATION_LENGTH   128
 
#define TW_SENSE_DATA_LENGTH   18
 
#define TW_STATUS_CHECK_CONDITION   2
 
#define TW_ERROR_LOGICAL_UNIT_NOT_SUPPORTED   0x10a
 
#define TW_ERROR_UNIT_OFFLINE   0x128
 
#define TW_MESSAGE_SOURCE_CONTROLLER_ERROR   3
 
#define TW_MESSAGE_SOURCE_CONTROLLER_EVENT   4
 
#define TW_MESSAGE_SOURCE_LINUX_DRIVER   6
 
#define TW_DRIVER   TW_MESSAGE_SOURCE_LINUX_DRIVER
 
#define TW_MESSAGE_SOURCE_LINUX_OS   9
 
#define TW_OS   TW_MESSAGE_SOURCE_LINUX_OS
 
#define PCI_DEVICE_ID_3WARE_9000   0x1002
 
#define PCI_DEVICE_ID_3WARE_9550SX   0x1003
 
#define PCI_DEVICE_ID_3WARE_9650SE   0x1004
 
#define PCI_DEVICE_ID_3WARE_9690SA   0x1005
 
#define TW_OPRES_IN(x, y)   ((x << 5) | (y & 0x1f))
 
#define TW_OP_OUT(x)   (x & 0x1f)
 
#define TW_OPSGL_IN(x, y)   ((x << 5) | (y & 0x1f))
 
#define TW_SGL_OUT(x)   ((x >> 5) & 0x7)
 
#define TW_SEV_OUT(x)   (x & 0x7)
 
#define TW_RESID_OUT(x)   ((x >> 4) & 0xff)
 
#define TW_REQ_LUN_IN(lun, request_id)   (((lun << 12) & 0xf000) | (request_id & 0xfff))
 
#define TW_LUN_OUT(lun)   ((lun >> 12) & 0xf)
 
#define TW_CONTROL_REG_ADDR(x)   (x->base_addr)
 
#define TW_STATUS_REG_ADDR(x)   ((unsigned char __iomem *)x->base_addr + 0x4)
 
#define TW_COMMAND_QUEUE_REG_ADDR(x)   (sizeof(dma_addr_t) > 4 ? ((unsigned char __iomem *)x->base_addr + 0x20) : ((unsigned char __iomem *)x->base_addr + 0x8))
 
#define TW_COMMAND_QUEUE_REG_ADDR_LARGE(x)   ((unsigned char __iomem *)x->base_addr + 0x20)
 
#define TW_RESPONSE_QUEUE_REG_ADDR(x)   ((unsigned char __iomem *)x->base_addr + 0xC)
 
#define TW_RESPONSE_QUEUE_REG_ADDR_LARGE(x)   ((unsigned char __iomem *)x->base_addr + 0x30)
 
#define TW_CLEAR_ALL_INTERRUPTS(x)   (writel(TW_STATUS_VALID_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
 
#define TW_CLEAR_ATTENTION_INTERRUPT(x)   (writel(TW_CONTROL_CLEAR_ATTENTION_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
 
#define TW_CLEAR_HOST_INTERRUPT(x)   (writel(TW_CONTROL_CLEAR_HOST_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
 
#define TW_DISABLE_INTERRUPTS(x)   (writel(TW_CONTROL_DISABLE_INTERRUPTS, TW_CONTROL_REG_ADDR(x)))
 
#define TW_ENABLE_AND_CLEAR_INTERRUPTS(x)   (writel(TW_CONTROL_CLEAR_ATTENTION_INTERRUPT | TW_CONTROL_UNMASK_RESPONSE_INTERRUPT | TW_CONTROL_ENABLE_INTERRUPTS, TW_CONTROL_REG_ADDR(x)))
 
#define TW_MASK_COMMAND_INTERRUPT(x)   (writel(TW_CONTROL_MASK_COMMAND_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
 
#define TW_UNMASK_COMMAND_INTERRUPT(x)   (writel(TW_CONTROL_UNMASK_COMMAND_INTERRUPT, TW_CONTROL_REG_ADDR(x)))
 
#define TW_SOFT_RESET(x)
 
#define TW_PRINTK(h, a, b, c)
 
#define TW_MAX_LUNS(srl)   (srl < TW_FW_SRL_LUNS_SUPPORTED ? 1 : 16)
 
#define TW_COMMAND_SIZE   (sizeof(dma_addr_t) > 4 ? 5 : 4)
 
#define TW_APACHE_MAX_SGL_LENGTH   (sizeof(dma_addr_t) > 4 ? 72 : 109)
 
#define TW_ESCALADE_MAX_SGL_LENGTH   (sizeof(dma_addr_t) > 4 ? 41 : 62)
 
#define TW_PADDING_LENGTH   (sizeof(dma_addr_t) > 4 ? 8 : 0)
 
#define TW_CPU_TO_SGL(x)   (sizeof(dma_addr_t) > 4 ? cpu_to_le64(x) : cpu_to_le32(x))
 

Typedefs

typedef struct TAG_twa_message_type twa_message_type
 
typedef struct TAG_TW_SG_Entry TW_SG_Entry
 
typedef struct TW_Command TW_Command
 
typedef struct
TAG_TW_Command_Apache 
TW_Command_Apache
 
typedef struct
TAG_TW_Command_Apache_Header 
TW_Command_Apache_Header
 
typedef struct TAG_TW_Command_Full TW_Command_Full
 
typedef struct TAG_TW_Initconnect TW_Initconnect
 
typedef struct TAG_TW_Event TW_Event
 
typedef struct
TAG_TW_Ioctl_Driver_Command 
TW_Ioctl_Driver_Command
 
typedef struct TAG_TW_Ioctl_Apache TW_Ioctl_Buf_Apache
 
typedef struct TAG_TW_Lock TW_Lock
 
typedef struct TW_Param_ApachePTW_Param_Apache
 
typedef union TAG_TW_Response_Queue TW_Response_Queue
 
typedef struct
TAG_TW_Compatibility_Info 
TW_Compatibility_Info
 
typedef struct
TAG_TW_Device_Extension 
TW_Device_Extension
 

Macro Definition Documentation

#define PCI_DEVICE_ID_3WARE_9000   0x1002

Definition at line 416 of file 3w-9xxx.h.

#define PCI_DEVICE_ID_3WARE_9550SX   0x1003

Definition at line 419 of file 3w-9xxx.h.

#define PCI_DEVICE_ID_3WARE_9650SE   0x1004

Definition at line 422 of file 3w-9xxx.h.

#define PCI_DEVICE_ID_3WARE_9690SA   0x1005

Definition at line 425 of file 3w-9xxx.h.

#define TW_9000_ARCH_ID   0x5

Definition at line 322 of file 3w-9xxx.h.

#define TW_9550SX_DRAIN_COMPLETED   0xFFFF

Definition at line 333 of file 3w-9xxx.h.

#define TW_AEN_NOT_RETRIEVED   0x1

Definition at line 310 of file 3w-9xxx.h.

#define TW_AEN_QUEUE_EMPTY   0x0000

Definition at line 305 of file 3w-9xxx.h.

#define TW_AEN_RETRIEVED   0x2

Definition at line 311 of file 3w-9xxx.h.

#define TW_AEN_SEVERITY_DEBUG   0x4

Definition at line 309 of file 3w-9xxx.h.

#define TW_AEN_SEVERITY_ERROR   0x1

Definition at line 308 of file 3w-9xxx.h.

#define TW_AEN_SOFT_RESET   0x0001

Definition at line 306 of file 3w-9xxx.h.

#define TW_AEN_SYNC_TIME_WITH_HOST   0x031

Definition at line 307 of file 3w-9xxx.h.

#define TW_AEN_WAIT_TIME   1000

Definition at line 361 of file 3w-9xxx.h.

#define TW_ALIGNMENT_9000   4 /* 4 bytes */

Definition at line 335 of file 3w-9xxx.h.

#define TW_ALIGNMENT_9000_SGL   0x3

Definition at line 336 of file 3w-9xxx.h.

#define TW_ALLOCATION_LENGTH   128

Definition at line 404 of file 3w-9xxx.h.

#define TW_APACHE_MAX_SGL_LENGTH   (sizeof(dma_addr_t) > 4 ? 72 : 109)

Definition at line 477 of file 3w-9xxx.h.

#define TW_BASE_FW_BRANCH   0

Definition at line 347 of file 3w-9xxx.h.

#define TW_BASE_FW_BUILD   1

Definition at line 348 of file 3w-9xxx.h.

#define TW_BASE_FW_SRL   24

Definition at line 346 of file 3w-9xxx.h.

#define TW_BUNDLED_FW_SAFE_TO_FLASH   0x4

Definition at line 343 of file 3w-9xxx.h.

#define TW_CLEAR_ALL_INTERRUPTS (   x)    (writel(TW_STATUS_VALID_INTERRUPT, TW_CONTROL_REG_ADDR(x)))

Definition at line 455 of file 3w-9xxx.h.

#define TW_CLEAR_ATTENTION_INTERRUPT (   x)    (writel(TW_CONTROL_CLEAR_ATTENTION_INTERRUPT, TW_CONTROL_REG_ADDR(x)))

Definition at line 456 of file 3w-9xxx.h.

#define TW_CLEAR_HOST_INTERRUPT (   x)    (writel(TW_CONTROL_CLEAR_HOST_INTERRUPT, TW_CONTROL_REG_ADDR(x)))

Definition at line 457 of file 3w-9xxx.h.

#define TW_COMMAND_OFFSET   128 /* 128 bytes */

Definition at line 368 of file 3w-9xxx.h.

#define TW_COMMAND_QUEUE_REG_ADDR (   x)    (sizeof(dma_addr_t) > 4 ? ((unsigned char __iomem *)x->base_addr + 0x20) : ((unsigned char __iomem *)x->base_addr + 0x8))

Definition at line 451 of file 3w-9xxx.h.

#define TW_COMMAND_QUEUE_REG_ADDR_LARGE (   x)    ((unsigned char __iomem *)x->base_addr + 0x20)

Definition at line 452 of file 3w-9xxx.h.

#define TW_COMMAND_SIZE   (sizeof(dma_addr_t) > 4 ? 5 : 4)

Definition at line 476 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_ATTENTION_INTERRUPT   0x00040000

Definition at line 259 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_ERROR_STATUS   0x00000200

Definition at line 264 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_HOST_INTERRUPT   0x00080000

Definition at line 258 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_PARITY_ERROR   0x00800000

Definition at line 269 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_PCI_ABORT   0x00100000

Definition at line 271 of file 3w-9xxx.h.

#define TW_CONTROL_CLEAR_QUEUE_ERROR   0x00400000

Definition at line 270 of file 3w-9xxx.h.

#define TW_CONTROL_DISABLE_INTERRUPTS   0x00000040

Definition at line 267 of file 3w-9xxx.h.

#define TW_CONTROL_ENABLE_INTERRUPTS   0x00000080

Definition at line 266 of file 3w-9xxx.h.

#define TW_CONTROL_ISSUE_HOST_INTERRUPT   0x00000020

Definition at line 268 of file 3w-9xxx.h.

#define TW_CONTROL_ISSUE_SOFT_RESET   0x00000100

Definition at line 265 of file 3w-9xxx.h.

#define TW_CONTROL_MASK_COMMAND_INTERRUPT   0x00020000

Definition at line 260 of file 3w-9xxx.h.

#define TW_CONTROL_MASK_RESPONSE_INTERRUPT   0x00010000

Definition at line 261 of file 3w-9xxx.h.

#define TW_CONTROL_REG_ADDR (   x)    (x->base_addr)

Definition at line 449 of file 3w-9xxx.h.

#define TW_CONTROL_UNMASK_COMMAND_INTERRUPT   0x00008000

Definition at line 262 of file 3w-9xxx.h.

#define TW_CONTROL_UNMASK_RESPONSE_INTERRUPT   0x00004000

Definition at line 263 of file 3w-9xxx.h.

#define TW_CPU_TO_SGL (   x)    (sizeof(dma_addr_t) > 4 ? cpu_to_le64(x) : cpu_to_le32(x))

Definition at line 480 of file 3w-9xxx.h.

#define TW_CTLR_FW_COMPATIBLE   0x2

Definition at line 345 of file 3w-9xxx.h.

#define TW_CTLR_FW_RECOMMENDS_FLASH   0x8

Definition at line 344 of file 3w-9xxx.h.

#define TW_CURRENT_DRIVER_BRANCH   0

Definition at line 325 of file 3w-9xxx.h.

#define TW_CURRENT_DRIVER_BUILD   0

Definition at line 324 of file 3w-9xxx.h.

#define TW_CURRENT_DRIVER_SRL   35

Definition at line 323 of file 3w-9xxx.h.

#define TW_DISABLE_INTERRUPTS (   x)    (writel(TW_CONTROL_DISABLE_INTERRUPTS, TW_CONTROL_REG_ADDR(x)))

Definition at line 458 of file 3w-9xxx.h.

#define TW_DRIVER   TW_MESSAGE_SOURCE_LINUX_DRIVER

Definition at line 412 of file 3w-9xxx.h.

Definition at line 459 of file 3w-9xxx.h.

#define TW_ERROR_LOGICAL_UNIT_NOT_SUPPORTED   0x10a

Definition at line 407 of file 3w-9xxx.h.

#define TW_ERROR_UNIT_OFFLINE   0x128

Definition at line 408 of file 3w-9xxx.h.

#define TW_ESCALADE_MAX_SGL_LENGTH   (sizeof(dma_addr_t) > 4 ? 41 : 62)

Definition at line 478 of file 3w-9xxx.h.

#define TW_EVENT_SOURCE_AEN   0x1000

Definition at line 380 of file 3w-9xxx.h.

#define TW_EVENT_SOURCE_COMMAND   0x1001

Definition at line 381 of file 3w-9xxx.h.

#define TW_EVENT_SOURCE_DRIVER   0x1003

Definition at line 383 of file 3w-9xxx.h.

#define TW_EVENT_SOURCE_PCHIP   0x1002

Definition at line 382 of file 3w-9xxx.h.

#define TW_EXTENDED_INIT_CONNECT   0x2

Definition at line 342 of file 3w-9xxx.h.

#define TW_FW_SRL_LUNS_SUPPORTED   28

Definition at line 349 of file 3w-9xxx.h.

#define TW_IN_ATTENTION_LOOP   4

Definition at line 359 of file 3w-9xxx.h.

#define TW_IN_RESET   2

Definition at line 357 of file 3w-9xxx.h.

#define TW_INFORMATION_TABLE   0x0403

Definition at line 371 of file 3w-9xxx.h.

#define TW_INIT_COMMAND_PACKET_SIZE   0x3

Definition at line 340 of file 3w-9xxx.h.

#define TW_INIT_COMMAND_PACKET_SIZE_EXTENDED   0x6

Definition at line 341 of file 3w-9xxx.h.

#define TW_INIT_MESSAGE_CREDITS   0x100

Definition at line 339 of file 3w-9xxx.h.

#define TW_IOCTL_CHRDEV_FREE   -1

Definition at line 367 of file 3w-9xxx.h.

#define TW_IOCTL_CHRDEV_TIMEOUT   60 /* 60 seconds */

Definition at line 366 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_EFAULT   -EFAULT

Definition at line 396 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_EINTR   -EINTR

Definition at line 397 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_EINVAL   -EINVAL

Definition at line 398 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_EIO   -EIO

Definition at line 401 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_ENODEV   -ENODEV

Definition at line 403 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_ENOMEM   -ENOMEM

Definition at line 399 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_ENOTTY   -ENOTTY

Definition at line 402 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_OS_ERESTARTSYS   -ERESTARTSYS

Definition at line 400 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_STATUS_AEN_CLOBBER   0x1004

Definition at line 395 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_STATUS_LOCKED   0x1002

Definition at line 393 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_STATUS_NO_MORE_EVENTS   0x1003

Definition at line 394 of file 3w-9xxx.h.

#define TW_IOCTL_ERROR_STATUS_NOT_LOCKED   0x1001

Definition at line 392 of file 3w-9xxx.h.

#define TW_IOCTL_FIRMWARE_PASS_THROUGH   0x108

Definition at line 391 of file 3w-9xxx.h.

#define TW_IOCTL_GET_COMPATIBILITY_INFO   0x101

Definition at line 384 of file 3w-9xxx.h.

#define TW_IOCTL_GET_FIRST_EVENT   0x103

Definition at line 386 of file 3w-9xxx.h.

#define TW_IOCTL_GET_LAST_EVENT   0x102

Definition at line 385 of file 3w-9xxx.h.

#define TW_IOCTL_GET_LOCK   0x106

Definition at line 389 of file 3w-9xxx.h.

#define TW_IOCTL_GET_NEXT_EVENT   0x104

Definition at line 387 of file 3w-9xxx.h.

#define TW_IOCTL_GET_PREVIOUS_EVENT   0x105

Definition at line 388 of file 3w-9xxx.h.

#define TW_IOCTL_RELEASE_LOCK   0x107

Definition at line 390 of file 3w-9xxx.h.

#define TW_IOCTL_WAIT_TIME   (1 * HZ) /* 1 second */

Definition at line 362 of file 3w-9xxx.h.

#define TW_ISR_DONT_COMPLETE   2

Definition at line 364 of file 3w-9xxx.h.

#define TW_ISR_DONT_RESULT   3

Definition at line 365 of file 3w-9xxx.h.

#define TW_LUN_OUT (   lun)    ((lun >> 12) & 0xf)

Definition at line 446 of file 3w-9xxx.h.

#define TW_MASK_COMMAND_INTERRUPT (   x)    (writel(TW_CONTROL_MASK_COMMAND_INTERRUPT, TW_CONTROL_REG_ADDR(x)))

Definition at line 460 of file 3w-9xxx.h.

#define TW_MAX_AEN_DRAIN   255

Definition at line 356 of file 3w-9xxx.h.

#define TW_MAX_CDB_LEN   16

Definition at line 363 of file 3w-9xxx.h.

#define TW_MAX_CMDS_PER_LUN   254

Definition at line 354 of file 3w-9xxx.h.

#define TW_MAX_LUNS (   srl)    (srl < TW_FW_SRL_LUNS_SUPPORTED ? 1 : 16)

Definition at line 475 of file 3w-9xxx.h.

#define TW_MAX_RESET_TRIES   2

Definition at line 353 of file 3w-9xxx.h.

#define TW_MAX_RESPONSE_DRAIN   256

Definition at line 355 of file 3w-9xxx.h.

#define TW_MAX_SECTORS   256

Definition at line 360 of file 3w-9xxx.h.

#define TW_MAX_SENSE_LENGTH   256

Definition at line 379 of file 3w-9xxx.h.

#define TW_MAX_SLOT   32

Definition at line 352 of file 3w-9xxx.h.

#define TW_MAX_UNITS   16

Definition at line 337 of file 3w-9xxx.h.

#define TW_MAX_UNITS_9650SE   32

Definition at line 338 of file 3w-9xxx.h.

#define TW_MESSAGE_SOURCE_CONTROLLER_ERROR   3

Definition at line 409 of file 3w-9xxx.h.

#define TW_MESSAGE_SOURCE_CONTROLLER_EVENT   4

Definition at line 410 of file 3w-9xxx.h.

#define TW_MESSAGE_SOURCE_LINUX_DRIVER   6

Definition at line 411 of file 3w-9xxx.h.

#define TW_MESSAGE_SOURCE_LINUX_OS   9

Definition at line 413 of file 3w-9xxx.h.

#define TW_MIN_SGL_LENGTH   0x200 /* 512 bytes */

Definition at line 378 of file 3w-9xxx.h.

#define TW_OP_DOWNLOAD_FIRMWARE   0x16

Definition at line 301 of file 3w-9xxx.h.

#define TW_OP_EXECUTE_SCSI   0x10

Definition at line 300 of file 3w-9xxx.h.

#define TW_OP_GET_PARAM   0x12

Definition at line 298 of file 3w-9xxx.h.

#define TW_OP_INIT_CONNECTION   0x1

Definition at line 297 of file 3w-9xxx.h.

#define TW_OP_OUT (   x)    (x & 0x1f)

Definition at line 432 of file 3w-9xxx.h.

#define TW_OP_RESET   0x1C

Definition at line 302 of file 3w-9xxx.h.

#define TW_OP_SET_PARAM   0x13

Definition at line 299 of file 3w-9xxx.h.

#define TW_OPRES_IN (   x,
  y 
)    ((x << 5) | (y & 0x1f))

Definition at line 431 of file 3w-9xxx.h.

#define TW_OPSGL_IN (   x,
  y 
)    ((x << 5) | (y & 0x1f))

Definition at line 435 of file 3w-9xxx.h.

#define TW_OS   TW_MESSAGE_SOURCE_LINUX_OS

Definition at line 414 of file 3w-9xxx.h.

#define TW_PADDING_LENGTH   (sizeof(dma_addr_t) > 4 ? 8 : 0)

Definition at line 479 of file 3w-9xxx.h.

#define TW_PARAM_BIOSVER   4

Definition at line 374 of file 3w-9xxx.h.

#define TW_PARAM_BIOSVER_LENGTH   16

Definition at line 375 of file 3w-9xxx.h.

#define TW_PARAM_FWVER   3

Definition at line 372 of file 3w-9xxx.h.

#define TW_PARAM_FWVER_LENGTH   16

Definition at line 373 of file 3w-9xxx.h.

#define TW_PARAM_PORTCOUNT   3

Definition at line 376 of file 3w-9xxx.h.

#define TW_PARAM_PORTCOUNT_LENGTH   1

Definition at line 377 of file 3w-9xxx.h.

#define TW_PCI_CLEAR_PARITY_ERRORS   0xc100

Definition at line 293 of file 3w-9xxx.h.

#define TW_PCI_CLEAR_PCI_ABORT   0x2000

Definition at line 294 of file 3w-9xxx.h.

#define TW_PHASE_INITIAL   0

Definition at line 328 of file 3w-9xxx.h.

#define TW_PHASE_SGLIST   2

Definition at line 330 of file 3w-9xxx.h.

#define TW_PHASE_SINGLE   1

Definition at line 329 of file 3w-9xxx.h.

#define TW_PRINTK (   h,
  a,
  b,
  c 
)
Value:
{ \
if (h) \
printk(KERN_WARNING "3w-9xxx: scsi%d: ERROR: (0x%02X:0x%04X): %s.\n",h->host_no,a,b,c); \
printk(KERN_WARNING "3w-9xxx: ERROR: (0x%02X:0x%04X): %s.\n",a,b,c); \
}

Definition at line 469 of file 3w-9xxx.h.

#define TW_Q_LENGTH   256

Definition at line 350 of file 3w-9xxx.h.

#define TW_Q_START   0

Definition at line 351 of file 3w-9xxx.h.

#define TW_REQ_LUN_IN (   lun,
  request_id 
)    (((lun << 12) & 0xf000) | (request_id & 0xfff))

Definition at line 445 of file 3w-9xxx.h.

#define TW_RESID_OUT (   x)    ((x >> 4) & 0xff)

Definition at line 442 of file 3w-9xxx.h.

#define TW_RESPONSE_QUEUE_REG_ADDR (   x)    ((unsigned char __iomem *)x->base_addr + 0xC)

Definition at line 453 of file 3w-9xxx.h.

#define TW_RESPONSE_QUEUE_REG_ADDR_LARGE (   x)    ((unsigned char __iomem *)x->base_addr + 0x30)

Definition at line 454 of file 3w-9xxx.h.

#define TW_S_COMPLETED   0x10 /* Completed by isr */

Definition at line 318 of file 3w-9xxx.h.

#define TW_S_FINISHED   0x20 /* I/O completely done */

Definition at line 319 of file 3w-9xxx.h.

#define TW_S_INITIAL   0x1 /* Initial state */

Definition at line 314 of file 3w-9xxx.h.

#define TW_S_PENDING   0x8 /* Waiting to be posted in isr */

Definition at line 317 of file 3w-9xxx.h.

#define TW_S_POSTED   0x4 /* Posted to the controller */

Definition at line 316 of file 3w-9xxx.h.

#define TW_S_STARTED   0x2 /* Id in use */

Definition at line 315 of file 3w-9xxx.h.

#define TW_SECTOR_SIZE   512

Definition at line 334 of file 3w-9xxx.h.

#define TW_SENSE_DATA_LENGTH   18

Definition at line 405 of file 3w-9xxx.h.

#define TW_SEV_OUT (   x)    (x & 0x7)

Definition at line 439 of file 3w-9xxx.h.

#define TW_SGL_OUT (   x)    ((x >> 5) & 0x7)

Definition at line 436 of file 3w-9xxx.h.

#define TW_SOFT_RESET (   x)
#define TW_STATUS_ATTENTION_INTERRUPT   0x00040000

Definition at line 281 of file 3w-9xxx.h.

#define TW_STATUS_CHECK_CONDITION   2

Definition at line 406 of file 3w-9xxx.h.

#define TW_STATUS_COMMAND_INTERRUPT   0x00020000

Definition at line 282 of file 3w-9xxx.h.

#define TW_STATUS_COMMAND_QUEUE_EMPTY   0x00001000

Definition at line 287 of file 3w-9xxx.h.

#define TW_STATUS_COMMAND_QUEUE_FULL   0x00008000

Definition at line 284 of file 3w-9xxx.h.

#define TW_STATUS_EXPECTED_BITS   0x00002000

Definition at line 288 of file 3w-9xxx.h.

#define TW_STATUS_HOST_INTERRUPT   0x00080000

Definition at line 280 of file 3w-9xxx.h.

#define TW_STATUS_MAJOR_VERSION_MASK   0xF0000000

Definition at line 274 of file 3w-9xxx.h.

#define TW_STATUS_MICROCONTROLLER_ERROR   0x00200000

Definition at line 278 of file 3w-9xxx.h.

#define TW_STATUS_MICROCONTROLLER_READY   0x00002000

Definition at line 286 of file 3w-9xxx.h.

#define TW_STATUS_MINOR_VERSION_MASK   0x0F000000

Definition at line 275 of file 3w-9xxx.h.

#define TW_STATUS_PCI_ABORT   0x00100000

Definition at line 279 of file 3w-9xxx.h.

#define TW_STATUS_PCI_PARITY_ERROR   0x00800000

Definition at line 276 of file 3w-9xxx.h.

#define TW_STATUS_QUEUE_ERROR   0x00400000

Definition at line 277 of file 3w-9xxx.h.

#define TW_STATUS_REG_ADDR (   x)    ((unsigned char __iomem *)x->base_addr + 0x4)

Definition at line 450 of file 3w-9xxx.h.

#define TW_STATUS_RESPONSE_INTERRUPT   0x00010000

Definition at line 283 of file 3w-9xxx.h.

#define TW_STATUS_RESPONSE_QUEUE_EMPTY   0x00004000

Definition at line 285 of file 3w-9xxx.h.

#define TW_STATUS_UNEXPECTED_BITS   0x00F00000

Definition at line 289 of file 3w-9xxx.h.

#define TW_STATUS_VALID_INTERRUPT   0x00DF0000

Definition at line 290 of file 3w-9xxx.h.

#define TW_TIMEKEEP_TABLE   0x040A

Definition at line 370 of file 3w-9xxx.h.

#define TW_UNMASK_COMMAND_INTERRUPT (   x)    (writel(TW_CONTROL_UNMASK_COMMAND_INTERRUPT, TW_CONTROL_REG_ADDR(x)))

Definition at line 461 of file 3w-9xxx.h.

#define TW_USING_MSI   3

Definition at line 358 of file 3w-9xxx.h.

#define TW_VERSION_TABLE   0x0402

Definition at line 369 of file 3w-9xxx.h.

Typedef Documentation