FreeBSD kernel pms device code
sa_spec.h File Reference

The file defines the constants defined by sas spec. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  agsaFisBISTHeader_s
 
struct  agsaFisRegD2HHeader_s
 
struct  agsaFisSetDevBitsHeader_s
 
struct  agsaFisRegH2DHeader_s
 
struct  agsaFisPioSetupHeader_s
 
union  agsaFisHeader_s
 
struct  agsaFisBISTData_s
 
struct  agsaFisBIST_s
 
struct  agsaFisRegD2HData_s
 
struct  agsaFisRegDeviceToHost_s
 
struct  agsaFisRegH2DData_s
 Structure for SATA Host to Device Register FIS. More...
 
struct  agsaFisRegHostToDevice_s
 
struct  agsaFisSetDevBitsData_s
 Structure for SATA SetDeviceBit FIS. More...
 
struct  agsaFisSetDevBits_s
 
union  agsaSATAHostFis_u
 union data structure specifies a FIS from host software More...
 
struct  agsaFisPioSetupData_s
 This structure is used. More...
 
struct  agsaFisPioSetup_s
 
struct  agsaSASIdentify_s
 describe SAS IDENTIFY address frame More...
 
struct  agsaSATAIdentifyData_s
 data structure provides the identify data of the SATA device More...
 
struct  agsaSSPCmdInfoUnit_s
 data structure describes an SSP Command INFORMATION UNIT More...
 
struct  agsaSSPResponseInfoUnit_s
 structure describes an SSP Response INFORMATION UNIT More...
 
struct  agsaSSPFrameFormat_s
 
struct  agsaSSPOpenFrame_s
 
struct  agsaSSPScsiTaskMgntReq_s
 structure describes a SAS SSP Task Management command request More...
 
struct  agsaSMPFrameHeader_s
 data structure describes the first four bytes of the SMP frame. More...
 
struct  agsaSmpRespReportGeneral_s
 
struct  agsaSmpRespReportManufactureInfo_s
 
struct  agsaSmpReqDiscover_s
 
struct  agsaSmpRespDiscover_s
 
struct  agsaSmpReqReportRouteTable_s
 
struct  agsaSmpRespReportRouteTable_s
 
struct  agsaSmpReqConfigureRouteInformation_s
 
struct  agsaSmpReqReportPhySata_s
 
struct  agsaSmpRespReportPhySata_s
 
struct  agsaSmpReqPhyControl_s
 

Macros

#define SA_SAS_PROTOCOL_SMP   0x00
 
#define SA_SAS_PROTOCOL_SSP   0x01
 
#define SA_SAS_PROTOCOL_STP   0x02
 
#define SA_OPENFRM_SIZE   (28)
 
#define SA_IDENTIFY_FRAME_SIZE   (28)
 
#define SA_SAS_FRAME_TYPE_SSP_DATA   0x01
 
#define SA_SAS_FRAME_TYPE_SSP_XRDY   0x05
 
#define SA_SAS_FRAME_TYPE_SSP_CMD   0x06
 
#define SA_SAS_FRAME_TYPE_SSP_RSP   0x07
 
#define SA_SAS_FRAME_TYPE_SSP_TASK   0x16
 
#define SA_SAS_FRAME_TYPE_SMP_REQ   0x40
 
#define SA_SAS_FRAME_TYPE_SMP_RSP   0x41
 
#define SA_SAS_CONNECTION_RATE_1_5G   0x08
 
#define SA_SAS_CONNECTION_RATE_3_0G   0x09
 
#define SA_SAS_CONNECTION_RATE_6_0G   0x0A
 
#define SA_SAS_CONNECTION_RATE_12_0G   0x0B
 
#define SA_SAS_DEV_TYPE_NO_DEVICE   0x00
 
#define SA_SAS_DEV_TYPE_END_DEVICE   0x01
 
#define SA_SAS_DEV_TYPE_EDGE_EXPANDER   0x02
 
#define SA_SAS_DEV_TYPE_FANOUT_EXPANDER   0x03
 
#define AGSA_DEV_TYPE_END_DEVICE   (SA_SAS_DEV_TYPE_END_DEVICE << 4)
 
#define AGSA_DEV_TYPE_EDGE_EXPANDER   (SA_SAS_DEV_TYPE_EDGE_EXPANDER << 4)
 
#define AGSA_DEV_TYPE_FAN_EXPANDER   (SA_SAS_DEV_TYPE_FANOUT_EXPANDER << 4)
 
#define SA_SAS_SMP_REPORT_GENERAL   0x00
 
#define SA_SAS_SMP_REPORT_MANUFACTURE_INFORMATION   0x01
 
#define SA_SAS_SMP_READ_GPIO_REGISTER   0x02
 
#define SA_SAS_SMP_DISCOVER   0x10
 
#define SA_SAS_SMP_REPORT_PHY_ERROR_LOG   0x11
 
#define SA_SAS_SMP_REPORT_PHY_SATA   0x12
 
#define SA_SAS_SMP_REPORT_ROUTING_INFORMATION   0x13
 
#define SA_SAS_SMP_WRITE_GPIO_REGISTER   0x82
 
#define SA_SAS_SMP_CONFIGURE_ROUTING_INFORMATION   0x90
 
#define SA_SAS_SMP_PHY_CONTROL   0x91
 
#define SA_SAS_SMP_PHY_TEST   0x92
 
#define SA_SAS_SMP_FUNCTION_ACCEPTED   0x00
 
#define SA_SAS_SMP_FUNCTION_UNKNOWN   0x01
 
#define SA_SAS_SMP_FUNCTION_FAILED   0x02
 
#define SA_SAS_SMP_INVALID_REQ_FRAME_LENGTH   0x03
 
#define SA_SAS_SMP_PHY_NOT_EXIST   0x10
 
#define SA_SAS_ROUTING_DIRECT   0x00
 
#define SA_SAS_ROUTING_SUBTRACTIVE   0x01
 
#define SA_SAS_ROUTING_TABLE   0x02
 
#define SA_SAS_PHYCTL_LINK_RESET   0x01
 
#define SA_SAS_PHYCTL_HARD_RESET   0x02
 
#define SA_SAS_PHYCTL_DISABLE   0x03
 
#define SA_SAS_PHYCTL_CLEAR_ERROR_LOG   0x05
 
#define SA_SAS_PHYCTL_CLEAR_AFFILIATION   0x06
 
#define SA_SAS_PHYCTL_TRANSMIT_PS_SIGNAL   0x07
 
