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

Go to the source code of this file.

Data Structures

struct  asd_ddb_ssp_smp_target_port
 
struct  asd_ddb_stp_sata_target_port
 
struct  asd_ddb_init_port
 
struct  asd_ddb_sata_tag
 
struct  asd_ddb_sata_pm_table
 
struct  asd_ddb_sata_pm_port
 
struct  asd_ddb_seq_shared
 
struct  sg_el
 
struct  scb_header
 
struct  ssp_task_iu
 
struct  ssp_command_iu
 
struct  xfer_rdy_iu
 
struct  initiate_ssp_task
 
struct  initiate_ata_task
 
struct  initiate_smp_task
 
struct  control_phy
 
struct  control_ata_dev
 
struct  empty_scb
 
struct  initiate_link_adm
 
struct  copy_memory
 
struct  abort_task
 
struct  clear_nexus
 
struct  initiate_ssp_tmf
 
struct  send_prim
 
struct  ssp_targ_get_data
 
struct  scb
 
struct  done_list_struct
 
struct  asd_phy
 

Macros

#define ASD_MAX_DDBS   128
 
#define DDB_TP_CONN_TYPE   0x81 /* Initiator port and addr frame type 0x01 */
 
#define DDB_TYPE_UNUSED   0xFF
 
#define DDB_TYPE_TARGET   0xFE
 
#define DDB_TYPE_INITIATOR   0xFD
 
#define DDB_TYPE_PM_PORT   0xFC
 
#define CONCURRENT_CONN_SUPP   0x04
 
#define OPEN_REQUIRED   0x01
 
#define ITNL_TIMEOUT_CONST   0x7D0 /* 2 seconds */
 
#define SATA_MULTIPORT   0x80
 
#define SUPPORTS_AFFIL   0x40
 
#define STP_AFFIL_POL   0x20
 
#define STP_CL_POL_NO_TX   0x00
 
#define STP_CL_POL_BTW_CMDS   0x01
 
#define PM_PORT_MASK   0xF0
 
#define PM_PORT_SET   0x02
 
#define ASD_SG_EL_DS_MASK   0x30
 
#define ASD_SG_EL_DS_OCM   0x10
 
#define ASD_SG_EL_DS_HM   0x00
 
#define ASD_SG_EL_LIST_MASK   0xC0
 
#define ASD_SG_EL_LIST_EOL   0x40
 
#define ASD_SG_EL_LIST_EOS   0x80
 
#define INITIATE_SSP_TASK   0x00
 
#define INITIATE_LONG_SSP_TASK   0x01
 
#define INITIATE_BIDIR_SSP_TASK   0x02
 
#define SCB_ABORT_TASK   0x03
 
#define INITIATE_SSP_TMF   0x04
 
#define SSP_TARG_GET_DATA   0x05
 
#define SSP_TARG_GET_DATA_GOOD   0x06
 
#define SSP_TARG_SEND_RESP   0x07
 
#define QUERY_SSP_TASK   0x08
 
#define INITIATE_ATA_TASK   0x09
 
#define INITIATE_ATAPI_TASK   0x0a
 
#define CONTROL_ATA_DEV   0x0b
 
#define INITIATE_SMP_TASK   0x0c
 
#define SMP_TARG_SEND_RESP   0x0f
 
#define SSP_TARG_SEND_DATA   0x40
 
#define SSP_TARG_SEND_DATA_GOOD   0x41
 
#define CONTROL_PHY   0x80
 
#define SEND_PRIMITIVE   0x81
 
#define INITIATE_LINK_ADM_TASK   0x82
 
#define EMPTY_SCB   0xc0
 
#define INITIATE_SEQ_ADM_TASK   0xc1
 
#define EST_ICL_TARG_WINDOW   0xc2
 
#define COPY_MEM   0xc3
 
#define CLEAR_NEXUS   0xc4
 
#define INITIATE_DDB_ADM_TASK   0xc6
 
#define ESTABLISH_NEXUS_ESCB   0xd0
 
#define LUN_SIZE   8
 
#define EFB_MASK   0x80
 
#define TASK_PRIO_MASK   0x78
 
#define TASK_ATTR_MASK   0x07
 
#define DATA_DIR_NONE   0x00
 
#define DATA_DIR_IN   0x01
 
#define DATA_DIR_OUT   0x02
 
#define DATA_DIR_BYRECIPIENT   0x03
 
#define CSMI_TASK   0x40
 
#define DATA_XFER_MODE_DMA   0x10
 
#define ATA_Q_TYPE_MASK   0x08
 
#define ATA_Q_TYPE_UNTAGGED   0x00
 
#define ATA_Q_TYPE_NCQ   0x08
 
#define STP_AFFIL_POLICY   0x20
 
#define SET_AFFIL_POLICY   0x10
 
#define RET_PARTIAL_SGLIST   0x02
 
#define DISABLE_PHY   0x00
 
#define ENABLE_PHY   0x01
 
#define RELEASE_SPINUP_HOLD   0x02
 
#define ENABLE_PHY_NO_SAS_OOB   0x03
 
#define ENABLE_PHY_NO_SATA_OOB   0x04
 
#define PHY_NO_OP   0x05
 
#define EXECUTE_HARD_RESET   0x81
 
#define DEV_PRES_TIMER_OVERRIDE_ENABLE   0x01
 
#define DISABLE_PHY_IF_OOB_FAILS   0x02
 
#define ASD_EDBS_PER_SCB   7
 
