FreeBSD kernel pms device code
|
The file defines the constants defined by sas spec. More...
Go to the source code of this file.
The file defines the constants defined by sas spec.
Definition in file sa_spec.h.
#define AGSA_DEV_TYPE_EDGE_EXPANDER (SA_SAS_DEV_TYPE_EDGE_EXPANDER << 4) |
#define AGSA_DEV_TYPE_END_DEVICE (SA_SAS_DEV_TYPE_END_DEVICE << 4) |
#define AGSA_DEV_TYPE_FAN_EXPANDER (SA_SAS_DEV_TYPE_FANOUT_EXPANDER << 4) |
#define SA_DISCRSP_GET_ATTACHED_DEVTYPE | ( | pResp | ) | (((pResp)->attachedDeviceType & 0x70) >> 4) |
#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_GET_LINKRATE | ( | pResp | ) | ((pResp)->negotiatedPhyLinkRate & 0x0F) |
#define SA_DISCRSP_GET_ROUTINGATTRIB | ( | pResp | ) | ((pResp)->routingAttribute & 0x0F) |
#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_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_HOST | ( | pResp | ) | (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & 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_IS_SMP_INITIATOR | ( | pResp | ) | (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SMP_BIT) == SA_DISCRSP_SMP_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_SSP_INITIATOR | ( | pResp | ) | (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_SSP_BIT) == SA_DISCRSP_SSP_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_INITIATOR | ( | pResp | ) | (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & SA_DISCRSP_STP_BIT) == SA_DISCRSP_STP_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_VIRTUALPHY | ( | pResp | ) | (((pResp)->virtualPhy_partialPathwayTimeout & SA_DISCRSP_VIRTUALPHY_BIT) == SA_DISCRSP_VIRTUALPHY_BIT) |
#define SA_IDFRM_GET_DEVICETTYPE | ( | identFrame | ) | (((identFrame)->deviceType_addressFrameType & 0x70) >> 4) |
#define SA_IDFRM_GET_SAS_ADDRESSHI | ( | identFrame | ) | DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressHi) |
#define SA_IDFRM_GET_SAS_ADDRESSLO | ( | identFrame | ) | DMA_BEBIT32_TO_BIT32(*(bit32 *)(identFrame)->sasAddressLo) |
#define SA_IDFRM_IS_SATA_DEVICE | ( | identFrame | ) | (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SATA_BIT) == SA_IDFRM_SATA_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_SMP_TARGET | ( | identFrame | ) | (((identFrame)->target_ssp_stp_smp & SA_IDFRM_SMP_BIT) == SA_IDFRM_SMP_BIT) |
#define SA_IDFRM_IS_SSP_INITIATOR | ( | identFrame | ) | (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_SSP_BIT) == SA_IDFRM_SSP_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_INITIATOR | ( | identFrame | ) | (((identFrame)->initiator_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT) |
#define SA_IDFRM_IS_STP_TARGET | ( | identFrame | ) | (((identFrame)->target_ssp_stp_smp & SA_IDFRM_STP_BIT) == SA_IDFRM_STP_BIT) |
#define SA_IDFRM_PUT_SAS_ADDRESSHI | ( | identFrame, | |
src32 | |||
) | ((*(bit32 *)((identFrame)->sasAddressHi)) = BIT32_TO_DMA_BEBIT32(src32)) |
#define SA_IDFRM_PUT_SAS_ADDRESSLO | ( | identFrame, | |
src32 | |||
) | ((*(bit32 *)((identFrame)->sasAddressLo)) = BIT32_TO_DMA_BEBIT32(src32)) |
#define SA_IDFRM_SATA_BIT 0x1 /* SATA device, valid in the discovery response only */ |
#define SA_REPORT_GENERAL_GET_ROUTEINDEXES | ( | pResp | ) | DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16)) |
#define SA_REPORT_GENERAL_IS_CONFIGURABLE | ( | pResp | ) |
#define SA_REPORT_GENERAL_IS_CONFIGURING | ( | pResp | ) |
#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().
#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.
#define SA_SSPCMD_GET_TASKATTRIB | ( | pCmd | ) | ((pCmd)->efb_tp_taskAttribute & 0x7) |
#define SA_SSPRESP_GET_DATAPRES | ( | pSSPResp | ) | ((pSSPResp)->dataPres & 0x3) |
#define SA_SSPRESP_GET_RESPONSEDATALEN | ( | pSSPResp | ) | DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->responsedataLen) |
#define SA_SSPRESP_GET_SENSEDATALEN | ( | pSSPResp | ) | DMA_BEBIT32_TO_BIT32(*(bit32*)(pSSPResp)->senseDataLen) |
#define SASD_DEV_SAS_EDGE_EXPANDER 0x02 /* SAS edge expander device type */ |
#define SASD_DEV_SAS_END_DEVICE 0x01 /* SAS end 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 */ |
typedef struct agsaFisBIST_s agsaFisBIST_t |
typedef struct agsaFisBISTData_s agsaFisBISTData_t |
typedef struct agsaFisBISTHeader_s agsaFisBISTHeader_t |
typedef union agsaFisHeader_s agsaFisHeader_t |
typedef struct agsaFisPioSetup_s agsaFisPioSetup_t |
typedef struct agsaFisPioSetupData_s agsaFisPioSetupData_t |
This structure is used.
typedef struct agsaFisPioSetupHeader_s agsaFisPioSetupHeader_t |
typedef struct agsaFisRegD2HData_s agsaFisRegD2HData_t |
typedef struct agsaFisRegD2HHeader_s agsaFisRegD2HHeader_t |
typedef struct agsaFisRegDeviceToHost_s agsaFisRegDeviceToHost_t |
typedef struct agsaFisRegH2DData_s 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().
typedef struct agsaFisRegH2DHeader_s agsaFisRegH2DHeader_t |
typedef struct agsaFisRegHostToDevice_s agsaFisRegHostToDevice_t |
typedef struct agsaFisSetDevBits_s agsaFisSetDevBits_t |
typedef struct agsaFisSetDevBitsData_s 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.
typedef struct agsaFisSetDevBitsHeader_s agsaFisSetDevBitsHeader_t |
typedef struct agsaSASIdentify_s agsaSASIdentify_t |
describe SAS IDENTIFY address frame
describe SAS IDENTIFY address frame, the CRC field is not included in the structure
typedef union agsaSATAHostFis_u agsaSATAHostFis_t |
union data structure specifies a FIS from host software
union data structure specifies a FIS from host software
typedef struct agsaSATAIdentifyData_s agsaSATAIdentifyData_t |
data structure provides the identify data of the SATA device
data structure provides the identify data of the SATA device
typedef struct agsaSMPFrameHeader_s 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.
typedef struct agsaSmpReqDiscover_s agsaSmpReqDiscover_t |
typedef struct agsaSmpReqPhyControl_s agsaSmpReqPhyControl_t |
typedef struct agsaSmpReqReportPhySata_s agsaSmpReqReportPhySata_t |
typedef struct agsaSmpReqReportRouteTable_s agsaSmpReqReportRouteTable_t |
typedef struct agsaSmpRespDiscover_s agsaSmpRespDiscover_t |
typedef struct agsaSmpRespReportGeneral_s agsaSmpRespReportGeneral_t |
typedef struct agsaSmpRespReportPhySata_s agsaSmpRespReportPhySata_t |
typedef struct agsaSmpRespReportRouteTable_s agsaSmpRespReportRouteTable_t |
typedef struct agsaSSPCmdInfoUnit_s 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..
typedef struct agsaSSPFrameFormat_s agsaSSPFrameFormat_t |
typedef struct agsaSSPOpenFrame_s agsaSSPOpenFrame_t |
typedef struct agsaSSPResponseInfoUnit_s 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
typedef struct agsaSSPScsiTaskMgntReq_s 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