#define SA_SSP_CMDIU_LEN_BYTES   28
 
#define SA_SSP_TMIU_LEN_BYTES   28
 
#define SASD_DEV_SATA_MASK   0xF0
 
#define SASD_DEV_SAS_MASK   0x0F
 
#define SASD_DEV_SAS_END_DEVICE   0x01 /* SAS end device type */
 
#define SASD_DEV_SAS_EDGE_EXPANDER   0x02 /* SAS edge expander device type */
 
#define SASD_DEV_SAS_FAN_EXPANDER   0x03 /* SAS fan out expander device type */
 
#define SASD_DEV_SATA_ATA_DEVICE   0x10 /* SATA ATA device type */
 
#define SASD_DEV_SATA_ATAPI_DEVICE   0x20 /* SATA ATAPI device type */
 
#define SASD_DEV_SATA_PM_DEVICE   0x30 /* SATA PM device type */
 
#define SASD_DEV_SATA_SEMB_DEVICE   0x40 /* SATA SEMB device type */
 
#define SASD_DEV_SATA_SEMB_WO_SEP_DEVICE   0x50 /* SATA SEMB without SEP device type */
 
#define SASD_DEV_SATA_UNKNOWN_DEVICE   0xFF /* SAS SATA unknown device type */
 
#define SASD_TASK_ATTR_SIMPLE   0x0
 
#define SASD_TASK_ATTR_HEAD_OF_QUEUE   0x1
 
#define SASD_TASK_ATTR_ORDERED   0x2
 
#define SASD_TASK_ATTR_ACA   0x4
 
#define SASD_SAS_ABORT_TASK   0x01
 
#define SASD_SAS_ABORT_TASK_SET   0x02
 
#define SASD_SAS_CLEAR_TASK_SET   0x04
 
#define SASD_SAS_LOGICAL_UNIT_RESET   0x08
 
#define SASD_SAS_CLEAR_ACA   0x40
 
#define SASD_SAS_QUARY_TASK   0x80
 
#define SA_SATA_MAX_QUEUED_COMMANDS   32
 
#define SA_SATA_MAX_PM_PORTS   15
 
#define SA_SATA_FIS_TYPE_HOST_2_DEV   0x27
 
#define SA_SATA_FIS_TYPE_DEV_2_HOST   0x34
 
#define SA_SATA_FIS_TYPE_SET_DEVICE   0xA1
 
#define SA_SATA_FIS_TYPE_DMA_ACTIVE   0x39
 
#define SA_SATA_FIS_TYPE_FDMA_SETUP   0x41
 
#define SA_SATA_FIS_TYPE_BIST   0x58
 
#define SA_SATA_CMD_IDENTIFY_DEVICE   0xEC
 
#define SA_SATA_CMD_EXEC_DEV_DIAG   0x90
 
#define SA_SATA_CONTROL_SRST   0x04
 
#define SA_SATA_H2DREG_LEN_BYTES   20
 
#define SA_SATA_H2D_BIST_LEN_BYTES   12
 
#define SA_SATA_BIST_PATTERN_T_BIT   0x80
 Structure for SATA BIST FIS. More...
 
#define SA_SATA_BIST_PATTERN_A_BIT   0x40
 
#define SA_SATA_BIST_PATTERN_S_BIT   0x20
 
#define SA_SATA_BIST_PATTERN_L_BIT   0x10
 
#define SA_SATA_BIST_PATTERN_F_BIT   0x08
 
#define SA_SATA_BIST_PATTERN_P_BIT   0x04
 
#define SA_SATA_BIST_PATTERN_R_BIT   0x02
 
#define SA_SATA_BIST_PATTERN_V_BIT   0x01
 
#define SA_SATA_RD2H_I_BIT   0x40
 Structure for SATA Device to Host Register FIS. More...
 
#define SA_IDFRM_GET_SAS_ADDRESSLO(identFrame)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressLo)
 
#define SA_IDFRM_GET_SAS_ADDRESSHI(identFrame)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressHi)
 
#define SA_IDFRM_GET_DEVICETTYPE(identFrame)    (((identFrame)->deviceType_addressFrameType & 0x70) >> 4)
 
#define SA_IDFRM_PUT_SAS_ADDRESSLO(identFrame, src32)    ((*(bit32 *)((identFrame)->sasAddressLo)) = BIT32_TO_DMA_BEBIT32(src32))
 
#define SA_IDFRM_PUT_SAS_ADDRESSHI(identFrame, src32)    ((*(bit32 *)((identFrame)->sasAddressHi)) = BIT32_TO_DMA_BEBIT32(src32))
 
#define SA_IDFRM_SSP_BIT   0x8 /* SSP Initiator port */
 
#define SA_IDFRM_STP_BIT   0x4 /* STP Initiator port */
 
#define SA_IDFRM_SMP_BIT   0x2 /* SMP Initiator port */
 
#define SA_IDFRM_SATA_BIT   0x1 /* SATA device, valid in the discovery response only */
 
#define SA_IDFRM_IS_SSP_INITIATOR(identFrame)    (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_SSP_BIT) == SA_IDFRM_SSP_BIT)
 
#define SA_IDFRM_IS_STP_INITIATOR(identFrame)    (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT)
 
#define SA_IDFRM_IS_SMP_INITIATOR(identFrame)    (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_SMP_BIT) == SA_IDFRM_SMP_BIT)
 
#define SA_IDFRM_IS_SSP_TARGET(identFrame)    (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SSP_BIT) == SA_IDFRM_SSP_BIT)
 
#define SA_IDFRM_IS_STP_TARGET(identFrame)    (((identFrame)->target_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT)
 
#define SA_IDFRM_IS_SMP_TARGET(identFrame)    (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SMP_BIT) == SA_IDFRM_SMP_BIT)
 
#define SA_IDFRM_IS_SATA_DEVICE(identFrame)    (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SATA_BIT) == SA_IDFRM_SATA_BIT)
 
#define SA_SSPCMD_GET_TASKATTRIB(pCmd)   ((pCmd)->efb_tp_taskAttribute & 0x7)
 
#define SA_SSPRESP_GET_SENSEDATALEN(pSSPResp)    DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->senseDataLen)
 
#define SA_SSPRESP_GET_RESPONSEDATALEN(pSSPResp)    DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->responsedataLen)
 
#define SA_SSPRESP_GET_DATAPRES(pSSPResp)   ((pSSPResp)->dataPres & 0x3)
 