#define ASD_EDB_SIZE   (24+1024+4+16)
 
#define ELEMENT_NOT_VALID   0xC0
 
#define GET_LINK_ERROR_COUNT   0x00
 
#define RESET_LINK_ERROR_COUNT   0x01
 
#define ENABLE_NOTIFY_SPINUP_INTS   0x02
 
#define SUSPEND_DATA_TRANS   0x04
 
#define NEXUS_ADAPTER   0x00
 
#define NEXUS_PORT   0x01
 
#define NEXUS_I_T   0x02
 
#define NEXUS_I_T_L   0x03
 
#define NEXUS_TAG   0x04
 
#define NEXUS_TRANS_CX   0x05
 
#define NEXUS_SATA_TAG   0x06
 
#define NEXUS_T_L   0x07
 
#define NEXUS_L   0x08
 
#define NEXUS_T_TAG   0x09
 
#define SUSPEND_TX   0x80
 
#define RESUME_TX   0x40
 
#define SEND_Q   0x04
 
#define EXEC_Q   0x02
 
#define NOTINQ   0x01
 
#define OVERRIDE_ITNL_TIMER   8
 
#define XMTPSIZE_MASK   0xF0
 
#define XMTPSIZE_SINGLE   0x10
 
#define XMTPSIZE_REPEATED   0x20
 
#define XMTPSIZE_CONT   0x20
 
#define XMTPSIZE_TRIPLE   0x30
 
#define XMTPSIZE_REDUNDANT   0x60
 
#define XMTPSIZE_INF   0
 
#define XMTCONTEN   0x04
 
#define XMTPFRM   0x02 /* Transmit at the next frame boundary */
 
#define XMTPIMM   0x01 /* Transmit immediately */
 
#define TC_NO_ERROR   0x00
 
#define TC_UNDERRUN   0x01
 
#define TC_OVERRUN   0x02
 
#define TF_OPEN_TO   0x03
 
#define TF_OPEN_REJECT   0x04
 
#define TI_BREAK   0x05
 
#define TI_PROTO_ERR   0x06
 
#define TC_SSP_RESP   0x07
 
#define TI_PHY_DOWN   0x08
 
#define TF_PHY_DOWN   0x09
 
#define TC_LINK_ADM_RESP   0x0a
 
#define TC_CSMI   0x0b
 
#define TC_ATA_RESP   0x0c
 
#define TU_PHY_DOWN   0x0d
 
#define TU_BREAK   0x0e
 
#define TI_SATA_TO   0x0f
 
#define TI_NAK   0x10
 
#define TC_CONTROL_PHY   0x11
 
#define TF_BREAK   0x12
 
#define TC_RESUME   0x13
 
#define TI_ACK_NAK_TO   0x14
 
#define TF_SMPRSP_TO   0x15
 
#define TF_SMP_XMIT_RCV_ERR   0x16
 
#define TC_PARTIAL_SG_LIST   0x17
 
#define TU_ACK_NAK_TO   0x18
 
#define TU_SATA_TO   0x19
 
#define TF_NAK_RECV   0x1a
 
#define TA_I_T_NEXUS_LOSS   0x1b
 
#define TC_ATA_R_ERR_RECV   0x1c
 
#define TF_TMF_NO_CTX   0x1d
 
#define TA_ON_REQ   0x1e
 
#define TF_TMF_NO_TAG   0x1f
 
#define TF_TMF_TAG_FREE   0x20
 
#define TF_TMF_TASK_DONE   0x21
 
#define TF_TMF_NO_CONN_HANDLE   0x22
 
#define TC_TASK_CLEARED   0x23
 
#define TI_SYNCS_RECV   0x24
 
#define TU_SYNCS_RECV   0x25
 
#define TF_IRTT_TO   0x26
 
#define TF_NO_SMP_CONN   0x27
 
#define TF_IU_SHORT   0x28
 
#define TF_DATA_OFFS_ERR   0x29
 
#define TF_INV_CONN_HANDLE   0x2a
 
#define TF_REQUESTED_N_PENDING   0x2b
 
#define ESCB_RECVD   0xC0
 
#define DL_TOGGLE_MASK   0x01
 
#define ASD_SCB_SIZE   sizeof(struct scb)
 
#define ASD_DDB_SIZE   sizeof(struct asd_ddb_ssp_smp_target_port)
 
#define ASD_NOTIFY_ENABLE_SPINUP   0x10
 
#define ASD_NOTIFY_TIMEOUT   2500
 
#define ASD_NOTIFY_DOWN_COUNT   0
 
#define ASD_DEV_PRESENT_TIMEOUT   0x2710
 
#define ASD_SATA_INTERLOCK_TIMEOUT   0
 
#define ASD_STP_SHUTDOWN_TIMEOUT   0x0
 
#define ASD_SRST_ASSERT_TIMEOUT   0x05
 
#define ASD_RCV_FIS_TIMEOUT   0x01D905C0
 
#define ASD_ONE_MILLISEC_TIMEOUT   0x03e8
 
#define ASD_TEN_MILLISEC_TIMEOUT   0x2710
 
#define ASD_COMINIT_TIMEOUT   ASD_TEN_MILLISEC_TIMEOUT
 
#define ASD_SMP_RCV_TIMEOUT   0x000F4240
 

Functions

struct asd_ddb_ssp_smp_target_port __attribute__ ((packed))
 

Variables

u8 conn_type
 
u8 conn_rate
 
__be16 init_conn_tag
 
u8 dest_sas_addr [8]
 
__le16 send_queue_head
 
u8 sq_suspended
 
u8 ddb_type
 
__le16 _r_a
 
__be16 awt_def
 
u8 compat_features
 
u8 pathway_blocked_count
 
__be16 arb_wait_time
 
__be32 more_compat_features
 
u8 conn_mask
 
u8 flags
 
u16 _r_b
 
__le16 exec_queue_tail
 
__le16 send_queue_tail
 
__le16 sister_ddb
 
__le16 _r_c
 
u8 max_concurrent_conn
 
u8 num_concurrent_conn
 
u8 num_contexts
 
u8 _r_d
 
__le16 active_task_count
 
u8 _r_e [9]
 
u8 itnl_reason
 
__le16 _r_f
 
__le16 itnl_timeout
 
__le32 itnl_timestamp
 
u8 flags2
 
__le16 ata_cmd_scbptr
 
__le32 sata_tag_alloc_mask
 
__le32 sata_sactive
 
u8 num_sata_tags
 
u8 sata_status
 
u8 sata_ending_status
 
__le16 ncq_data_scb_ptr
 
__le16 init_resp_timeout
 
__le16 active_tasks
 
__le16 init_list
 
u8 max_conn_to [3]
 
__le16 bus_inact_to
 
__le16 itnl_to
 
__le16 scb_pointer [32]
 
__le16 ddb_pointer [16]
 
u8 pm_port_flags
 
__le16 parent_ddb
 
__le16 q_free_ddb_head
 
__le16 q_free_ddb_tail
 
__le16 q_free_ddb_cnt
 
__le16 q_used_ddb_head
 
__le16 q_used_ddb_tail
 
__le16 shared_mem_lock
 
__le16 smp_conn_tag
 
__le16 est_nexus_buf_cnt
 
__le16 est_nexus_buf_thresh
 
u8 settable_max_contexts
 
u8 conn_not_active
 
u8 phy_is_up
 
u8 port_map_by_links [8]
 
__le64 bus_addr
 
__le32 size
 
__le16 _r
 
u8 next_sg_offs
 
__le64 next_scb
 
__le16 index
 
u8 opcode
 
u8 lun [LUN_SIZE]
 
u8 tmf
 
__be16 tag
 
u8 efb_prio_attr
 
u8 add_cdb_len
 
union {
   u8   cdb [16]
 
   struct {
      __le64   long_cdb_addr
 
      __le32   long_cdb_size
 
      u8   _r_c [3]
 
      u8   eol_ds
 
   }   long_cdb
 
}; 
 
__be32 requested_offset
 
__be32 write_data_len
 
u8 proto_conn_rate
 
__le32 total_xfer_len
 
struct ssp_frame_hdr ssp_frame
 
struct ssp_command_iu ssp_cmd
 
__le16 sister_scb
 
__le16 conn_handle
 
u8 data_dir
 
u8 retry_count
 
struct sg_el sg_element [3]
 
struct host_to_dev_fis fis
 
__le32 data_offs
 
u8 atapi_packet [16]
 
u8 ata_flags
 
struct sg_el smp_req
 
struct sg_el smp_resp
 
u8 phy_id
 
u8 sub_func
 
u8 func_mask
 
u8 speed_mask
 
u8 hot_plug_delay
 
u8 port_type
 
__le32 timeout_override
 
u8 link_reset_retries
 
u8 num_valid
 
struct sg_el eb [ASD_EDBS_PER_SCB]
 
__le16 xfer_len
 
__le64 src_busaddr
 
u8 src_ds
 
__le64 dest_busaddr
 
u8 dest_ds
 
struct ssp_task_iu ssp_task
 
u8 nexus
 
__le16 context
 
u8 wait_transmit
 
u8 xmit_flags
 
u8 prim [4]
 
struct xfer_rdy_iu xfer_rdy
 
struct scb_header header
 
union {
   struct initiate_ssp_task   ssp_task
 
   struct initiate_ata_task   ata_task
 
   struct initiate_smp_task   smp_task
 
   struct control_phy   control_phy
 
   struct control_ata_dev   control_ata_dev
 
   struct empty_scb   escb
 
   struct initiate_link_adm   link_adm
 
   struct copy_memory   cp_mem
 
   struct abort_task   abort_task
 
   struct clear_nexus   clear_nexus
 
   struct initiate_ssp_tmf   ssp_tmf
 
}; 
 
u8 status_block [4]
 
u8 toggle
 
struct asd_phy __attribute__
 

Macro Definition Documentation

#define ASD_COMINIT_TIMEOUT   ASD_TEN_MILLISEC_TIMEOUT

Definition at line 782 of file aic94xx_sas.h.

#define ASD_DDB_SIZE   sizeof(struct asd_ddb_ssp_smp_target_port)

Definition at line 744 of file aic94xx_sas.h.

#define ASD_DEV_PRESENT_TIMEOUT   0x2710

Definition at line 762 of file aic94xx_sas.h.

#define ASD_EDB_SIZE   (24+1024+4+16)

Definition at line 487 of file aic94xx_sas.h.

#define ASD_EDBS_PER_SCB   7

Definition at line 485 of file aic94xx_sas.h.

#define ASD_MAX_DDBS   128

Definition at line 37 of file aic94xx_sas.h.

#define ASD_NOTIFY_DOWN_COUNT   0

Definition at line 759 of file aic94xx_sas.h.

#define ASD_NOTIFY_ENABLE_SPINUP   0x10