#define SA_REPORT_GENERAL_CONFIGURING_BIT   0x2
 
#define SA_REPORT_GENERAL_CONFIGURABLE_BIT   0x1
 
#define SA_REPORT_GENERAL_IS_CONFIGURING(pResp)
 
#define SA_REPORT_GENERAL_IS_CONFIGURABLE(pResp)
 
#define SA_REPORT_GENERAL_GET_ROUTEINDEXES(pResp)    DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16))
 
#define SA_DISCRSP_SSP_BIT   0x08
 
#define SA_DISCRSP_STP_BIT   0x04
 
#define SA_DISCRSP_SMP_BIT   0x02
 
#define SA_DISCRSP_SATA_BIT   0x01
 
#define SA_DISCRSP_SATA_PS_BIT   0x80
 
#define SA_DISCRSP_GET_ATTACHED_DEVTYPE(pResp)    (((pResp)->attachedDeviceType & 0x70) >> 4)
 
#define SA_DISCRSP_GET_LINKRATE(pResp)    ((pResp)->negotiatedPhyLinkRate & 0x0F)
 
#define SA_DISCRSP_IS_SSP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SSP_BIT) == SA_DISCRSP_SSP_BIT)
 
#define SA_DISCRSP_IS_STP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_STP_BIT) == SA_DISCRSP_STP_BIT)
 
#define SA_DISCRSP_IS_SMP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SMP_BIT) == SA_DISCRSP_SMP_BIT)
 
#define SA_DISCRSP_IS_SATA_HOST(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SATA_BIT) == SA_DISCRSP_SATA_BIT)
 
#define SA_DISCRSP_IS_SSP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SSP_BIT) == SA_DISCRSP_SSP_BIT)
 
#define SA_DISCRSP_IS_STP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_STP_BIT) == SA_DISCRSP_STP_BIT)
 
#define SA_DISCRSP_IS_SMP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SMP_BIT) == SA_DISCRSP_SMP_BIT)
 
#define SA_DISCRSP_IS_SATA_DEVICE(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SATA_BIT) == SA_DISCRSP_SATA_BIT)
 
#define SA_DISCRSP_IS_SATA_PORTSELECTOR(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SATA_PS_BIT) == SA_DISCRSP_SATA_PS_BIT)
 
#define SA_DISCRSP_GET_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressHi)
 
#define SA_DISCRSP_GET_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressLo)
 
#define SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressHi)
 
#define SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressLo)
 
#define SA_DISCRSP_VIRTUALPHY_BIT   0x80
 
#define SA_DISCRSP_IS_VIRTUALPHY(pResp)    (((pResp)->virtualPhy_partialPathwayTimeout & SA_DISCRSP_VIRTUALPHY_BIT) == SA_DISCRSP_VIRTUALPHY_BIT)
 
#define SA_DISCRSP_GET_ROUTINGATTRIB(pResp)    ((pResp)->routingAttribute & 0x0F)
 

Typedefs

typedef struct agsaFisBISTHeader_s agsaFisBISTHeader_t
 
typedef struct agsaFisRegD2HHeader_s agsaFisRegD2HHeader_t
 
typedef struct agsaFisSetDevBitsHeader_s agsaFisSetDevBitsHeader_t
 
typedef struct agsaFisRegH2DHeader_s agsaFisRegH2DHeader_t
 
typedef struct agsaFisPioSetupHeader_s agsaFisPioSetupHeader_t
 
typedef union agsaFisHeader_s agsaFisHeader_t
 
typedef struct agsaFisBISTData_s agsaFisBISTData_t
 
typedef struct agsaFisBIST_s agsaFisBIST_t
 
typedef struct agsaFisRegD2HData_s agsaFisRegD2HData_t
 
typedef struct agsaFisRegDeviceToHost_s agsaFisRegDeviceToHost_t
 
typedef struct agsaFisRegH2DData_s agsaFisRegH2DData_t
 Structure for SATA Host to Device Register FIS. More...
 
typedef struct agsaFisRegHostToDevice_s agsaFisRegHostToDevice_t
 
typedef struct agsaFisSetDevBitsData_s agsaFisSetDevBitsData_t
 Structure for SATA SetDeviceBit FIS. More...
 
typedef struct agsaFisSetDevBits_s agsaFisSetDevBits_t
 
typedef union agsaSATAHostFis_u agsaSATAHostFis_t
 union data structure specifies a FIS from host software More...
 
typedef struct agsaFisPioSetupData_s agsaFisPioSetupData_t
 This structure is used. More...
 
typedef struct agsaFisPioSetup_s agsaFisPioSetup_t
 
typedef struct agsaSASIdentify_s agsaSASIdentify_t
 describe SAS IDENTIFY address frame More...
 
typedef struct agsaSATAIdentifyData_s agsaSATAIdentifyData_t
 data structure provides the identify data of the SATA device More...
 
typedef struct agsaSSPCmdInfoUnit_s agsaSSPCmdInfoUnit_t
 data structure describes an SSP Command INFORMATION UNIT More...
 
typedef struct agsaSSPResponseInfoUnit_s agsaSSPResponseInfoUnit_t
 structure describes an SSP Response INFORMATION UNIT More...
 
typedef struct agsaSSPFrameFormat_s agsaSSPFrameFormat_t
 
typedef struct agsaSSPOpenFrame_s agsaSSPOpenFrame_t
 
typedef struct agsaSSPScsiTaskMgntReq_s agsaSSPScsiTaskMgntReq_t
 structure describes a SAS SSP Task Management command request More...
 
typedef struct agsaSMPFrameHeader_s agsaSMPFrameHeader_t
 data structure describes the first four bytes of the SMP frame. More...
 
typedef struct agsaSmpRespReportGeneral_s agsaSmpRespReportGeneral_t
 
typedef struct agsaSmpRespReportManufactureInfo_s agsaSmpRespReportManufactureInfo_t
 
typedef struct agsaSmpReqDiscover_s agsaSmpReqDiscover_t
 
typedef struct agsaSmpRespDiscover_s agsaSmpRespDiscover_t
 
typedef struct agsaSmpReqReportRouteTable_s agsaSmpReqReportRouteTable_t
 
typedef struct agsaSmpRespReportRouteTable_s agsaSmpRespReportRouteTable_t
 
typedef struct agsaSmpReqConfigureRouteInformation_s agsaSmpReqConfigureRouteInformation_t
 
typedef struct agsaSmpReqReportPhySata_s agsaSmpReqReportPhySata_t
 