Definition at line 749 of file aic94xx_sas.h.

#define ASD_NOTIFY_TIMEOUT   2500

Definition at line 754 of file aic94xx_sas.h.

#define ASD_ONE_MILLISEC_TIMEOUT   0x03e8

Definition at line 778 of file aic94xx_sas.h.

#define ASD_RCV_FIS_TIMEOUT   0x01D905C0

Definition at line 776 of file aic94xx_sas.h.

#define ASD_SATA_INTERLOCK_TIMEOUT   0

Definition at line 764 of file aic94xx_sas.h.

#define ASD_SCB_SIZE   sizeof(struct scb)

Definition at line 743 of file aic94xx_sas.h.

#define ASD_SG_EL_DS_HM   0x00

Definition at line 281 of file aic94xx_sas.h.

#define ASD_SG_EL_DS_MASK   0x30

Definition at line 279 of file aic94xx_sas.h.

#define ASD_SG_EL_DS_OCM   0x10

Definition at line 280 of file aic94xx_sas.h.

#define ASD_SG_EL_LIST_EOL   0x40

Definition at line 283 of file aic94xx_sas.h.

#define ASD_SG_EL_LIST_EOS   0x80

Definition at line 284 of file aic94xx_sas.h.

#define ASD_SG_EL_LIST_MASK   0xC0

Definition at line 282 of file aic94xx_sas.h.

#define ASD_SMP_RCV_TIMEOUT   0x000F4240

Definition at line 785 of file aic94xx_sas.h.

#define ASD_SRST_ASSERT_TIMEOUT   0x05

Definition at line 773 of file aic94xx_sas.h.

#define ASD_STP_SHUTDOWN_TIMEOUT   0x0

Definition at line 770 of file aic94xx_sas.h.

#define ASD_TEN_MILLISEC_TIMEOUT   0x2710

Definition at line 781 of file aic94xx_sas.h.

#define ATA_Q_TYPE_MASK   0x08

Definition at line 436 of file aic94xx_sas.h.

#define ATA_Q_TYPE_NCQ   0x08

Definition at line 438 of file aic94xx_sas.h.

#define ATA_Q_TYPE_UNTAGGED   0x00

Definition at line 437 of file aic94xx_sas.h.

#define CLEAR_NEXUS   0xc4

Definition at line 324 of file aic94xx_sas.h.

#define CONCURRENT_CONN_SUPP   0x04

Definition at line 119 of file aic94xx_sas.h.

#define CONTROL_ATA_DEV   0x0b

Definition at line 303 of file aic94xx_sas.h.

#define CONTROL_PHY   0x80

Definition at line 314 of file aic94xx_sas.h.

#define COPY_MEM   0xc3

Definition at line 323 of file aic94xx_sas.h.

#define CSMI_TASK   0x40

Definition at line 434 of file aic94xx_sas.h.

#define DATA_DIR_BYRECIPIENT   0x03

Definition at line 402 of file aic94xx_sas.h.

#define DATA_DIR_IN   0x01

Definition at line 400 of file aic94xx_sas.h.

#define DATA_DIR_NONE   0x00

Definition at line 399 of file aic94xx_sas.h.

#define DATA_DIR_OUT   0x02

Definition at line 401 of file aic94xx_sas.h.

#define DATA_XFER_MODE_DMA   0x10

Definition at line 435 of file aic94xx_sas.h.

#define DDB_TP_CONN_TYPE   0x81 /* Initiator port and addr frame type 0x01 */

Definition at line 95 of file aic94xx_sas.h.

#define DDB_TYPE_INITIATOR   0xFD

Definition at line 106 of file aic94xx_sas.h.

#define DDB_TYPE_PM_PORT   0xFC

Definition at line 107 of file aic94xx_sas.h.

#define DDB_TYPE_TARGET   0xFE

Definition at line 105 of file aic94xx_sas.h.

#define DDB_TYPE_UNUSED   0xFF

Definition at line 104 of file aic94xx_sas.h.

#define DEV_PRES_TIMER_OVERRIDE_ENABLE   0x01

Definition at line 477 of file aic94xx_sas.h.

#define DISABLE_PHY   0x00

Definition at line 464 of file aic94xx_sas.h.

#define DISABLE_PHY_IF_OOB_FAILS   0x02

Definition at line 478 of file aic94xx_sas.h.

#define DL_TOGGLE_MASK   0x01

Definition at line 732 of file aic94xx_sas.h.

#define EFB_MASK   0x80

Definition at line 366 of file aic94xx_sas.h.

#define ELEMENT_NOT_VALID   0xC0

Definition at line 489 of file aic94xx_sas.h.

#define EMPTY_SCB   0xc0

Definition at line 320 of file aic94xx_sas.h.

#define ENABLE_NOTIFY_SPINUP_INTS   0x02

Definition at line 499 of file aic94xx_sas.h.

#define ENABLE_PHY   0x01

Definition at line 465 of file aic94xx_sas.h.

#define ENABLE_PHY_NO_SAS_OOB   0x03

Definition at line 467 of file aic94xx_sas.h.

#define ENABLE_PHY_NO_SATA_OOB   0x04

Definition at line 468 of file aic94xx_sas.h.

#define ESCB_RECVD   0xC0

Definition at line 715 of file aic94xx_sas.h.

#define EST_ICL_TARG_WINDOW   0xc2

Definition at line 322 of file aic94xx_sas.h.

#define ESTABLISH_NEXUS_ESCB   0xd0

Definition at line 326 of file aic94xx_sas.h.

#define EXEC_Q   0x02

Definition at line 577 of file aic94xx_sas.h.

#define EXECUTE_HARD_RESET   0x81

Definition at line 470 of file aic94xx_sas.h.

#define GET_LINK_ERROR_COUNT   0x00

Definition at line 497 of file aic94xx_sas.h.

#define INITIATE_ATA_TASK   0x09

Definition at line 301 of file aic94xx_sas.h.

#define INITIATE_ATAPI_TASK   0x0a

Definition at line 302 of file aic94xx_sas.h.

#define INITIATE_BIDIR_SSP_TASK   0x02

Definition at line 294 of file aic94xx_sas.h.

#define INITIATE_DDB_ADM_TASK   0xc6

Definition at line 325 of file aic94xx_sas.h.

#define INITIATE_LINK_ADM_TASK   0x82

Definition at line 316 of file aic94xx_sas.h.

#define INITIATE_LONG_SSP_TASK   0x01

Definition at line 293 of file aic94xx_sas.h.

#define INITIATE_SEQ_ADM_TASK   0xc1

Definition at line 321 of file aic94xx_sas.h.

#define INITIATE_SMP_TASK   0x0c

Definition at line 304 of file aic94xx_sas.h.

#define INITIATE_SSP_TASK   0x00

Definition at line 292 of file aic94xx_sas.h.

#define INITIATE_SSP_TMF   0x04

Definition at line 296 of file aic94xx_sas.h.

#define ITNL_TIMEOUT_CONST   0x7D0 /* 2 seconds */

Definition at line 144 of file aic94xx_sas.h.

#define LUN_SIZE   8

Definition at line 328 of file aic94xx_sas.h.

#define NEXUS_ADAPTER   0x00

Definition at line 561 of file aic94xx_sas.h.

#define NEXUS_I_T   0x02

Definition at line 563 of file aic94xx_sas.h.

#define NEXUS_I_T_L   0x03

Definition at line 564 of file aic94xx_sas.h.

#define NEXUS_L   0x08

Definition at line 569 of file aic94xx_sas.h.

#define NEXUS_PORT   0x01

Definition at line 562 of file aic94xx_sas.h.

#define NEXUS_SATA_TAG   0x06

Definition at line 567 of file aic94xx_sas.h.

#define NEXUS_T_L   0x07

Definition at line 568 of file aic94xx_sas.h.

#define NEXUS_T_TAG   0x09

Definition at line 570 of file aic94xx_sas.h.

#define NEXUS_TAG   0x04

Definition at line 565 of file aic94xx_sas.h.

#define NEXUS_TRANS_CX   0x05

Definition at line 566 of file aic94xx_sas.h.

#define NOTINQ   0x01

Definition at line 578 of file aic94xx_sas.h.

#define OPEN_REQUIRED   0x01

Definition at line 120 of file aic94xx_sas.h.

#define OVERRIDE_ITNL_TIMER   8

Definition at line 585 of file aic94xx_sas.h.

#define PHY_NO_OP   0x05

Definition at line 469 of file aic94xx_sas.h.

#define PM_PORT_MASK   0xF0

Definition at line 226 of file aic94xx_sas.h.

#define PM_PORT_SET   0x02

Definition at line 227 of file aic94xx_sas.h.

#define QUERY_SSP_TASK   0x08

Definition at line 300 of file aic94xx_sas.h.

#define RELEASE_SPINUP_HOLD   0x02

Definition at line 466 of file aic94xx_sas.h.

#define RESET_LINK_ERROR_COUNT   0x01

Definition at line 498 of file aic94xx_sas.h.

#define RESUME_TX   0x40

Definition at line 575 of file aic94xx_sas.h.

#define RET_PARTIAL_SGLIST   0x02

Definition at line 446 of file aic94xx_sas.h.

#define SATA_MULTIPORT   0x80

Definition at line 159 of file aic94xx_sas.h.

#define SCB_ABORT_TASK   0x03

Definition at line 295 of file aic94xx_sas.h.

#define SEND_PRIMITIVE   0x81

Definition at line 315 of file aic94xx_sas.h.

#define SEND_Q   0x04

Definition at line 576 of file aic94xx_sas.h.

#define SET_AFFIL_POLICY   0x10

Definition at line 445 of file aic94xx_sas.h.

#define SMP_TARG_SEND_RESP   0x0f

Definition at line 305 of file aic94xx_sas.h.

#define SSP_TARG_GET_DATA   0x05

Definition at line 297 of file aic94xx_sas.h.

#define SSP_TARG_GET_DATA_GOOD   0x06

Definition at line 298 of file aic94xx_sas.h.

#define SSP_TARG_SEND_DATA   0x40

Definition at line 309 of file aic94xx_sas.h.

#define SSP_TARG_SEND_DATA_GOOD   0x41

Definition at line 310 of file aic94xx_sas.h.

#define SSP_TARG_SEND_RESP   0x07

Definition at line 299 of file aic94xx_sas.h.

#define STP_AFFIL_POL   0x20

Definition at line 161 of file aic94xx_sas.h.

#define STP_AFFIL_POLICY   0x20

Definition at line 444 of file aic94xx_sas.h.

#define STP_CL_POL_BTW_CMDS   0x01

Definition at line 166 of file aic94xx_sas.h.

#define STP_CL_POL_NO_TX   0x00

Definition at line 165 of file aic94xx_sas.h.