typedef struct agsaSmpRespReportPhySata_s agsaSmpRespReportPhySata_t
 
typedef struct agsaSmpReqPhyControl_s agsaSmpReqPhyControl_t
 

Detailed Description

The file defines the constants defined by sas spec.

Definition in file sa_spec.h.

Macro Definition Documentation

◆ AGSA_DEV_TYPE_EDGE_EXPANDER

#define AGSA_DEV_TYPE_EDGE_EXPANDER   (SA_SAS_DEV_TYPE_EDGE_EXPANDER << 4)

Definition at line 64 of file sa_spec.h.

◆ AGSA_DEV_TYPE_END_DEVICE

#define AGSA_DEV_TYPE_END_DEVICE   (SA_SAS_DEV_TYPE_END_DEVICE << 4)

Definition at line 63 of file sa_spec.h.

◆ AGSA_DEV_TYPE_FAN_EXPANDER

#define AGSA_DEV_TYPE_FAN_EXPANDER   (SA_SAS_DEV_TYPE_FANOUT_EXPANDER << 4)

Definition at line 65 of file sa_spec.h.

◆ SA_DISCRSP_GET_ATTACHED_DEVTYPE

#define SA_DISCRSP_GET_ATTACHED_DEVTYPE (   pResp)     (((pResp)->attachedDeviceType & 0x70) >> 4)

Definition at line 1042 of file sa_spec.h.

◆ SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSHI

#define SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSHI (   pResp)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressHi)

Definition at line 1072 of file sa_spec.h.

◆ SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSLO

#define SA_DISCRSP_GET_ATTACHED_SAS_ADDRESSLO (   pResp)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressLo)

Definition at line 1074 of file sa_spec.h.

◆ SA_DISCRSP_GET_LINKRATE

#define SA_DISCRSP_GET_LINKRATE (   pResp)     ((pResp)->negotiatedPhyLinkRate & 0x0F)

Definition at line 1044 of file sa_spec.h.

◆ SA_DISCRSP_GET_ROUTINGATTRIB

#define SA_DISCRSP_GET_ROUTINGATTRIB (   pResp)     ((pResp)->routingAttribute & 0x0F)

Definition at line 1081 of file sa_spec.h.

◆ SA_DISCRSP_GET_SAS_ADDRESSHI

#define SA_DISCRSP_GET_SAS_ADDRESSHI (   pResp)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressHi)

Definition at line 1067 of file sa_spec.h.

◆ SA_DISCRSP_GET_SAS_ADDRESSLO

#define SA_DISCRSP_GET_SAS_ADDRESSLO (   pResp)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressLo)

Definition at line 1069 of file sa_spec.h.

◆ SA_DISCRSP_IS_SATA_DEVICE

#define SA_DISCRSP_IS_SATA_DEVICE (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SATA_BIT) == SA_DISCRSP_SATA_BIT)

Definition at line 1062 of file sa_spec.h.

◆ SA_DISCRSP_IS_SATA_HOST

#define SA_DISCRSP_IS_SATA_HOST (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SATA_BIT) == SA_DISCRSP_SATA_BIT)

Definition at line 1053 of file sa_spec.h.

◆ SA_DISCRSP_IS_SATA_PORTSELECTOR

#define SA_DISCRSP_IS_SATA_PORTSELECTOR (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SATA_PS_BIT) == SA_DISCRSP_SATA_PS_BIT)

Definition at line 1064 of file sa_spec.h.

◆ SA_DISCRSP_IS_SMP_INITIATOR

#define SA_DISCRSP_IS_SMP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SMP_BIT) == SA_DISCRSP_SMP_BIT)

Definition at line 1051 of file sa_spec.h.

◆ SA_DISCRSP_IS_SMP_TARGET

#define SA_DISCRSP_IS_SMP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SMP_BIT) == SA_DISCRSP_SMP_BIT)

Definition at line 1060 of file sa_spec.h.

◆ SA_DISCRSP_IS_SSP_INITIATOR

#define SA_DISCRSP_IS_SSP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SSP_BIT) == SA_DISCRSP_SSP_BIT)

Definition at line 1047 of file sa_spec.h.

◆ SA_DISCRSP_IS_SSP_TARGET

#define SA_DISCRSP_IS_SSP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_SSP_BIT) == SA_DISCRSP_SSP_BIT)

Definition at line 1056 of file sa_spec.h.

◆ SA_DISCRSP_IS_STP_INITIATOR

#define SA_DISCRSP_IS_STP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_STP_BIT) == SA_DISCRSP_STP_BIT)

Definition at line 1049 of file sa_spec.h.

◆ SA_DISCRSP_IS_STP_TARGET

#define SA_DISCRSP_IS_STP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & SA_DISCRSP_STP_BIT) == SA_DISCRSP_STP_BIT)

Definition at line 1058 of file sa_spec.h.

◆ SA_DISCRSP_IS_VIRTUALPHY

#define SA_DISCRSP_IS_VIRTUALPHY (   pResp)     (((pResp)->virtualPhy_partialPathwayTimeout & SA_DISCRSP_VIRTUALPHY_BIT) == SA_DISCRSP_VIRTUALPHY_BIT)

Definition at line 1078 of file sa_spec.h.

◆ SA_DISCRSP_SATA_BIT

#define SA_DISCRSP_SATA_BIT   0x01

Definition at line 1038 of file sa_spec.h.

◆ SA_DISCRSP_SATA_PS_BIT

#define SA_DISCRSP_SATA_PS_BIT   0x80

Definition at line 1040 of file sa_spec.h.

◆ SA_DISCRSP_SMP_BIT

#define SA_DISCRSP_SMP_BIT   0x02

Definition at line 1037 of file sa_spec.h.

◆ SA_DISCRSP_SSP_BIT

#define SA_DISCRSP_SSP_BIT   0x08

Definition at line 1035 of file sa_spec.h.

◆ SA_DISCRSP_STP_BIT

#define SA_DISCRSP_STP_BIT   0x04

Definition at line 1036 of file sa_spec.h.

◆ SA_DISCRSP_VIRTUALPHY_BIT

#define SA_DISCRSP_VIRTUALPHY_BIT   0x80

Definition at line 1077 of file sa_spec.h.

◆ SA_IDENTIFY_FRAME_SIZE

#define SA_IDENTIFY_FRAME_SIZE   (28)

Definition at line 42 of file sa_spec.h.

◆ SA_IDFRM_GET_DEVICETTYPE