#define SUPPORTS_AFFIL   0x40

Definition at line 160 of file aic94xx_sas.h.

#define SUSPEND_DATA_TRANS   0x04

Definition at line 534 of file aic94xx_sas.h.

#define SUSPEND_TX   0x80

Definition at line 574 of file aic94xx_sas.h.

#define TA_I_T_NEXUS_LOSS   0x1b

Definition at line 693 of file aic94xx_sas.h.

#define TA_ON_REQ   0x1e

Definition at line 696 of file aic94xx_sas.h.

#define TASK_ATTR_MASK   0x07

Definition at line 368 of file aic94xx_sas.h.

#define TASK_PRIO_MASK   0x78

Definition at line 367 of file aic94xx_sas.h.

#define TC_ATA_R_ERR_RECV   0x1c

Definition at line 694 of file aic94xx_sas.h.

#define TC_ATA_RESP   0x0c

Definition at line 678 of file aic94xx_sas.h.

#define TC_CONTROL_PHY   0x11

Definition at line 683 of file aic94xx_sas.h.

#define TC_CSMI   0x0b

Definition at line 677 of file aic94xx_sas.h.

#define TC_LINK_ADM_RESP   0x0a

Definition at line 676 of file aic94xx_sas.h.

#define TC_NO_ERROR   0x00

Definition at line 666 of file aic94xx_sas.h.

#define TC_OVERRUN   0x02

Definition at line 668 of file aic94xx_sas.h.

#define TC_PARTIAL_SG_LIST   0x17

Definition at line 689 of file aic94xx_sas.h.

#define TC_RESUME   0x13

Definition at line 685 of file aic94xx_sas.h.

#define TC_SSP_RESP   0x07

Definition at line 673 of file aic94xx_sas.h.

#define TC_TASK_CLEARED   0x23

Definition at line 701 of file aic94xx_sas.h.

#define TC_UNDERRUN   0x01

Definition at line 667 of file aic94xx_sas.h.

#define TF_BREAK   0x12

Definition at line 684 of file aic94xx_sas.h.

#define TF_DATA_OFFS_ERR   0x29

Definition at line 707 of file aic94xx_sas.h.

#define TF_INV_CONN_HANDLE   0x2a

Definition at line 708 of file aic94xx_sas.h.

#define TF_IRTT_TO   0x26

Definition at line 704 of file aic94xx_sas.h.

#define TF_IU_SHORT   0x28

Definition at line 706 of file aic94xx_sas.h.

#define TF_NAK_RECV   0x1a

Definition at line 692 of file aic94xx_sas.h.

#define TF_NO_SMP_CONN   0x27

Definition at line 705 of file aic94xx_sas.h.

#define TF_OPEN_REJECT   0x04

Definition at line 670 of file aic94xx_sas.h.

#define TF_OPEN_TO   0x03

Definition at line 669 of file aic94xx_sas.h.

#define TF_PHY_DOWN   0x09

Definition at line 675 of file aic94xx_sas.h.

#define TF_REQUESTED_N_PENDING   0x2b

Definition at line 709 of file aic94xx_sas.h.

#define TF_SMP_XMIT_RCV_ERR   0x16

Definition at line 688 of file aic94xx_sas.h.

#define TF_SMPRSP_TO   0x15

Definition at line 687 of file aic94xx_sas.h.

#define TF_TMF_NO_CONN_HANDLE   0x22

Definition at line 700 of file aic94xx_sas.h.

#define TF_TMF_NO_CTX   0x1d

Definition at line 695 of file aic94xx_sas.h.

#define TF_TMF_NO_TAG   0x1f

Definition at line 697 of file aic94xx_sas.h.

#define TF_TMF_TAG_FREE   0x20

Definition at line 698 of file aic94xx_sas.h.

#define TF_TMF_TASK_DONE   0x21

Definition at line 699 of file aic94xx_sas.h.

#define TI_ACK_NAK_TO   0x14

Definition at line 686 of file aic94xx_sas.h.

#define TI_BREAK   0x05

Definition at line 671 of file aic94xx_sas.h.

#define TI_NAK   0x10

Definition at line 682 of file aic94xx_sas.h.

#define TI_PHY_DOWN   0x08

Definition at line 674 of file aic94xx_sas.h.

#define TI_PROTO_ERR   0x06

Definition at line 672 of file aic94xx_sas.h.

#define TI_SATA_TO   0x0f

Definition at line 681 of file aic94xx_sas.h.

#define TI_SYNCS_RECV   0x24

Definition at line 702 of file aic94xx_sas.h.

#define TU_ACK_NAK_TO   0x18

Definition at line 690 of file aic94xx_sas.h.

#define TU_BREAK   0x0e

Definition at line 680 of file aic94xx_sas.h.

#define TU_PHY_DOWN   0x0d

Definition at line 679 of file aic94xx_sas.h.

#define TU_SATA_TO   0x19

Definition at line 691 of file aic94xx_sas.h.

#define TU_SYNCS_RECV   0x25

Definition at line 703 of file aic94xx_sas.h.

#define XMTCONTEN   0x04

Definition at line 615 of file aic94xx_sas.h.

#define XMTPFRM   0x02 /* Transmit at the next frame boundary */

Definition at line 616 of file aic94xx_sas.h.

#define XMTPIMM   0x01 /* Transmit immediately */

Definition at line 617 of file aic94xx_sas.h.

#define XMTPSIZE_CONT   0x20

Definition at line 610 of file aic94xx_sas.h.

#define XMTPSIZE_INF   0

Definition at line 613 of file aic94xx_sas.h.

#define XMTPSIZE_MASK   0xF0

Definition at line 607 of file aic94xx_sas.h.

#define XMTPSIZE_REDUNDANT   0x60

Definition at line 612 of file aic94xx_sas.h.

#define XMTPSIZE_REPEATED   0x20

Definition at line 609 of file aic94xx_sas.h.

#define XMTPSIZE_SINGLE   0x10

Definition at line 608 of file aic94xx_sas.h.

#define XMTPSIZE_TRIPLE   0x30

Definition at line 611 of file aic94xx_sas.h.

Function Documentation

Definition at line 171 of file esd_usb2.c.

Variable Documentation

union { ... }
union { ... }
__le16 _r

Definition at line 276 of file aic94xx_sas.h.

u8 _r_a

Definition at line 109 of file aic94xx_sas.h.

u32 _r_b

Definition at line 122 of file aic94xx_sas.h.

u8 _r_c

Definition at line 127 of file aic94xx_sas.h.

u8 _r_d

Definition at line 133 of file aic94xx_sas.h.

__le64 _r_e

Definition at line 137 of file aic94xx_sas.h.

u8 _r_f

Definition at line 141 of file aic94xx_sas.h.

Definition at line 653 of file aic94xx_sas.h.

__le16 active_task_count

Definition at line 135 of file aic94xx_sas.h.

__le16 active_tasks

Definition at line 198 of file aic94xx_sas.h.

u8 add_cdb_len

Definition at line 371 of file aic94xx_sas.h.

__be16 arb_wait_time

Definition at line 114 of file aic94xx_sas.h.

__le16 ata_cmd_scbptr

Definition at line 171 of file aic94xx_sas.h.

u8 ata_flags

Definition at line 433 of file aic94xx_sas.h.

Definition at line 646 of file aic94xx_sas.h.

u8 atapi_packet[16]

Definition at line 429 of file aic94xx_sas.h.

__be16 awt_def

Definition at line 110 of file aic94xx_sas.h.

__le64 bus_addr

Definition at line 274 of file aic94xx_sas.h.

__le16 bus_inact_to

Definition at line 203 of file aic94xx_sas.h.

u8 cdb

Definition at line 373 of file aic94xx_sas.h.

Definition at line 654 of file aic94xx_sas.h.

u8 compat_features

Definition at line 112 of file aic94xx_sas.h.

__le16 conn_handle

Definition at line 397 of file aic94xx_sas.h.

u8 conn_mask

Definition at line 117 of file aic94xx_sas.h.

u8 conn_not_active

Definition at line 258 of file aic94xx_sas.h.

u8 conn_rate

Definition at line 97 of file aic94xx_sas.h.

Definition at line 94 of file aic94xx_sas.h.

Definition at line 588 of file aic94xx_sas.h.

Definition at line 649 of file aic94xx_sas.h.

Definition at line 648 of file aic94xx_sas.h.

Definition at line 652 of file aic94xx_sas.h.

u8 data_dir

Definition at line 398 of file aic94xx_sas.h.

__le32 data_offs

Definition at line 428 of file aic94xx_sas.h.

__le16 ddb_pointer[16]

Definition at line 199 of file aic94xx_sas.h.

u8 ddb_type

Definition at line 103 of file aic94xx_sas.h.

__le64 dest_busaddr

Definition at line 517 of file aic94xx_sas.h.

u8 dest_ds

Definition at line 518 of file aic94xx_sas.h.

u8 dest_sas_addr

Definition at line 99 of file aic94xx_sas.h.

Definition at line 488 of file aic94xx_sas.h.

u8 efb_prio_attr

Definition at line 365 of file aic94xx_sas.h.

u8 eol_ds

Definition at line 378 of file aic94xx_sas.h.

Definition at line 650 of file aic94xx_sas.h.

__le16 est_nexus_buf_cnt

Definition at line 253 of file aic94xx_sas.h.

__le16 est_nexus_buf_thresh

Definition at line 254 of file aic94xx_sas.h.

__le16 exec_queue_tail

Definition at line 123 of file aic94xx_sas.h.

Definition at line 427 of file aic94xx_sas.h.

u8 flags

Definition at line 118 of file aic94xx_sas.h.

u8 flags2

Definition at line 164 of file aic94xx_sas.h.

u8 func_mask

Definition at line 472 of file aic94xx_sas.h.

Definition at line 643 of file aic94xx_sas.h.

u8 hot_plug_delay

Definition at line 474 of file aic94xx_sas.h.

__le16 index

Definition at line 290 of file aic94xx_sas.h.

__be16 init_conn_tag

Definition at line 98 of file aic94xx_sas.h.

__le16 init_list

Definition at line 199 of file aic94xx_sas.h.

__le16 init_resp_timeout

Definition at line 196 of file aic94xx_sas.h.

u8 itnl_reason

Definition at line 139 of file aic94xx_sas.h.

__le16 itnl_timeout

Definition at line 143 of file aic94xx_sas.h.

__le32 itnl_timestamp

Definition at line 146 of file aic94xx_sas.h.

__le16 itnl_to

Definition at line 204 of file aic94xx_sas.h.

Definition at line 651 of file aic94xx_sas.h.

u8 link_reset_retries

Definition at line 481 of file aic94xx_sas.h.

struct { ... } long_cdb
__le64 long_cdb_addr