#define SA_IDFRM_GET_DEVICETTYPE (   identFrame)     (((identFrame)->deviceType_addressFrameType & 0x70) >> 4)

Definition at line 488 of file sa_spec.h.

◆ SA_IDFRM_GET_SAS_ADDRESSHI

#define SA_IDFRM_GET_SAS_ADDRESSHI (   identFrame)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressHi)

Definition at line 485 of file sa_spec.h.

◆ SA_IDFRM_GET_SAS_ADDRESSLO

#define SA_IDFRM_GET_SAS_ADDRESSLO (   identFrame)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressLo)

Definition at line 482 of file sa_spec.h.

◆ SA_IDFRM_IS_SATA_DEVICE

#define SA_IDFRM_IS_SATA_DEVICE (   identFrame)     (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SATA_BIT) == SA_IDFRM_SATA_BIT)

Definition at line 521 of file sa_spec.h.

◆ SA_IDFRM_IS_SMP_INITIATOR

#define SA_IDFRM_IS_SMP_INITIATOR (   identFrame)     (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_SMP_BIT) == SA_IDFRM_SMP_BIT)

Definition at line 509 of file sa_spec.h.

◆ SA_IDFRM_IS_SMP_TARGET

#define SA_IDFRM_IS_SMP_TARGET (   identFrame)     (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SMP_BIT) == SA_IDFRM_SMP_BIT)

Definition at line 518 of file sa_spec.h.

◆ SA_IDFRM_IS_SSP_INITIATOR

#define SA_IDFRM_IS_SSP_INITIATOR (   identFrame)     (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_SSP_BIT) == SA_IDFRM_SSP_BIT)

Definition at line 503 of file sa_spec.h.

◆ SA_IDFRM_IS_SSP_TARGET

#define SA_IDFRM_IS_SSP_TARGET (   identFrame)     (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SSP_BIT) == SA_IDFRM_SSP_BIT)

Definition at line 512 of file sa_spec.h.

◆ SA_IDFRM_IS_STP_INITIATOR

#define SA_IDFRM_IS_STP_INITIATOR (   identFrame)     (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT)

Definition at line 506 of file sa_spec.h.

◆ SA_IDFRM_IS_STP_TARGET

#define SA_IDFRM_IS_STP_TARGET (   identFrame)     (((identFrame)->target_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT)

Definition at line 515 of file sa_spec.h.

◆ SA_IDFRM_PUT_SAS_ADDRESSHI

#define SA_IDFRM_PUT_SAS_ADDRESSHI (   identFrame,
  src32 
)     ((*(bit32 *)((identFrame)->sasAddressHi)) = BIT32_TO_DMA_BEBIT32(src32))

Definition at line 494 of file sa_spec.h.

◆ SA_IDFRM_PUT_SAS_ADDRESSLO

#define SA_IDFRM_PUT_SAS_ADDRESSLO (   identFrame,
  src32 
)     ((*(bit32 *)((identFrame)->sasAddressLo)) = BIT32_TO_DMA_BEBIT32(src32))

Definition at line 491 of file sa_spec.h.

◆ SA_IDFRM_SATA_BIT

#define SA_IDFRM_SATA_BIT   0x1 /* SATA device, valid in the discovery response only */

Definition at line 500 of file sa_spec.h.

◆ SA_IDFRM_SMP_BIT

#define SA_IDFRM_SMP_BIT   0x2 /* SMP Initiator port */

Definition at line 499 of file sa_spec.h.

◆ SA_IDFRM_SSP_BIT

#define SA_IDFRM_SSP_BIT   0x8 /* SSP Initiator port */

Definition at line 497 of file sa_spec.h.

◆ SA_IDFRM_STP_BIT

#define SA_IDFRM_STP_BIT   0x4 /* STP Initiator port */

Definition at line 498 of file sa_spec.h.

◆ SA_OPENFRM_SIZE

#define SA_OPENFRM_SIZE   (28)

Definition at line 41 of file sa_spec.h.

◆ SA_REPORT_GENERAL_CONFIGURABLE_BIT

#define SA_REPORT_GENERAL_CONFIGURABLE_BIT   0x1

Definition at line 932 of file sa_spec.h.

◆ SA_REPORT_GENERAL_CONFIGURING_BIT

#define SA_REPORT_GENERAL_CONFIGURING_BIT   0x2

Definition at line 931 of file sa_spec.h.

◆ SA_REPORT_GENERAL_GET_ROUTEINDEXES

#define SA_REPORT_GENERAL_GET_ROUTEINDEXES (   pResp)     DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16))

Definition at line 955 of file sa_spec.h.

◆ SA_REPORT_GENERAL_IS_CONFIGURABLE

#define SA_REPORT_GENERAL_IS_CONFIGURABLE (   pResp)
Value:
(((pResp)->configuring_configurable & SA_REPORT_GENERAL_CONFIGURABLE_BIT) == \
SA_REPORT_GENERAL_CONFIGURABLE_BIT)
#define SA_REPORT_GENERAL_CONFIGURABLE_BIT
Definition: sa_spec.h:932

Definition at line 951 of file sa_spec.h.

◆ SA_REPORT_GENERAL_IS_CONFIGURING

#define SA_REPORT_GENERAL_IS_CONFIGURING (   pResp)
Value:
(((pResp)->configuring_configurable & SA_REPORT_GENERAL_CONFIGURING_BIT) == \
SA_REPORT_GENERAL_CONFIGURING_BIT)
#define SA_REPORT_GENERAL_CONFIGURING_BIT
Definition: sa_spec.h:931

Definition at line 947 of file sa_spec.h.

◆ SA_SAS_CONNECTION_RATE_12_0G

#define SA_SAS_CONNECTION_RATE_12_0G   0x0B

Definition at line 56 of file sa_spec.h.

◆ SA_SAS_CONNECTION_RATE_1_5G

#define SA_SAS_CONNECTION_RATE_1_5G   0x08

Definition at line 53 of file sa_spec.h.

◆ SA_SAS_CONNECTION_RATE_3_0G

#define SA_SAS_CONNECTION_RATE_3_0G   0x09

Definition at line 54 of file sa_spec.h.

◆ SA_SAS_CONNECTION_RATE_6_0G

#define SA_SAS_CONNECTION_RATE_6_0G   0x0A

Definition at line 55 of file sa_spec.h.

◆ SA_SAS_DEV_TYPE_EDGE_EXPANDER

#define SA_SAS_DEV_TYPE_EDGE_EXPANDER   0x02

Definition at line 60 of file sa_spec.h.

◆ SA_SAS_DEV_TYPE_END_DEVICE

#define SA_SAS_DEV_TYPE_END_DEVICE   0x01

Definition at line 59 of file sa_spec.h.

◆ SA_SAS_DEV_TYPE_FANOUT_EXPANDER

#define SA_SAS_DEV_TYPE_FANOUT_EXPANDER   0x03

Definition at line 61 of file sa_spec.h.

◆ SA_SAS_DEV_TYPE_NO_DEVICE

#define SA_SAS_DEV_TYPE_NO_DEVICE   0x00

Definition at line 58 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SMP_REQ

#define SA_SAS_FRAME_TYPE_SMP_REQ   0x40

Definition at line 50 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SMP_RSP

#define SA_SAS_FRAME_TYPE_SMP_RSP   0x41

Definition at line 51 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SSP_CMD

#define SA_SAS_FRAME_TYPE_SSP_CMD   0x06

Definition at line 47 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SSP_DATA

#define SA_SAS_FRAME_TYPE_SSP_DATA   0x01

Definition at line 45 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SSP_RSP

#define SA_SAS_FRAME_TYPE_SSP_RSP   0x07

Definition at line 48 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SSP_TASK

#define SA_SAS_FRAME_TYPE_SSP_TASK   0x16

Definition at line 49 of file sa_spec.h.

◆ SA_SAS_FRAME_TYPE_SSP_XRDY

#define SA_SAS_FRAME_TYPE_SSP_XRDY   0x05

Definition at line 46 of file sa_spec.h.

◆ SA_SAS_PHYCTL_CLEAR_AFFILIATION

#define SA_SAS_PHYCTL_CLEAR_AFFILIATION   0x06

Definition at line 93 of file sa_spec.h.

◆ SA_SAS_PHYCTL_CLEAR_ERROR_LOG

#define SA_SAS_PHYCTL_CLEAR_ERROR_LOG   0x05

Definition at line 92 of file sa_spec.h.

◆ SA_SAS_PHYCTL_DISABLE

#define SA_SAS_PHYCTL_DISABLE   0x03

Definition at line 91 of file sa_spec.h.

◆ SA_SAS_PHYCTL_HARD_RESET

#define SA_SAS_PHYCTL_HARD_RESET   0x02

Definition at line 90 of file sa_spec.h.

◆ SA_SAS_PHYCTL_LINK_RESET

#define SA_SAS_PHYCTL_LINK_RESET   0x01

Definition at line 89 of file sa_spec.h.

◆ SA_SAS_PHYCTL_TRANSMIT_PS_SIGNAL

#define SA_SAS_PHYCTL_TRANSMIT_PS_SIGNAL   0x07

Definition at line 94 of file sa_spec.h.

◆ SA_SAS_PROTOCOL_SMP

#define SA_SAS_PROTOCOL_SMP   0x00

Definition at line 37 of file sa_spec.h.

◆ SA_SAS_PROTOCOL_SSP

#define SA_SAS_PROTOCOL_SSP   0x01

Definition at line 38 of file sa_spec.h.

◆ SA_SAS_PROTOCOL_STP

#define SA_SAS_PROTOCOL_STP   0x02

Definition at line 39 of file sa_spec.h.

◆ SA_SAS_ROUTING_DIRECT

#define SA_SAS_ROUTING_DIRECT   0x00

Definition at line 85 of file sa_spec.h.

◆ SA_SAS_ROUTING_SUBTRACTIVE

#define SA_SAS_ROUTING_SUBTRACTIVE   0x01

Definition at line 86 of file sa_spec.h.

◆ SA_SAS_ROUTING_TABLE

#define SA_SAS_ROUTING_TABLE   0x02

Definition at line 87 of file sa_spec.h.

◆ SA_SAS_SMP_CONFIGURE_ROUTING_INFORMATION

#define SA_SAS_SMP_CONFIGURE_ROUTING_INFORMATION   0x90

Definition at line 75 of file sa_spec.h.

◆ SA_SAS_SMP_DISCOVER

#define SA_SAS_SMP_DISCOVER   0x10

Definition at line 70 of file sa_spec.h.

◆ SA_SAS_SMP_FUNCTION_ACCEPTED

#define SA_SAS_SMP_FUNCTION_ACCEPTED   0x00

Definition at line 79 of file sa_spec.h.

◆ SA_SAS_SMP_FUNCTION_FAILED

#define SA_SAS_SMP_FUNCTION_FAILED   0x02

Definition at line 81 of file sa_spec.h.

◆ SA_SAS_SMP_FUNCTION_UNKNOWN

#define SA_SAS_SMP_FUNCTION_UNKNOWN   0x01

Definition at line 80 of file sa_spec.h.

◆ SA_SAS_SMP_INVALID_REQ_FRAME_LENGTH

#define SA_SAS_SMP_INVALID_REQ_FRAME_LENGTH   0x03

Definition at line 82 of file sa_spec.h.

◆ SA_SAS_SMP_PHY_CONTROL

#define SA_SAS_SMP_PHY_CONTROL   0x91

Definition at line 76 of file sa_spec.h.

◆ SA_SAS_SMP_PHY_NOT_EXIST

#define SA_SAS_SMP_PHY_NOT_EXIST   0x10

Definition at line 83 of file sa_spec.h.

◆ SA_SAS_SMP_PHY_TEST

#define SA_SAS_SMP_PHY_TEST   0x92

Definition at line 77 of file sa_spec.h.

◆ SA_SAS_SMP_READ_GPIO_REGISTER

#define SA_SAS_SMP_READ_GPIO_REGISTER   0x02

Definition at line 69 of file sa_spec.h.

◆ SA_SAS_SMP_REPORT_GENERAL

#define SA_SAS_SMP_REPORT_GENERAL   0x00

Definition at line 67 of file sa_spec.h.

◆ SA_SAS_SMP_REPORT_MANUFACTURE_INFORMATION

#define SA_SAS_SMP_REPORT_MANUFACTURE_INFORMATION   0x01

Definition at line 68 of file sa_spec.h.

◆ SA_SAS_SMP_REPORT_PHY_ERROR_LOG

#define SA_SAS_SMP_REPORT_PHY_ERROR_LOG   0x11

Definition at line 71 of file sa_spec.h.

◆ SA_SAS_SMP_REPORT_PHY_SATA

#define SA_SAS_SMP_REPORT_PHY_SATA   0x12

Definition at line 72 of file sa_spec.h.