Definition at line 375 of file aic94xx_sas.h.

__le32 long_cdb_size

Definition at line 376 of file aic94xx_sas.h.

u8 lun[LUN_SIZE]

Definition at line 340 of file aic94xx_sas.h.

u8 max_concurrent_conn

Definition at line 129 of file aic94xx_sas.h.

u8 max_conn_to[3]

Definition at line 201 of file aic94xx_sas.h.

__be32 more_compat_features

Definition at line 115 of file aic94xx_sas.h.

__le16 ncq_data_scb_ptr

Definition at line 180 of file aic94xx_sas.h.

__le64 next_scb

Definition at line 289 of file aic94xx_sas.h.

u8 next_sg_offs

Definition at line 277 of file aic94xx_sas.h.

u8 nexus

Definition at line 560 of file aic94xx_sas.h.

u8 num_concurrent_conn

Definition at line 130 of file aic94xx_sas.h.

u8 num_contexts

Definition at line 131 of file aic94xx_sas.h.

u8 num_sata_tags

Definition at line 176 of file aic94xx_sas.h.

u8 num_valid

Definition at line 483 of file aic94xx_sas.h.

Definition at line 291 of file aic94xx_sas.h.

__le16 parent_ddb

Definition at line 233 of file aic94xx_sas.h.

u8 pathway_blocked_count

Definition at line 113 of file aic94xx_sas.h.

u8 phy_id

Definition at line 462 of file aic94xx_sas.h.

u8 phy_is_up

Definition at line 259 of file aic94xx_sas.h.

u8 pm_port_flags

Definition at line 225 of file aic94xx_sas.h.

u8 port_map_by_links[8]

Definition at line 261 of file aic94xx_sas.h.

Definition at line 475 of file aic94xx_sas.h.

u8 prim[4]

Definition at line 620 of file aic94xx_sas.h.

u8 proto_conn_rate

Definition at line 392 of file aic94xx_sas.h.

__le16 q_free_ddb_cnt

Definition at line 248 of file aic94xx_sas.h.

__le16 q_free_ddb_head

Definition at line 246 of file aic94xx_sas.h.

__le16 q_free_ddb_tail

Definition at line 247 of file aic94xx_sas.h.

__le16 q_used_ddb_head

Definition at line 249 of file aic94xx_sas.h.

__le16 q_used_ddb_tail

Definition at line 250 of file aic94xx_sas.h.

__be32 requested_offset

Definition at line 369 of file aic94xx_sas.h.

u8 retry_count

Definition at line 405 of file aic94xx_sas.h.

u8 sata_ending_status

Definition at line 178 of file aic94xx_sas.h.

__le32 sata_sactive

Definition at line 175 of file aic94xx_sas.h.

u8 sata_status

Definition at line 177 of file aic94xx_sas.h.

__le32 sata_tag_alloc_mask

Definition at line 172 of file aic94xx_sas.h.

__le16 scb_pointer[32]

Definition at line 186 of file aic94xx_sas.h.

__le16 send_queue_head

Definition at line 101 of file aic94xx_sas.h.

__le16 send_queue_tail

Definition at line 124 of file aic94xx_sas.h.

u8 settable_max_contexts

Definition at line 256 of file aic94xx_sas.h.

struct sg_el sg_element

Definition at line 407 of file aic94xx_sas.h.

__le16 shared_mem_lock

Definition at line 251 of file aic94xx_sas.h.

__le16 sister_ddb

Definition at line 125 of file aic94xx_sas.h.

__le16 sister_scb

Definition at line 396 of file aic94xx_sas.h.

__le32 size

Definition at line 275 of file aic94xx_sas.h.

__le16 smp_conn_tag

Definition at line 252 of file aic94xx_sas.h.

Definition at line 438 of file aic94xx_sas.h.

struct sg_el smp_resp

Definition at line 442 of file aic94xx_sas.h.

Definition at line 647 of file aic94xx_sas.h.

u8 speed_mask

Definition at line 473 of file aic94xx_sas.h.

u8 sq_suspended

Definition at line 102 of file aic94xx_sas.h.

__le64 src_busaddr

Definition at line 512 of file aic94xx_sas.h.

u8 src_ds

Definition at line 513 of file aic94xx_sas.h.

Definition at line 395 of file aic94xx_sas.h.

struct ssp_frame_hdr ssp_frame

Definition at line 394 of file aic94xx_sas.h.

struct ssp_task_iu ssp_task

Definition at line 530 of file aic94xx_sas.h.

Definition at line 655 of file aic94xx_sas.h.

Definition at line 730 of file aic94xx_sas.h.

u8 sub_func

Definition at line 463 of file aic94xx_sas.h.

Definition at line 344 of file aic94xx_sas.h.

__le32 timeout_override

Definition at line 480 of file aic94xx_sas.h.

u8 tmf

Definition at line 342 of file aic94xx_sas.h.

u8 toggle

Definition at line 731 of file aic94xx_sas.h.

__le32 total_xfer_len

Definition at line 393 of file aic94xx_sas.h.

u8 wait_transmit

Definition at line 605 of file aic94xx_sas.h.

__be32 write_data_len

Definition at line 370 of file aic94xx_sas.h.

u32 xfer_len

Definition at line 510 of file aic94xx_sas.h.

struct xfer_rdy_iu xfer_rdy

Definition at line 627 of file aic94xx_sas.h.

u8 xmit_flags

Definition at line 606 of file aic94xx_sas.h.