◆ SA_SAS_SMP_REPORT_ROUTING_INFORMATION

#define SA_SAS_SMP_REPORT_ROUTING_INFORMATION   0x13

Definition at line 73 of file sa_spec.h.

◆ SA_SAS_SMP_WRITE_GPIO_REGISTER

#define SA_SAS_SMP_WRITE_GPIO_REGISTER   0x82

Definition at line 74 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_A_BIT

#define SA_SATA_BIST_PATTERN_A_BIT   0x40

Definition at line 169 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_F_BIT

#define SA_SATA_BIST_PATTERN_F_BIT   0x08

Definition at line 172 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_L_BIT

#define SA_SATA_BIST_PATTERN_L_BIT   0x10

Definition at line 171 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_P_BIT

#define SA_SATA_BIST_PATTERN_P_BIT   0x04

Definition at line 173 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_R_BIT

#define SA_SATA_BIST_PATTERN_R_BIT   0x02

Definition at line 174 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_S_BIT

#define SA_SATA_BIST_PATTERN_S_BIT   0x20

Definition at line 170 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_T_BIT

#define SA_SATA_BIST_PATTERN_T_BIT   0x80

Structure for SATA BIST FIS.

The agsaFisBIST_t data structure describes a SATA FIS (Frame Information Structures) for FIS type BIST (Built In Self Test) Activate Bidirectional.

This data structure is one instance of the SATA request structure agsaSATAInitiatorRequest_t, which is one instance of the generic request, issued to saSATAStart().

Definition at line 168 of file sa_spec.h.

◆ SA_SATA_BIST_PATTERN_V_BIT

#define SA_SATA_BIST_PATTERN_V_BIT   0x01

Definition at line 175 of file sa_spec.h.

◆ SA_SATA_CMD_EXEC_DEV_DIAG

#define SA_SATA_CMD_EXEC_DEV_DIAG   0x90

Definition at line 146 of file sa_spec.h.

◆ SA_SATA_CMD_IDENTIFY_DEVICE

#define SA_SATA_CMD_IDENTIFY_DEVICE   0xEC

Definition at line 145 of file sa_spec.h.

◆ SA_SATA_CONTROL_SRST

#define SA_SATA_CONTROL_SRST   0x04

Definition at line 148 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_BIST

#define SA_SATA_FIS_TYPE_BIST   0x58

Definition at line 143 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_DEV_2_HOST

#define SA_SATA_FIS_TYPE_DEV_2_HOST   0x34

Definition at line 139 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_DMA_ACTIVE

#define SA_SATA_FIS_TYPE_DMA_ACTIVE   0x39

Definition at line 141 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_FDMA_SETUP

#define SA_SATA_FIS_TYPE_FDMA_SETUP   0x41

Definition at line 142 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_HOST_2_DEV

#define SA_SATA_FIS_TYPE_HOST_2_DEV   0x27

Definition at line 138 of file sa_spec.h.

◆ SA_SATA_FIS_TYPE_SET_DEVICE

#define SA_SATA_FIS_TYPE_SET_DEVICE   0xA1

Definition at line 140 of file sa_spec.h.

◆ SA_SATA_H2D_BIST_LEN_BYTES

#define SA_SATA_H2D_BIST_LEN_BYTES   12

Definition at line 151 of file sa_spec.h.

◆ SA_SATA_H2DREG_LEN_BYTES

#define SA_SATA_H2DREG_LEN_BYTES   20

Definition at line 150 of file sa_spec.h.

◆ SA_SATA_MAX_PM_PORTS

#define SA_SATA_MAX_PM_PORTS   15

Definition at line 136 of file sa_spec.h.

◆ SA_SATA_MAX_QUEUED_COMMANDS

#define SA_SATA_MAX_QUEUED_COMMANDS   32

Definition at line 135 of file sa_spec.h.

◆ SA_SATA_RD2H_I_BIT

#define SA_SATA_RD2H_I_BIT   0x40

Structure for SATA Device to Host Register FIS.

The agsaFisRegDeviceToHost_t data structure describes a SATA FIS (Frame Information Structures) for FIS type Register Device to Host.

This structure is used only as inbound data (device to host) to describe device to host response.

Definition at line 289 of file sa_spec.h.

◆ SA_SSP_CMDIU_LEN_BYTES

#define SA_SSP_CMDIU_LEN_BYTES   28

Definition at line 96 of file sa_spec.h.

◆ SA_SSP_TMIU_LEN_BYTES

#define SA_SSP_TMIU_LEN_BYTES   28

Definition at line 97 of file sa_spec.h.

◆ SA_SSPCMD_GET_TASKATTRIB

#define SA_SSPCMD_GET_TASKATTRIB (   pCmd)    ((pCmd)->efb_tp_taskAttribute & 0x7)

Definition at line 807 of file sa_spec.h.

◆ SA_SSPRESP_GET_DATAPRES

#define SA_SSPRESP_GET_DATAPRES (   pSSPResp)    ((pSSPResp)->dataPres & 0x3)

Definition at line 884 of file sa_spec.h.

◆ SA_SSPRESP_GET_RESPONSEDATALEN

#define SA_SSPRESP_GET_RESPONSEDATALEN (   pSSPResp)     DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->responsedataLen)

Definition at line 881 of file sa_spec.h.

◆ SA_SSPRESP_GET_SENSEDATALEN

#define SA_SSPRESP_GET_SENSEDATALEN (   pSSPResp)     DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->senseDataLen)

Definition at line 878 of file sa_spec.h.

◆ SASD_DEV_SAS_EDGE_EXPANDER

#define SASD_DEV_SAS_EDGE_EXPANDER   0x02 /* SAS edge expander device type */

Definition at line 104 of file sa_spec.h.

◆ SASD_DEV_SAS_END_DEVICE

#define SASD_DEV_SAS_END_DEVICE   0x01 /* SAS end device type */

Definition at line 103 of file sa_spec.h.

◆ SASD_DEV_SAS_FAN_EXPANDER

#define SASD_DEV_SAS_FAN_EXPANDER   0x03 /* SAS fan out expander device type */

Definition at line 105 of file sa_spec.h.

◆ SASD_DEV_SAS_MASK

#define SASD_DEV_SAS_MASK   0x0F

Definition at line 101 of file sa_spec.h.

◆ SASD_DEV_SATA_ATA_DEVICE

#define SASD_DEV_SATA_ATA_DEVICE   0x10 /* SATA ATA device type */

Definition at line 107 of file sa_spec.h.

◆ SASD_DEV_SATA_ATAPI_DEVICE

#define SASD_DEV_SATA_ATAPI_DEVICE   0x20 /* SATA ATAPI device type */

Definition at line 108 of file sa_spec.h.

◆ SASD_DEV_SATA_MASK

#define SASD_DEV_SATA_MASK   0xF0

Definition at line 100 of file sa_spec.h.

◆ SASD_DEV_SATA_PM_DEVICE

#define SASD_DEV_SATA_PM_DEVICE   0x30 /* SATA PM device type */

Definition at line 109 of file sa_spec.h.

◆ SASD_DEV_SATA_SEMB_DEVICE

#define SASD_DEV_SATA_SEMB_DEVICE   0x40 /* SATA SEMB device type */

Definition at line 110 of file sa_spec.h.

◆ SASD_DEV_SATA_SEMB_WO_SEP_DEVICE

#define SASD_DEV_SATA_SEMB_WO_SEP_DEVICE   0x50 /* SATA SEMB without SEP device type */

Definition at line 111 of file sa_spec.h.

◆ SASD_DEV_SATA_UNKNOWN_DEVICE

#define SASD_DEV_SATA_UNKNOWN_DEVICE   0xFF /* SAS SATA unknown device type */

Definition at line 113 of file sa_spec.h.

◆ SASD_SAS_ABORT_TASK

#define SASD_SAS_ABORT_TASK   0x01

Definition at line 125 of file sa_spec.h.

◆ SASD_SAS_ABORT_TASK_SET

#define SASD_SAS_ABORT_TASK_SET   0x02

Definition at line 126 of file sa_spec.h.

◆ SASD_SAS_CLEAR_ACA

#define SASD_SAS_CLEAR_ACA   0x40

Definition at line 129 of file sa_spec.h.

◆ SASD_SAS_CLEAR_TASK_SET

#define SASD_SAS_CLEAR_TASK_SET   0x04

Definition at line 127 of file sa_spec.h.

◆ SASD_SAS_LOGICAL_UNIT_RESET

#define SASD_SAS_LOGICAL_UNIT_RESET   0x08

Definition at line 128 of file sa_spec.h.

◆ SASD_SAS_QUARY_TASK

#define SASD_SAS_QUARY_TASK   0x80

Definition at line 130 of file sa_spec.h.

◆ SASD_TASK_ATTR_ACA

#define SASD_TASK_ATTR_ACA   0x4

Definition at line 119 of file sa_spec.h.

◆ SASD_TASK_ATTR_HEAD_OF_QUEUE

#define SASD_TASK_ATTR_HEAD_OF_QUEUE   0x1

Definition at line 117 of file sa_spec.h.

◆ SASD_TASK_ATTR_ORDERED

#define SASD_TASK_ATTR_ORDERED   0x2

Definition at line 118 of file sa_spec.h.

◆ SASD_TASK_ATTR_SIMPLE

#define SASD_TASK_ATTR_SIMPLE   0x0

Definition at line 116 of file sa_spec.h.

Typedef Documentation

◆ agsaFisBIST_t

typedef struct agsaFisBIST_s agsaFisBIST_t

◆ agsaFisBISTData_t

◆ agsaFisBISTHeader_t

◆ agsaFisHeader_t

◆ agsaFisPioSetup_t

◆ agsaFisPioSetupData_t

This structure is used.

◆ agsaFisPioSetupHeader_t

◆ agsaFisRegD2HData_t

◆ agsaFisRegD2HHeader_t

◆ agsaFisRegDeviceToHost_t

◆ agsaFisRegH2DData_t

Structure for SATA Host to Device Register FIS.

The agsaFisRegHostToDevice_t data structure describes a SATA FIS (Frame Information Structures) for FIS type Register Host to Device.

This data structure is one instance of the SATA request structure agsaSATAInitiatorRequest_t, which is one instance of the generic request, issued to saSATAStart().

◆ agsaFisRegH2DHeader_t

◆ agsaFisRegHostToDevice_t

◆ agsaFisSetDevBits_t

◆ agsaFisSetDevBitsData_t

Structure for SATA SetDeviceBit FIS.

The agsaFisSetDevBits_t data structure describes a SATA FIS (Frame Information Structures) for FIS type Set Device Bits - Device to Host.

This structure is used only as inbound data (device to host) to describe device to host response.

◆ agsaFisSetDevBitsHeader_t

◆ agsaSASIdentify_t

describe SAS IDENTIFY address frame

describe SAS IDENTIFY address frame, the CRC field is not included in the structure

◆ agsaSATAHostFis_t

union data structure specifies a FIS from host software

union data structure specifies a FIS from host software

◆ agsaSATAIdentifyData_t

data structure provides the identify data of the SATA device

data structure provides the identify data of the SATA device

◆ agsaSMPFrameHeader_t

data structure describes the first four bytes of the SMP frame.

The agsaSMPFrameHeader_t data structure describes the first four bytes of the SMP frame.

◆ agsaSmpReqConfigureRouteInformation_t

◆ agsaSmpReqDiscover_t

◆ agsaSmpReqPhyControl_t

◆ agsaSmpReqReportPhySata_t

◆ agsaSmpReqReportRouteTable_t

◆ agsaSmpRespDiscover_t

◆ agsaSmpRespReportGeneral_t

◆ agsaSmpRespReportManufactureInfo_t

◆ agsaSmpRespReportPhySata_t

◆ agsaSmpRespReportRouteTable_t

◆ agsaSSPCmdInfoUnit_t

data structure describes an SSP Command INFORMATION UNIT

data structure describes an SSP Command INFORMATION UNIT used for SSP command and is part of the SSP frame.

Currently, only CDB up to 16 bytes is supported. Additional CDB length is supported to 0 bytes..

◆ agsaSSPFrameFormat_t

◆ agsaSSPOpenFrame_t

◆ agsaSSPResponseInfoUnit_t

structure describes an SSP Response INFORMATION UNIT

data structure describes an SSP Response INFORMATION UNIT used for SSP response to Command IU or Task IU and is part of the SSP frame

◆ agsaSSPScsiTaskMgntReq_t

structure describes a SAS SSP Task Management command request

The agsaSSPScsiTaskMgntReq_t data structure describes a SAS SSP Task Management command request sent by the initiator or received by the target.

The response to Task Management is specified by agsaSSPResponseInfoUnit_t.

This data structure is one instance of the generic request issued to saSSPStart() and is passed as an agsaSASRequestBody_t