FreeBSD kernel pms device code
dmdefs.h File Reference
Include dependency graph for dmdefs.h:

Go to the source code of this file.

Data Structures

struct  dmSMPFrameHeader_s
 
struct  smpRespReportGeneral_s
 
struct  smpRespReportManufactureInfo_s
 
struct  smpReqDiscover_s
 
struct  smpRespDiscover_s
 
struct  smpReqReportRouteTable_s
 
struct  smpRespReportRouteTable_s
 
struct  smpReqConfigureRouteInformation_s
 
struct  smpReqReportPhySata_s
 
struct  smpRespReportPhySata_s
 
struct  smpReqPhyControl_s
 
struct  tdssSMPFrameHeader2_s
 
struct  smpRespReportGeneral2_s
 
struct  smpRespReportManufactureInfo2_s
 
struct  smpReqDiscover2_s
 
struct  smpRespDiscover2_s
 
struct  smpReqDiscoverList2_s
 
struct  smpRespDiscoverList2_s
 
struct  smpReqReportRouteTable2_s
 
struct  smpRespReportRouteTable2_s
 
struct  smpReqConfigureRouteInformation2_s
 
struct  smpReqReportPhySata2_s
 
struct  smpRespReportPhySata2_s
 
struct  smpReqPhyControl2_s
 

Macros

#define DIRECT_SMP
 
#define DM_ROOT_MEM_INDEX   0
 
#define DM_PORT_MEM_INDEX   1
 
#define DM_DEVICE_MEM_INDEX   2
 
#define DM_EXPANDER_MEM_INDEX   3
 
#define DM_SMP_MEM_INDEX   4
 
#define DM_INDIRECT_SMP_MEM_INDEX   5
 
#define DM_MAX_NUM_PHYS   16
 
#define DM_MAX_EXPANDER_PHYS   256
 
#define DM_MAX_DEV   2048
 
#define DM_MAX_EXPANDER_DEV   32
 
#define DM_MAX_PORT_CONTEXT   16
 
#define DM_MAX_SMP   32
 
#define DM_MAX_INDIRECT_SMP   DM_MAX_SMP
 
#define DM_USECS_PER_TICK   1000000
 
#define PIO_SETUP_DEV_TO_HOST_FIS   0x5F
 
#define REG_DEV_TO_HOST_FIS   0x34
 
#define SET_DEV_BITS_FIS   0xA1
 
#define DEFAULT_KEY_BUFFER_SIZE   64
 
#define DEFAULT_SMP_TIMEOUT   0xFFFF
 
#define SMP_DIRECT_PAYLOAD_LIMIT   44
 
#define SMP_INDIRECT_PAYLOAD   512
 
#define SMP_MAXIMUM_PAYLOAD   1024
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 MIN macro. More...
 
#define MAX(a, b)   ((a) < (b) ? (b) : (a))
 MAX macro. More...
 
#define agNULL   ((void *)0)
 
#define DM_DBG0(format)
 
#define DM_DBG1(format)
 
#define DM_DBG2(format)
 
#define DM_DBG3(format)
 
#define DM_DBG4(format)
 
#define DM_DBG5(format)
 
#define DM_DBG6(format)
 
#define DM_DSTATE_NOT_STARTED   0
 
#define DM_DSTATE_STARTED   1
 
#define DM_DSTATE_COMPLETED   2
 
#define DM_DSTATE_COMPLETED_WITH_FAILURE   3
 
#define DISCOVERY_NOT_START   0
 
#define DISCOVERY_UP_STREAM   1
 
#define DISCOVERY_DOWN_STREAM   2
 
#define DISCOVERY_CONFIG_ROUTING   3
 
#define DISCOVERY_SAS_DONE   4
 
#define DISCOVERY_REPORT_PHY_SATA   5
 
#define SMP_REPORT_GENERAL   0x00
 
#define SMP_REPORT_MANUFACTURE_INFORMATION   0x01
 
#define SMP_READ_GPIO_REGISTER   0x02
 
#define SMP_DISCOVER   0x10
 
#define SMP_REPORT_PHY_ERROR_LOG   0x11
 
#define SMP_REPORT_PHY_SATA   0x12
 
#define SMP_REPORT_ROUTING_INFORMATION   0x13
 
#define SMP_WRITE_GPIO_REGISTER   0x82
 
#define SMP_CONFIGURE_ROUTING_INFORMATION   0x90
 
#define SMP_PHY_CONTROL   0x91
 
#define SMP_PHY_TEST_FUNCTION   0x92
 
#define SMP_PMC_SPECIFIC   0xC0
 
#define SMP_DISCOVER_LIST   0x20
 
#define SMP_FUNCTION_ACCEPTED   0x00
 
#define UNKNOWN_SMP_FUNCTION   0x01
 
#define SMP_FUNCTION_FAILED   0x02
 
#define INVALID_REQUEST_FRAME_LENGTH   0x03
 
#define INVALID_EXPANDER_CHANGE_COUNT   0x04
 
#define SMP_FN_BUSY   0x05
 
#define INCOMPLETE_DESCRIPTOR_LIST   0x06
 
#define PHY_DOES_NOT_EXIST   0x10
 
#define INDEX_DOES_NOT_EXIST   0x11
 
#define PHY_DOES_NOT_SUPPORT_SATA   0x12
 
#define UNKNOWN_PHY_OPERATION   0x13
 
#define UNKNOWN_PHY_TEST_FUNCTION   0x14
 
#define PHY_TEST_FUNCTION_IN_PROGRESS   0x15
 
#define PHY_VACANT   0x16
 
#define UNKNOWN_PHY_EVENT_SOURCE   0x17
 
#define UNKNOWN_DESCRIPTOT_TYPE   0x18
 
#define UNKNOWN_PHY_FILETER   0x19
 
#define AFFILIATION_VIOLATION   0x1A
 
#define SMP_ZONE_VIOLATION   0x20
 
#define NO_MANAGEMENT_ACCESS_RIGHTS   0x21
 
#define UNKNOWN_ENABLE_DISABLE_ZONING_VALUE   0x22
 
#define ZONE_LOCK_VIOLATION   0x23
 
#define NOT_ACTIVATED   0x24
 
#define ZONE_GROUP_OUT_OF_RANGE   0x25
 
#define NO_PHYSICAL_PRESENCE   0x26
 
#define SAVING_NOT_SUPPORTED   0x27
 
#define SOURCE_ZONE_GROUP_DOES_NOT_EXIST   0x28
 
#define DISABLED_PASSWORD_NOT_SUPPORTED   0x29
 
#define SMP_PHY_CONTROL_NOP   0x00
 
#define SMP_PHY_CONTROL_LINK_RESET   0x01
 
#define SMP_PHY_CONTROL_HARD_RESET   0x02
 
#define SMP_PHY_CONTROL_DISABLE   0x03
 
#define SMP_PHY_CONTROL_CLEAR_ERROR_LOG   0x05
 
#define SMP_PHY_CONTROL_CLEAR_AFFILIATION   0x06
 
#define SMP_PHY_CONTROL_XMIT_SATA_PS_SIGNAL   0x07
 
#define DM_VEN_DEV_SPC   0x80010000
 
#define DM_VEN_DEV_ADAPSPC   0x80810000
 
#define DM_VEN_DEV_SPCv   0x80080000
 
#define DM_VEN_DEV_SPCve   0x80090000
 
#define DM_VEN_DEV_SPCvplus   0x80180000
 
#define DM_VEN_DEV_SPCveplus   0x80190000
 
#define DM_VEN_DEV_ADAPvplus   0x80880000
 
#define DM_VEN_DEV_ADAPveplus   0x80890000
 
#define DMIsSPC(agr)   (DM_VEN_DEV_SPC == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPC */
 
#define DMIsSPCADAP(agr)   (DM_VEN_DEV_SPC == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPC */
 
#define DMIsSPCv(agr)   (DM_VEN_DEV_SPCv == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv */
 
#define DMIsSPCve(agr)   (DM_VEN_DEV_SPCve == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve */
 
#define DMIsSPCvplus(agr)   (DM_VEN_DEV_SPCvplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv+ */
 
#define DMIsSPCveplus(agr)   (DM_VEN_DEV_SPCveplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve+ */
 
#define DMIsSPCADAPvplus(agr)   (DM_VEN_DEV_ADAPvplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv+ */
 
#define DMIsSPCADAPveplus(agr)   (DM_VEN_DEV_ADAPveplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve+ */
 
#define REPORT_GENERAL_CONFIGURING_BIT   0x2
 
#define REPORT_GENERAL_CONFIGURABLE_BIT   0x1
 
#define REPORT_GENERAL_LONG_RESPONSE_BIT   0x80
 
#define REPORT_GENERAL_IS_CONFIGURING(pResp)
 
#define REPORT_GENERAL_IS_CONFIGURABLE(pResp)
 
#define REPORT_GENERAL_GET_ROUTEINDEXES(pResp)    DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16))
 
#define REPORT_GENERAL_IS_LONG_RESPONSE(pResp)
 
#define DISCRSP_SSP_BIT   0x08
 
#define DISCRSP_STP_BIT   0x04
 
#define DISCRSP_SMP_BIT   0x02
 
#define DISCRSP_SATA_BIT   0x01
 
#define DISCRSP_SATA_PS_BIT   0x80
 
#define DISCRSP_GET_ATTACHED_DEVTYPE(pResp)    (((pResp)->attachedDeviceType & 0x70) >> 4)
 
#define DISCRSP_GET_LINKRATE(pResp)    ((pResp)->negotiatedPhyLinkRate & 0x0F)
 
#define DISCRSP_IS_SSP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
 
#define DISCRSP_IS_STP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
 
#define DISCRSP_IS_SMP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
 
#define DISCRSP_IS_SATA_HOST(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
 
#define DISCRSP_IS_SSP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
 
#define DISCRSP_IS_STP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
 
#define DISCRSP_IS_SMP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
 
#define DISCRSP_IS_SATA_DEVICE(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
 
#define DISCRSP_IS_SATA_PORTSELECTOR(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_PS_BIT) == DISCRSP_SATA_PS_BIT)
 
#define DISCRSP_GET_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressHi)
 
#define DISCRSP_GET_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressLo)
 
#define DISCRSP_GET_ATTACHED_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressHi)
 
#define DISCRSP_GET_ATTACHED_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressLo)
 
#define DISCRSP_VIRTUALPHY_BIT   0x80
 
#define DISCRSP_IS_VIRTUALPHY(pResp)    (((pResp)->virtualPhy_partialPathwayTimeout & DISCRSP_VIRTUALPHY_BIT) == DISCRSP_VIRTUALPHY_BIT)
 
#define DISCRSP_GET_ROUTINGATTRIB(pResp)    ((pResp)->routingAttribute & 0x0F)
 
#define REPORT_GENERAL_TABLE_TO_TABLE_SUPPORTED_BIT   0x80
 
#define REPORT_GENERAL_CONFIGURES_OTHERS_BIT   0x04
 
#define SAS2_REPORT_GENERAL_GET_ROUTEINDEXES(pResp)    DMA_BEBIT16_TO_BIT16(*(bit16 *)((pResp)->expanderRouteIndexes16))
 
#define SAS2_REPORT_GENERAL_IS_CONFIGURING(pResp)
 
#define SAS2_REPORT_GENERAL_IS_CONFIGURABLE(pResp)
 
#define SAS2_REPORT_GENERAL_IS_TABLE_TO_TABLE_SUPPORTED(pResp)
 
#define SAS2_REPORT_GENERAL_IS_CONFIGURES_OTHERS(pResp)
 
#define SAS2_DISCRSP_SSP_BIT   0x08
 
#define SAS2_DISCRSP_STP_BIT   0x04
 
#define SAS2_DISCRSP_SMP_BIT   0x02
 
#define SAS2_DISCRSP_SATA_BIT   0x01
 
#define SAS2_DISCRSP_SATA_PS_BIT   0x80
 
#define SAS2_MUXING_SUPPORTED   0x01
 
#define SAS2_DISCRSP_GET_ATTACHED_DEVTYPE(pResp)    (((pResp)->attachedDeviceTypeReason & 0x70) >> 4)
 
#define SAS2_DISCRSP_GET_LINKRATE(pResp)    ((pResp)->ReasonNegotiatedPhysicalLinkRate & 0x0F)
 
#define SAS2_DISCRSP_GET_LOGICAL_LINKRATE(pResp)    ((pResp)->NegotiatedLogicalLinkRate & 0x0F)
 
#define SAS2_DISCRSP_IS_SSP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
 
#define SAS2_DISCRSP_IS_STP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
 
#define SAS2_DISCRSP_IS_SMP_INITIATOR(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
 
#define SAS2_DISCRSP_IS_SATA_HOST(pResp)    (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
 
#define SAS2_DISCRSP_IS_SSP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)
 
#define SAS2_DISCRSP_IS_STP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)
 
#define SAS2_DISCRSP_IS_SMP_TARGET(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)
 
#define SAS2_DISCRSP_IS_SATA_DEVICE(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)
 
#define SAS2_DISCRSP_IS_SATA_PORTSELECTOR(pResp)    (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_PS_BIT) == DISCRSP_SATA_PS_BIT)
 
#define SAS2_DISCRSP_GET_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressHi)
 
#define SAS2_DISCRSP_GET_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->sasAddressLo)
 
#define SAS2_DISCRSP_GET_ATTACHED_SAS_ADDRESSHI(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressHi)
 
#define SAS2_DISCRSP_GET_ATTACHED_SAS_ADDRESSLO(pResp)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(pResp)->attachedSasAddressLo)
 
#define SAS2_DISCRSP_VIRTUALPHY_BIT   0x80
 
#define SAS2_DISCRSP_IS_VIRTUALPHY(pResp)    (((pResp)->virtualPhy_partialPathwayTimeout & DISCRSP_VIRTUALPHY_BIT) == DISCRSP_VIRTUALPHY_BIT)
 
#define SAS2_DISCRSP_GET_ROUTINGATTRIB(pResp)    ((pResp)->routingAttribute & 0x0F)
 
#define SAS2_DISCRSP_IS_MUXING_SUPPORTED(pResp)    (((pResp)->NegotiatedSSCHWMuxingSupported & SAS2_MUXING_SUPPORTED) == SAS2_MUXING_SUPPORTED)
 
#define SMP_REQUEST   0x40
 
#define SMP_RESPONSE   0x41
 
#define DM_GET_SAS_ADDRESSLO(sasAddressLo)    DMA_BEBIT32_TO_BIT32(*(bit32 *)sasAddressLo)
 
#define DM_GET_SAS_ADDRESSHI(sasAddressHi)    DMA_BEBIT32_TO_BIT32(*(bit32 *)sasAddressHi)
 
#define DM_GET_LINK_RATE(input)   (input & 0x0F)
 
#define DM_SAS_CONNECTION_RATE_1_5G   0x08
 
#define DM_SAS_CONNECTION_RATE_3_0G   0x09
 
#define DM_SAS_CONNECTION_RATE_6_0G   0x0A
 
#define DM_SAS_CONNECTION_RATE_12_0G   0x0B
 
#define DISCOVERY_CONFIGURING_TIMER_VALUE   (3 * 1000 * 1000) /* 3 seconds */
 
#define DISCOVERY_RETRIES   3
 
#define CONFIGURE_ROUTE_TIMER_VALUE   (1 * 1000 * 1000) /* 1 seconds */
 
#define DEVICE_REGISTRATION_TIMER_VALUE   (2 * 1000 * 1000) /* 2 seconds */
 
#define SMP_RETRIES   5
 
#define SMP_BUSY_TIMER_VALUE   (1 * 1000 * 1000) /* 1 second */
 
#define SMP_BUSY_RETRIES   5
 
#define SATA_ID_DEVICE_DATA_TIMER_VALUE   (3 * 1000 * 1000) /* 3 second */
 
#define SATA_ID_DEVICE_DATA_RETRIES   3
 
#define BC_TIMER_VALUE   (5 * 1000 * 1000) /* 5 second */
 
#define SMP_TIMER_VALUE   (30 * 1000 * 1000) /* 30 second */
 
#define STP_DEVICE_TYPE   0 /* SATA behind expander 00*/
 
#define SAS_DEVICE_TYPE   1 /* SSP or SMP 01 */
 
#define SATA_DEVICE_TYPE   2 /* direct SATA 10 */
 
#define ATAPI_DEVICE_FLAG   0x200000 /* ATAPI device flag*/
 
#define SATA_ATA_DEVICE   0x01
 
#define SATA_ATAPI_DEVICE   0x02
 
#define SATA_PM_DEVICE   0x03
 
#define SATA_SEMB_DEVICE   0x04
 
#define SATA_SEMB_WO_SEP_DEVICE   0x05
 
#define UNKNOWN_DEVICE   0xFF
 
#define SAS_NO_DEVICE   0
 
#define SAS_END_DEVICE   1
 
#define SAS_EDGE_EXPANDER_DEVICE   2
 
#define SAS_FANOUT_EXPANDER_DEVICE   3
 
#define SAS_ROUTING_DIRECT   0x00
 
#define SAS_ROUTING_SUBTRACTIVE   0x01
 
#define SAS_ROUTING_TABLE   0x02
 
#define SAS_CONNECTION_RATE_1_5G   0x08
 
#define SAS_CONNECTION_RATE_3_0G   0x09
 
#define SAS_CONNECTION_RATE_6_0G   0x0A
 
#define SAS_CONNECTION_RATE_12_0G   0x0B
 
#define IT_NEXUS_TIMEOUT   0x7D0 /* 2000 ms; old value was 0xFFFF */
 
#define DEVINFO_GET_SAS_ADDRESSLO(devInfo)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressLo)
 
#define DEVINFO_GET_SAS_ADDRESSHI(devInfo)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressHi)
 
#define DEVINFO_GET_DEVICETTYPE(devInfo)    (((devInfo)->devType_S_Rate & 0xC0) >> 6)
 
#define DEVINFO_GET_LINKRATE(devInfo)    ((devInfo)->devType_S_Rate & 0x0F)
 
#define DM_DEFAULT_DEVICE   0
 
#define DM_SAS_DEVICE   1
 
#define DM_SATA_DEVICE   2
 
#define DEVICE_SSP_BIT   0x8 /* SSP Initiator port */
 
#define DEVICE_STP_BIT   0x4 /* STP Initiator port */
 
#define DEVICE_SMP_BIT   0x2 /* SMP Initiator port */
 
#define DEVICE_SATA_BIT   0x1 /* SATA device, valid in the discovery response only */
 
#define DEVICE_IS_SSP_INITIATOR(DeviceData)    (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)
 
#define DEVICE_IS_STP_INITIATOR(DeviceData)    (((DeviceData)->initiator_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)
 
#define DEVICE_IS_SMP_INITIATOR(DeviceData)    (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)
 
#define DEVICE_IS_SSP_TARGET(DeviceData)    (((DeviceData)->target_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)
 
#define DEVICE_IS_STP_TARGET(DeviceData)    (((DeviceData)->target_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)
 
#define DEVICE_IS_SMP_TARGET(DeviceData)    (((DeviceData)->target_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)
 
#define DEVICE_IS_SATA_DEVICE(DeviceData)    (((DeviceData)->target_ssp_stp_smp & DEVICE_SATA_BIT) == DEVICE_SATA_BIT)
 
#define DEVINFO_GET_SAS_ADDRESSLO(devInfo)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressLo)
 
#define DEVINFO_GET_SAS_ADDRESSHI(devInfo)    DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressHi)
 
#define DEVINFO_GET_DEVICETTYPE(devInfo)    (((devInfo)->devType_S_Rate & 0xC0) >> 6)
 
#define DEVINFO_GET_LINKRATE(devInfo)    ((devInfo)->devType_S_Rate & 0x0F)
 
#define DEVINFO_GET_EXT_SMP(devInfo)    (((devInfo)->ext & 0x100) >> 8)
 
#define DEVINFO_GET_EXT_EXPANDER_TYPE(devInfo)    (((devInfo)->ext & 0x600) >> 9)
 
#define DEVINFO_GET_EXT_MCN(devInfo)    (((devInfo)->ext & 0x7800) >> 11)
 
#define DEVINFO_PUT_SMPTO(devInfo, smpto)    ((devInfo)->smpTimeout) = smpto
 
#define DEVINFO_PUT_ITNEXUSTO(devInfo, itnexusto)    ((devInfo)->it_NexusTimeout) = itnexusto
 
#define DEVINFO_PUT_FBS(devInfo, fbs)    ((devInfo)->firstBurstSize) = fbs
 
#define DEVINFO_PUT_FLAG(devInfo, tlr)    ((devInfo)->flag) = tlr
 
#define DEVINFO_PUT_DEV_S_RATE(devInfo, dev_s_rate)    ((devInfo)->devType_S_Rate) = dev_s_rate
 
#define DEVINFO_PUT_SAS_ADDRESSLO(devInfo, src32)    *(bit32 *)((devInfo)->sasAddressLo) = BIT32_TO_DMA_BEBIT32(src32)
 
#define DEVINFO_PUT_SAS_ADDRESSHI(devInfo, src32)    *(bit32 *)((devInfo)->sasAddressHi) = BIT32_TO_DMA_BEBIT32(src32)
 
#define DEVINFO_PUT_INITIATOR_SSP_STP_SMP(devInfo, ini_ssp_stp_smp)    ((devInfo)->initiator_ssp_stp_smp) = ini_ssp_stp_smp
 
#define DEVINFO_PUT_TARGET_SSP_STP_SMP(devInfo, tgt_ssp_stp_smp)    ((devInfo)->target_ssp_stp_smp) = tgt_ssp_stp_smp
 
#define DEVINFO_PUT_EXT(devInfo, extension)    ((devInfo)->ext) = extension
 

Typedefs

typedef struct dmSMPFrameHeader_s dmSMPFrameHeader_t
 
typedef struct smpRespReportGeneral_s smpRespReportGeneral_t
 
typedef struct smpRespReportManufactureInfo_s smpRespReportManufactureInfo_t
 
typedef struct smpReqDiscover_s smpReqDiscover_t
 
typedef struct smpRespDiscover_s smpRespDiscover_t
 
typedef struct smpReqReportRouteTable_s smpReqReportRouteTable_t
 
typedef struct smpRespReportRouteTable_s smpRespReportRouteTable_t
 
typedef struct smpReqConfigureRouteInformation_s smpReqConfigureRouteInformation_t
 
typedef struct smpReqReportPhySata_s smpReqReportPhySata_t
 
typedef struct smpRespReportPhySata_s smpRespReportPhySata_t
 
typedef struct smpReqPhyControl_s smpReqPhyControl_t
 
typedef struct tdssSMPFrameHeader2_s tdssSMPFrameHeader2_t
 
typedef struct smpRespReportGeneral2_s smpRespReportGeneral2_t
 
typedef struct smpRespReportManufactureInfo2_s smpRespReportManufactureInfo2_t
 
typedef struct smpReqDiscover2_s smpReqDiscover2_t
 
typedef struct smpRespDiscover2_s smpRespDiscover2_t
 
typedef struct smpReqDiscoverList2_s smpReqDiscoverList2_t
 
typedef struct smpRespDiscoverList2_s smpRespDiscoverList2_t
 
typedef struct smpReqReportRouteTable2_s smpReqReportRouteTable2_t
 
typedef struct smpRespReportRouteTable2_s smpRespReportRouteTable2_t
 
typedef struct smpReqConfigureRouteInformation2_s smpReqConfigureRouteInformation2_t
 
typedef struct smpReqReportPhySata2_s smpReqReportPhySata2_t
 
typedef struct smpRespReportPhySata2_s smpRespReportPhySata2_t
 
typedef struct smpReqPhyControl2_s smpReqPhyControl2_t
 

Enumerations

enum  dm_locks_e {
  DM_PORT_LOCK = 0 , DM_DEVICE_LOCK , DM_EXPANDER_LOCK , DM_TIMER_LOCK ,
  DM_SMP_LOCK , DM_MAX_LOCKS
}
 

Macro Definition Documentation

◆ AFFILIATION_VIOLATION

#define AFFILIATION_VIOLATION   0x1A

Definition at line 184 of file dmdefs.h.

◆ agNULL

#define agNULL   ((void *)0)

Definition at line 101 of file dmdefs.h.

◆ ATAPI_DEVICE_FLAG

#define ATAPI_DEVICE_FLAG   0x200000 /* ATAPI device flag*/

Definition at line 1097 of file dmdefs.h.

◆ BC_TIMER_VALUE

#define BC_TIMER_VALUE   (5 * 1000 * 1000) /* 5 second */

Definition at line 1091 of file dmdefs.h.

◆ CONFIGURE_ROUTE_TIMER_VALUE

#define CONFIGURE_ROUTE_TIMER_VALUE   (1 * 1000 * 1000) /* 1 seconds */

Definition at line 1084 of file dmdefs.h.

◆ DEFAULT_KEY_BUFFER_SIZE

#define DEFAULT_KEY_BUFFER_SIZE   64

Definition at line 60 of file dmdefs.h.

◆ DEFAULT_SMP_TIMEOUT

#define DEFAULT_SMP_TIMEOUT   0xFFFF

Definition at line 72 of file dmdefs.h.

◆ DEVICE_IS_SATA_DEVICE

#define DEVICE_IS_SATA_DEVICE (   DeviceData)     (((DeviceData)->target_ssp_stp_smp & DEVICE_SATA_BIT) == DEVICE_SATA_BIT)

Definition at line 1172 of file dmdefs.h.

◆ DEVICE_IS_SMP_INITIATOR

#define DEVICE_IS_SMP_INITIATOR (   DeviceData)     (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)

Definition at line 1160 of file dmdefs.h.

◆ DEVICE_IS_SMP_TARGET

#define DEVICE_IS_SMP_TARGET (   DeviceData)     (((DeviceData)->target_ssp_stp_smp & DEVICE_SMP_BIT) == DEVICE_SMP_BIT)

Definition at line 1169 of file dmdefs.h.

◆ DEVICE_IS_SSP_INITIATOR

#define DEVICE_IS_SSP_INITIATOR (   DeviceData)     (((DeviceData)->initiator_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)

Definition at line 1154 of file dmdefs.h.

◆ DEVICE_IS_SSP_TARGET

#define DEVICE_IS_SSP_TARGET (   DeviceData)     (((DeviceData)->target_ssp_stp_smp & DEVICE_SSP_BIT) == DEVICE_SSP_BIT)

Definition at line 1163 of file dmdefs.h.

◆ DEVICE_IS_STP_INITIATOR

#define DEVICE_IS_STP_INITIATOR (   DeviceData)     (((DeviceData)->initiator_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)

Definition at line 1157 of file dmdefs.h.

◆ DEVICE_IS_STP_TARGET

#define DEVICE_IS_STP_TARGET (   DeviceData)     (((DeviceData)->target_ssp_stp_smp & DEVICE_STP_BIT) == DEVICE_STP_BIT)

Definition at line 1166 of file dmdefs.h.

◆ DEVICE_REGISTRATION_TIMER_VALUE

#define DEVICE_REGISTRATION_TIMER_VALUE   (2 * 1000 * 1000) /* 2 seconds */

Definition at line 1085 of file dmdefs.h.

◆ DEVICE_SATA_BIT

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

Definition at line 1152 of file dmdefs.h.

◆ DEVICE_SMP_BIT

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

Definition at line 1151 of file dmdefs.h.

◆ DEVICE_SSP_BIT

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

Definition at line 1149 of file dmdefs.h.

◆ DEVICE_STP_BIT

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

Definition at line 1150 of file dmdefs.h.

◆ DEVINFO_GET_DEVICETTYPE [1/2]

#define DEVINFO_GET_DEVICETTYPE (   devInfo)     (((devInfo)->devType_S_Rate & 0xC0) >> 6)

Definition at line 1183 of file dmdefs.h.

◆ DEVINFO_GET_DEVICETTYPE [2/2]

#define DEVINFO_GET_DEVICETTYPE (   devInfo)     (((devInfo)->devType_S_Rate & 0xC0) >> 6)

Definition at line 1183 of file dmdefs.h.

◆ DEVINFO_GET_EXT_EXPANDER_TYPE

#define DEVINFO_GET_EXT_EXPANDER_TYPE (   devInfo)     (((devInfo)->ext & 0x600) >> 9)

Definition at line 1193 of file dmdefs.h.

◆ DEVINFO_GET_EXT_MCN

#define DEVINFO_GET_EXT_MCN (   devInfo)     (((devInfo)->ext & 0x7800) >> 11)

Definition at line 1196 of file dmdefs.h.

◆ DEVINFO_GET_EXT_SMP

#define DEVINFO_GET_EXT_SMP (   devInfo)     (((devInfo)->ext & 0x100) >> 8)

Definition at line 1190 of file dmdefs.h.

◆ DEVINFO_GET_LINKRATE [1/2]

#define DEVINFO_GET_LINKRATE (   devInfo)     ((devInfo)->devType_S_Rate & 0x0F)

target device type

Definition at line 1186 of file dmdefs.h.

◆ DEVINFO_GET_LINKRATE [2/2]

#define DEVINFO_GET_LINKRATE (   devInfo)     ((devInfo)->devType_S_Rate & 0x0F)

target device type

Definition at line 1186 of file dmdefs.h.

◆ DEVINFO_GET_SAS_ADDRESSHI [1/2]

#define DEVINFO_GET_SAS_ADDRESSHI (   devInfo)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressHi)

Definition at line 1179 of file dmdefs.h.

◆ DEVINFO_GET_SAS_ADDRESSHI [2/2]

#define DEVINFO_GET_SAS_ADDRESSHI (   devInfo)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressHi)

Definition at line 1179 of file dmdefs.h.

◆ DEVINFO_GET_SAS_ADDRESSLO [1/2]

#define DEVINFO_GET_SAS_ADDRESSLO (   devInfo)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressLo)

Definition at line 1176 of file dmdefs.h.

◆ DEVINFO_GET_SAS_ADDRESSLO [2/2]

#define DEVINFO_GET_SAS_ADDRESSLO (   devInfo)     DMA_BEBIT32_TO_BIT32(*(bit32 *)(devInfo)->sasAddressLo)

Definition at line 1176 of file dmdefs.h.

◆ DEVINFO_PUT_DEV_S_RATE

#define DEVINFO_PUT_DEV_S_RATE (   devInfo,
  dev_s_rate 
)     ((devInfo)->devType_S_Rate) = dev_s_rate

Definition at line 1212 of file dmdefs.h.

◆ DEVINFO_PUT_EXT

#define DEVINFO_PUT_EXT (   devInfo,
  extension 
)     ((devInfo)->ext) = extension

Definition at line 1228 of file dmdefs.h.

◆ DEVINFO_PUT_FBS

#define DEVINFO_PUT_FBS (   devInfo,
  fbs 
)     ((devInfo)->firstBurstSize) = fbs

Definition at line 1206 of file dmdefs.h.

◆ DEVINFO_PUT_FLAG

#define DEVINFO_PUT_FLAG (   devInfo,
  tlr 
)     ((devInfo)->flag) = tlr

Definition at line 1209 of file dmdefs.h.

◆ DEVINFO_PUT_INITIATOR_SSP_STP_SMP

#define DEVINFO_PUT_INITIATOR_SSP_STP_SMP (   devInfo,
  ini_ssp_stp_smp 
)     ((devInfo)->initiator_ssp_stp_smp) = ini_ssp_stp_smp

Definition at line 1222 of file dmdefs.h.

◆ DEVINFO_PUT_ITNEXUSTO

#define DEVINFO_PUT_ITNEXUSTO (   devInfo,
  itnexusto 
)     ((devInfo)->it_NexusTimeout) = itnexusto

Definition at line 1203 of file dmdefs.h.

◆ DEVINFO_PUT_SAS_ADDRESSHI

#define DEVINFO_PUT_SAS_ADDRESSHI (   devInfo,
  src32 
)     *(bit32 *)((devInfo)->sasAddressHi) = BIT32_TO_DMA_BEBIT32(src32)

Definition at line 1219 of file dmdefs.h.

◆ DEVINFO_PUT_SAS_ADDRESSLO

#define DEVINFO_PUT_SAS_ADDRESSLO (   devInfo,
  src32 
)     *(bit32 *)((devInfo)->sasAddressLo) = BIT32_TO_DMA_BEBIT32(src32)

Definition at line 1216 of file dmdefs.h.

◆ DEVINFO_PUT_SMPTO

#define DEVINFO_PUT_SMPTO (   devInfo,
  smpto 
)     ((devInfo)->smpTimeout) = smpto

Definition at line 1200 of file dmdefs.h.

◆ DEVINFO_PUT_TARGET_SSP_STP_SMP

#define DEVINFO_PUT_TARGET_SSP_STP_SMP (   devInfo,
  tgt_ssp_stp_smp 
)     ((devInfo)->target_ssp_stp_smp) = tgt_ssp_stp_smp

Definition at line 1225 of file dmdefs.h.

◆ DIRECT_SMP

#define DIRECT_SMP

Definition at line 30 of file dmdefs.h.

◆ DISABLED_PASSWORD_NOT_SUPPORTED

#define DISABLED_PASSWORD_NOT_SUPPORTED   0x29

Definition at line 194 of file dmdefs.h.

◆ DISCOVERY_CONFIG_ROUTING

#define DISCOVERY_CONFIG_ROUTING   3

status indicates discovery config routing table

Definition at line 146 of file dmdefs.h.

◆ DISCOVERY_CONFIGURING_TIMER_VALUE

#define DISCOVERY_CONFIGURING_TIMER_VALUE   (3 * 1000 * 1000) /* 3 seconds */

Definition at line 1082 of file dmdefs.h.

◆ DISCOVERY_DOWN_STREAM

#define DISCOVERY_DOWN_STREAM   2

status indicates discover downstream

Definition at line 145 of file dmdefs.h.

◆ DISCOVERY_NOT_START

#define DISCOVERY_NOT_START   0

status indicates discovery not started

Definition at line 143 of file dmdefs.h.

◆ DISCOVERY_REPORT_PHY_SATA

#define DISCOVERY_REPORT_PHY_SATA   5

status indicates discovery report phy sata

Definition at line 148 of file dmdefs.h.

◆ DISCOVERY_RETRIES

#define DISCOVERY_RETRIES   3

Definition at line 1083 of file dmdefs.h.

◆ DISCOVERY_SAS_DONE

#define DISCOVERY_SAS_DONE   4

status indicates discovery done

Definition at line 147 of file dmdefs.h.

◆ DISCOVERY_UP_STREAM

#define DISCOVERY_UP_STREAM   1

status indicates discover upstream

Definition at line 144 of file dmdefs.h.

◆ DISCRSP_GET_ATTACHED_DEVTYPE

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

Definition at line 364 of file dmdefs.h.

◆ DISCRSP_GET_ATTACHED_SAS_ADDRESSHI

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

Definition at line 396 of file dmdefs.h.

◆ DISCRSP_GET_ATTACHED_SAS_ADDRESSLO

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

Definition at line 398 of file dmdefs.h.

◆ DISCRSP_GET_LINKRATE

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

Definition at line 366 of file dmdefs.h.

◆ DISCRSP_GET_ROUTINGATTRIB

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

Definition at line 405 of file dmdefs.h.

◆ DISCRSP_GET_SAS_ADDRESSHI

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

Definition at line 390 of file dmdefs.h.

◆ DISCRSP_GET_SAS_ADDRESSLO

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

Definition at line 392 of file dmdefs.h.

◆ DISCRSP_IS_SATA_DEVICE

#define DISCRSP_IS_SATA_DEVICE (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)

Definition at line 384 of file dmdefs.h.

◆ DISCRSP_IS_SATA_HOST

#define DISCRSP_IS_SATA_HOST (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)

Definition at line 375 of file dmdefs.h.

◆ DISCRSP_IS_SATA_PORTSELECTOR

#define DISCRSP_IS_SATA_PORTSELECTOR (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_PS_BIT) == DISCRSP_SATA_PS_BIT)

Definition at line 386 of file dmdefs.h.

◆ DISCRSP_IS_SMP_INITIATOR

#define DISCRSP_IS_SMP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)

Definition at line 373 of file dmdefs.h.

◆ DISCRSP_IS_SMP_TARGET

#define DISCRSP_IS_SMP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)

Definition at line 382 of file dmdefs.h.

◆ DISCRSP_IS_SSP_INITIATOR

#define DISCRSP_IS_SSP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)

Definition at line 369 of file dmdefs.h.

◆ DISCRSP_IS_SSP_TARGET

#define DISCRSP_IS_SSP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)

Definition at line 378 of file dmdefs.h.

◆ DISCRSP_IS_STP_INITIATOR

#define DISCRSP_IS_STP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)

Definition at line 371 of file dmdefs.h.

◆ DISCRSP_IS_STP_TARGET

#define DISCRSP_IS_STP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)

Definition at line 380 of file dmdefs.h.

◆ DISCRSP_IS_VIRTUALPHY

#define DISCRSP_IS_VIRTUALPHY (   pResp)     (((pResp)->virtualPhy_partialPathwayTimeout & DISCRSP_VIRTUALPHY_BIT) == DISCRSP_VIRTUALPHY_BIT)

Definition at line 402 of file dmdefs.h.

◆ DISCRSP_SATA_BIT

#define DISCRSP_SATA_BIT   0x01

Definition at line 360 of file dmdefs.h.

◆ DISCRSP_SATA_PS_BIT

#define DISCRSP_SATA_PS_BIT   0x80

Definition at line 362 of file dmdefs.h.

◆ DISCRSP_SMP_BIT

#define DISCRSP_SMP_BIT   0x02

Definition at line 359 of file dmdefs.h.

◆ DISCRSP_SSP_BIT

#define DISCRSP_SSP_BIT   0x08

Definition at line 357 of file dmdefs.h.

◆ DISCRSP_STP_BIT

#define DISCRSP_STP_BIT   0x04

Definition at line 358 of file dmdefs.h.

◆ DISCRSP_VIRTUALPHY_BIT

#define DISCRSP_VIRTUALPHY_BIT   0x80

Definition at line 401 of file dmdefs.h.

◆ DM_DBG0

#define DM_DBG0 (   format)

Definition at line 123 of file dmdefs.h.

◆ DM_DBG1

#define DM_DBG1 (   format)

Definition at line 124 of file dmdefs.h.

◆ DM_DBG2

#define DM_DBG2 (   format)

Definition at line 125 of file dmdefs.h.

◆ DM_DBG3

#define DM_DBG3 (   format)

Definition at line 126 of file dmdefs.h.

◆ DM_DBG4

#define DM_DBG4 (   format)

Definition at line 127 of file dmdefs.h.

◆ DM_DBG5

#define DM_DBG5 (   format)

Definition at line 128 of file dmdefs.h.

◆ DM_DBG6

#define DM_DBG6 (   format)

Definition at line 129 of file dmdefs.h.

◆ DM_DEFAULT_DEVICE

#define DM_DEFAULT_DEVICE   0

Definition at line 1145 of file dmdefs.h.

◆ DM_DEVICE_MEM_INDEX

#define DM_DEVICE_MEM_INDEX   2

the index of Device descriptors memory

Definition at line 36 of file dmdefs.h.

◆ DM_DSTATE_COMPLETED

#define DM_DSTATE_COMPLETED   2

Definition at line 139 of file dmdefs.h.

◆ DM_DSTATE_COMPLETED_WITH_FAILURE

#define DM_DSTATE_COMPLETED_WITH_FAILURE   3

Definition at line 140 of file dmdefs.h.

◆ DM_DSTATE_NOT_STARTED

#define DM_DSTATE_NOT_STARTED   0

Definition at line 137 of file dmdefs.h.

◆ DM_DSTATE_STARTED

#define DM_DSTATE_STARTED   1

Definition at line 138 of file dmdefs.h.

◆ DM_EXPANDER_MEM_INDEX

#define DM_EXPANDER_MEM_INDEX   3

the index of Expander device descriptors memory

Definition at line 37 of file dmdefs.h.

◆ DM_GET_LINK_RATE

#define DM_GET_LINK_RATE (   input)    (input & 0x0F)

Definition at line 1075 of file dmdefs.h.

◆ DM_GET_SAS_ADDRESSHI

#define DM_GET_SAS_ADDRESSHI (   sasAddressHi)     DMA_BEBIT32_TO_BIT32(*(bit32 *)sasAddressHi)

Definition at line 1071 of file dmdefs.h.

◆ DM_GET_SAS_ADDRESSLO

#define DM_GET_SAS_ADDRESSLO (   sasAddressLo)     DMA_BEBIT32_TO_BIT32(*(bit32 *)sasAddressLo)

Definition at line 1068 of file dmdefs.h.

◆ DM_INDIRECT_SMP_MEM_INDEX

#define DM_INDIRECT_SMP_MEM_INDEX   5

the index of Indirect SMP command descriptors memory

Definition at line 39 of file dmdefs.h.

◆ DM_MAX_DEV

#define DM_MAX_DEV   2048

Definition at line 45 of file dmdefs.h.

◆ DM_MAX_EXPANDER_DEV

#define DM_MAX_EXPANDER_DEV   32

Definition at line 46 of file dmdefs.h.

◆ DM_MAX_EXPANDER_PHYS

#define DM_MAX_EXPANDER_PHYS   256

Definition at line 44 of file dmdefs.h.

◆ DM_MAX_INDIRECT_SMP

#define DM_MAX_INDIRECT_SMP   DM_MAX_SMP

Definition at line 49 of file dmdefs.h.

◆ DM_MAX_NUM_PHYS

#define DM_MAX_NUM_PHYS   16

Definition at line 43 of file dmdefs.h.

◆ DM_MAX_PORT_CONTEXT

#define DM_MAX_PORT_CONTEXT   16

Definition at line 47 of file dmdefs.h.

◆ DM_MAX_SMP

#define DM_MAX_SMP   32

Definition at line 48 of file dmdefs.h.

◆ DM_PORT_MEM_INDEX

#define DM_PORT_MEM_INDEX   1

the index of port context memory

Definition at line 35 of file dmdefs.h.

◆ DM_ROOT_MEM_INDEX

#define DM_ROOT_MEM_INDEX   0

the index of dm root memory

Definition at line 34 of file dmdefs.h.

◆ DM_SAS_CONNECTION_RATE_12_0G

#define DM_SAS_CONNECTION_RATE_12_0G   0x0B

Definition at line 1080 of file dmdefs.h.

◆ DM_SAS_CONNECTION_RATE_1_5G

#define DM_SAS_CONNECTION_RATE_1_5G   0x08

Definition at line 1077 of file dmdefs.h.

◆ DM_SAS_CONNECTION_RATE_3_0G

#define DM_SAS_CONNECTION_RATE_3_0G   0x09

Definition at line 1078 of file dmdefs.h.

◆ DM_SAS_CONNECTION_RATE_6_0G

#define DM_SAS_CONNECTION_RATE_6_0G   0x0A

Definition at line 1079 of file dmdefs.h.

◆ DM_SAS_DEVICE

#define DM_SAS_DEVICE   1

Definition at line 1146 of file dmdefs.h.

◆ DM_SATA_DEVICE

#define DM_SATA_DEVICE   2

Definition at line 1147 of file dmdefs.h.

◆ DM_SMP_MEM_INDEX

#define DM_SMP_MEM_INDEX   4

the index of SMP command descriptors memory

Definition at line 38 of file dmdefs.h.

◆ DM_USECS_PER_TICK

#define DM_USECS_PER_TICK   1000000

defines the heart beat of the LL layer 10ms

Definition at line 51 of file dmdefs.h.

◆ DM_VEN_DEV_ADAPSPC

#define DM_VEN_DEV_ADAPSPC   0x80810000

Definition at line 206 of file dmdefs.h.

◆ DM_VEN_DEV_ADAPveplus

#define DM_VEN_DEV_ADAPveplus   0x80890000

Definition at line 212 of file dmdefs.h.

◆ DM_VEN_DEV_ADAPvplus

#define DM_VEN_DEV_ADAPvplus   0x80880000

Definition at line 211 of file dmdefs.h.

◆ DM_VEN_DEV_SPC

#define DM_VEN_DEV_SPC   0x80010000

Definition at line 205 of file dmdefs.h.

◆ DM_VEN_DEV_SPCv

#define DM_VEN_DEV_SPCv   0x80080000

Definition at line 207 of file dmdefs.h.

◆ DM_VEN_DEV_SPCve

#define DM_VEN_DEV_SPCve   0x80090000

Definition at line 208 of file dmdefs.h.

◆ DM_VEN_DEV_SPCveplus

#define DM_VEN_DEV_SPCveplus   0x80190000

Definition at line 210 of file dmdefs.h.

◆ DM_VEN_DEV_SPCvplus

#define DM_VEN_DEV_SPCvplus   0x80180000

Definition at line 209 of file dmdefs.h.

◆ DMIsSPC

#define DMIsSPC (   agr)    (DM_VEN_DEV_SPC == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPC */

Definition at line 214 of file dmdefs.h.

◆ DMIsSPCADAP

#define DMIsSPCADAP (   agr)    (DM_VEN_DEV_SPC == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPC */

Definition at line 215 of file dmdefs.h.

◆ DMIsSPCADAPveplus

#define DMIsSPCADAPveplus (   agr)    (DM_VEN_DEV_ADAPveplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve+ */

Definition at line 221 of file dmdefs.h.

◆ DMIsSPCADAPvplus

#define DMIsSPCADAPvplus (   agr)    (DM_VEN_DEV_ADAPvplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv+ */

Definition at line 220 of file dmdefs.h.

◆ DMIsSPCv

#define DMIsSPCv (   agr)    (DM_VEN_DEV_SPCv == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv */

Definition at line 216 of file dmdefs.h.

◆ DMIsSPCve

#define DMIsSPCve (   agr)    (DM_VEN_DEV_SPCve == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve */

Definition at line 217 of file dmdefs.h.

◆ DMIsSPCveplus

#define DMIsSPCveplus (   agr)    (DM_VEN_DEV_SPCveplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCve+ */

Definition at line 219 of file dmdefs.h.

◆ DMIsSPCvplus

#define DMIsSPCvplus (   agr)    (DM_VEN_DEV_SPCvplus == (ossaHwRegReadConfig32(agr,0 ) & 0xFFFF0000) ? 1 : 0) /* returns true config space read is SPCv+ */

Definition at line 218 of file dmdefs.h.

◆ INCOMPLETE_DESCRIPTOR_LIST

#define INCOMPLETE_DESCRIPTOR_LIST   0x06

Definition at line 173 of file dmdefs.h.

◆ INDEX_DOES_NOT_EXIST

#define INDEX_DOES_NOT_EXIST   0x11

Definition at line 175 of file dmdefs.h.

◆ INVALID_EXPANDER_CHANGE_COUNT

#define INVALID_EXPANDER_CHANGE_COUNT   0x04

Definition at line 171 of file dmdefs.h.

◆ INVALID_REQUEST_FRAME_LENGTH

#define INVALID_REQUEST_FRAME_LENGTH   0x03

Definition at line 170 of file dmdefs.h.

◆ IT_NEXUS_TIMEOUT

#define IT_NEXUS_TIMEOUT   0x7D0 /* 2000 ms; old value was 0xFFFF */

Definition at line 1125 of file dmdefs.h.

◆ MAX

#define MAX (   a,
 
)    ((a) < (b) ? (b) : (a))

MAX macro.

use to find MAX of two values

Definition at line 97 of file dmdefs.h.

◆ MIN

#define MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

MIN macro.

use to find MIN of two values

Definition at line 88 of file dmdefs.h.

◆ NO_MANAGEMENT_ACCESS_RIGHTS

#define NO_MANAGEMENT_ACCESS_RIGHTS   0x21

Definition at line 186 of file dmdefs.h.

◆ NO_PHYSICAL_PRESENCE

#define NO_PHYSICAL_PRESENCE   0x26

Definition at line 191 of file dmdefs.h.

◆ NOT_ACTIVATED

#define NOT_ACTIVATED   0x24

Definition at line 189 of file dmdefs.h.

◆ PHY_DOES_NOT_EXIST

#define PHY_DOES_NOT_EXIST   0x10

Definition at line 174 of file dmdefs.h.

◆ PHY_DOES_NOT_SUPPORT_SATA

#define PHY_DOES_NOT_SUPPORT_SATA   0x12

Definition at line 176 of file dmdefs.h.

◆ PHY_TEST_FUNCTION_IN_PROGRESS

#define PHY_TEST_FUNCTION_IN_PROGRESS   0x15

Definition at line 179 of file dmdefs.h.

◆ PHY_VACANT

#define PHY_VACANT   0x16

Definition at line 180 of file dmdefs.h.

◆ PIO_SETUP_DEV_TO_HOST_FIS

#define PIO_SETUP_DEV_TO_HOST_FIS   0x5F

Definition at line 56 of file dmdefs.h.

◆ REG_DEV_TO_HOST_FIS

#define REG_DEV_TO_HOST_FIS   0x34

Definition at line 57 of file dmdefs.h.

◆ REPORT_GENERAL_CONFIGURABLE_BIT

#define REPORT_GENERAL_CONFIGURABLE_BIT   0x1

Definition at line 249 of file dmdefs.h.

◆ REPORT_GENERAL_CONFIGURES_OTHERS_BIT

#define REPORT_GENERAL_CONFIGURES_OTHERS_BIT   0x04

Definition at line 563 of file dmdefs.h.

◆ REPORT_GENERAL_CONFIGURING_BIT

#define REPORT_GENERAL_CONFIGURING_BIT   0x2

Definition at line 248 of file dmdefs.h.

◆ REPORT_GENERAL_GET_ROUTEINDEXES

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

Definition at line 273 of file dmdefs.h.

◆ REPORT_GENERAL_IS_CONFIGURABLE

#define REPORT_GENERAL_IS_CONFIGURABLE (   pResp)
Value:
(((pResp)->configuring_configurable & REPORT_GENERAL_CONFIGURABLE_BIT) == \
REPORT_GENERAL_CONFIGURABLE_BIT)
#define REPORT_GENERAL_CONFIGURABLE_BIT
Definition: dmdefs.h:249

Definition at line 269 of file dmdefs.h.

◆ REPORT_GENERAL_IS_CONFIGURING

#define REPORT_GENERAL_IS_CONFIGURING (   pResp)
Value:
(((pResp)->configuring_configurable & REPORT_GENERAL_CONFIGURING_BIT) == \
REPORT_GENERAL_CONFIGURING_BIT)
#define REPORT_GENERAL_CONFIGURING_BIT
Definition: dmdefs.h:248

Definition at line 265 of file dmdefs.h.

◆ REPORT_GENERAL_IS_LONG_RESPONSE

#define REPORT_GENERAL_IS_LONG_RESPONSE (   pResp)
Value:
(((pResp)->reserved1 & REPORT_GENERAL_LONG_RESPONSE_BIT) == \
REPORT_GENERAL_LONG_RESPONSE_BIT)
#define REPORT_GENERAL_LONG_RESPONSE_BIT
Definition: dmdefs.h:250

Definition at line 276 of file dmdefs.h.

◆ REPORT_GENERAL_LONG_RESPONSE_BIT

#define REPORT_GENERAL_LONG_RESPONSE_BIT   0x80

Definition at line 250 of file dmdefs.h.

◆ REPORT_GENERAL_TABLE_TO_TABLE_SUPPORTED_BIT

#define REPORT_GENERAL_TABLE_TO_TABLE_SUPPORTED_BIT   0x80

Definition at line 562 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_ATTACHED_DEVTYPE

#define SAS2_DISCRSP_GET_ATTACHED_DEVTYPE (   pResp)     (((pResp)->attachedDeviceTypeReason & 0x70) >> 4)

Definition at line 822 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_ATTACHED_SAS_ADDRESSHI

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

Definition at line 854 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_ATTACHED_SAS_ADDRESSLO

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

Definition at line 856 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_LINKRATE

#define SAS2_DISCRSP_GET_LINKRATE (   pResp)     ((pResp)->ReasonNegotiatedPhysicalLinkRate & 0x0F)

Definition at line 824 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_LOGICAL_LINKRATE

#define SAS2_DISCRSP_GET_LOGICAL_LINKRATE (   pResp)     ((pResp)->NegotiatedLogicalLinkRate & 0x0F)

Definition at line 826 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_ROUTINGATTRIB

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

Definition at line 863 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_SAS_ADDRESSHI

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

Definition at line 849 of file dmdefs.h.

◆ SAS2_DISCRSP_GET_SAS_ADDRESSLO

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

Definition at line 851 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_MUXING_SUPPORTED

#define SAS2_DISCRSP_IS_MUXING_SUPPORTED (   pResp)     (((pResp)->NegotiatedSSCHWMuxingSupported & SAS2_MUXING_SUPPORTED) == SAS2_MUXING_SUPPORTED)

Definition at line 866 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SATA_DEVICE

#define SAS2_DISCRSP_IS_SATA_DEVICE (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)

Definition at line 844 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SATA_HOST

#define SAS2_DISCRSP_IS_SATA_HOST (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SATA_BIT) == DISCRSP_SATA_BIT)

Definition at line 835 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SATA_PORTSELECTOR

#define SAS2_DISCRSP_IS_SATA_PORTSELECTOR (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SATA_PS_BIT) == DISCRSP_SATA_PS_BIT)

Definition at line 846 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SMP_INITIATOR

#define SAS2_DISCRSP_IS_SMP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)

Definition at line 833 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SMP_TARGET

#define SAS2_DISCRSP_IS_SMP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SMP_BIT) == DISCRSP_SMP_BIT)

Definition at line 842 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SSP_INITIATOR

#define SAS2_DISCRSP_IS_SSP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)

Definition at line 829 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_SSP_TARGET

#define SAS2_DISCRSP_IS_SSP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_SSP_BIT) == DISCRSP_SSP_BIT)

Definition at line 838 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_STP_INITIATOR

#define SAS2_DISCRSP_IS_STP_INITIATOR (   pResp)     (((pResp)->attached_Ssp_Stp_Smp_Sata_Initiator & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)

Definition at line 831 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_STP_TARGET

#define SAS2_DISCRSP_IS_STP_TARGET (   pResp)     (((pResp)->attached_SataPS_Ssp_Stp_Smp_Sata_Target & DISCRSP_STP_BIT) == DISCRSP_STP_BIT)

Definition at line 840 of file dmdefs.h.

◆ SAS2_DISCRSP_IS_VIRTUALPHY

#define SAS2_DISCRSP_IS_VIRTUALPHY (   pResp)     (((pResp)->virtualPhy_partialPathwayTimeout & DISCRSP_VIRTUALPHY_BIT) == DISCRSP_VIRTUALPHY_BIT)

Definition at line 860 of file dmdefs.h.

◆ SAS2_DISCRSP_SATA_BIT

#define SAS2_DISCRSP_SATA_BIT   0x01

Definition at line 816 of file dmdefs.h.

◆ SAS2_DISCRSP_SATA_PS_BIT

#define SAS2_DISCRSP_SATA_PS_BIT   0x80

Definition at line 818 of file dmdefs.h.

◆ SAS2_DISCRSP_SMP_BIT

#define SAS2_DISCRSP_SMP_BIT   0x02

Definition at line 815 of file dmdefs.h.

◆ SAS2_DISCRSP_SSP_BIT

#define SAS2_DISCRSP_SSP_BIT   0x08

Definition at line 813 of file dmdefs.h.

◆ SAS2_DISCRSP_STP_BIT

#define SAS2_DISCRSP_STP_BIT   0x04

Definition at line 814 of file dmdefs.h.

◆ SAS2_DISCRSP_VIRTUALPHY_BIT

#define SAS2_DISCRSP_VIRTUALPHY_BIT   0x80

Definition at line 859 of file dmdefs.h.

◆ SAS2_MUXING_SUPPORTED

#define SAS2_MUXING_SUPPORTED   0x01

Definition at line 820 of file dmdefs.h.

◆ SAS2_REPORT_GENERAL_GET_ROUTEINDEXES

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

Definition at line 627 of file dmdefs.h.

◆ SAS2_REPORT_GENERAL_IS_CONFIGURABLE

#define SAS2_REPORT_GENERAL_IS_CONFIGURABLE (   pResp)
Value:
(((pResp)->byte10 & REPORT_GENERAL_CONFIGURABLE_BIT) == \
REPORT_GENERAL_CONFIGURABLE_BIT)

Definition at line 634 of file dmdefs.h.

◆ SAS2_REPORT_GENERAL_IS_CONFIGURES_OTHERS

#define SAS2_REPORT_GENERAL_IS_CONFIGURES_OTHERS (   pResp)
Value:
(((pResp)->byte10 & REPORT_GENERAL_CONFIGURES_OTHERS_BIT) == \
REPORT_GENERAL_CONFIGURES_OTHERS_BIT)
#define REPORT_GENERAL_CONFIGURES_OTHERS_BIT
Definition: dmdefs.h:563

Definition at line 642 of file dmdefs.h.

◆ SAS2_REPORT_GENERAL_IS_CONFIGURING

#define SAS2_REPORT_GENERAL_IS_CONFIGURING (   pResp)
Value:
(((pResp)->byte10 & REPORT_GENERAL_CONFIGURING_BIT) == \
REPORT_GENERAL_CONFIGURING_BIT)

Definition at line 630 of file dmdefs.h.

◆ SAS2_REPORT_GENERAL_IS_TABLE_TO_TABLE_SUPPORTED

#define SAS2_REPORT_GENERAL_IS_TABLE_TO_TABLE_SUPPORTED (   pResp)
Value:
REPORT_GENERAL_TABLE_TO_TABLE_SUPPORTED_BIT)
#define REPORT_GENERAL_TABLE_TO_TABLE_SUPPORTED_BIT
Definition: dmdefs.h:562

Definition at line 638 of file dmdefs.h.

◆ SAS_CONNECTION_RATE_12_0G

#define SAS_CONNECTION_RATE_12_0G   0x0B

Definition at line 1123 of file dmdefs.h.

◆ SAS_CONNECTION_RATE_1_5G

#define SAS_CONNECTION_RATE_1_5G   0x08

Definition at line 1120 of file dmdefs.h.

◆ SAS_CONNECTION_RATE_3_0G

#define SAS_CONNECTION_RATE_3_0G   0x09

Definition at line 1121 of file dmdefs.h.

◆ SAS_CONNECTION_RATE_6_0G

#define SAS_CONNECTION_RATE_6_0G   0x0A

Definition at line 1122 of file dmdefs.h.

◆ SAS_DEVICE_TYPE

#define SAS_DEVICE_TYPE   1 /* SSP or SMP 01 */

Definition at line 1095 of file dmdefs.h.

◆ SAS_EDGE_EXPANDER_DEVICE

#define SAS_EDGE_EXPANDER_DEVICE   2

Definition at line 1112 of file dmdefs.h.

◆ SAS_END_DEVICE

#define SAS_END_DEVICE   1

Definition at line 1111 of file dmdefs.h.

◆ SAS_FANOUT_EXPANDER_DEVICE

#define SAS_FANOUT_EXPANDER_DEVICE   3

Definition at line 1113 of file dmdefs.h.

◆ SAS_NO_DEVICE

#define SAS_NO_DEVICE   0

Definition at line 1110 of file dmdefs.h.

◆ SAS_ROUTING_DIRECT

#define SAS_ROUTING_DIRECT   0x00

Definition at line 1116 of file dmdefs.h.

◆ SAS_ROUTING_SUBTRACTIVE

#define SAS_ROUTING_SUBTRACTIVE   0x01

Definition at line 1117 of file dmdefs.h.

◆ SAS_ROUTING_TABLE

#define SAS_ROUTING_TABLE   0x02

Definition at line 1118 of file dmdefs.h.

◆ SATA_ATA_DEVICE

#define SATA_ATA_DEVICE   0x01

ATA ATA device type

Definition at line 1101 of file dmdefs.h.

◆ SATA_ATAPI_DEVICE

#define SATA_ATAPI_DEVICE   0x02

ATA ATAPI device type

Definition at line 1102 of file dmdefs.h.

◆ SATA_DEVICE_TYPE

#define SATA_DEVICE_TYPE   2 /* direct SATA 10 */

Definition at line 1096 of file dmdefs.h.

◆ SATA_ID_DEVICE_DATA_RETRIES

#define SATA_ID_DEVICE_DATA_RETRIES   3

Definition at line 1090 of file dmdefs.h.

◆ SATA_ID_DEVICE_DATA_TIMER_VALUE

#define SATA_ID_DEVICE_DATA_TIMER_VALUE   (3 * 1000 * 1000) /* 3 second */

Definition at line 1089 of file dmdefs.h.

◆ SATA_PM_DEVICE

#define SATA_PM_DEVICE   0x03

ATA PM device type

Definition at line 1103 of file dmdefs.h.

◆ SATA_SEMB_DEVICE

#define SATA_SEMB_DEVICE   0x04

ATA SEMB device type

Definition at line 1104 of file dmdefs.h.

◆ SATA_SEMB_WO_SEP_DEVICE

#define SATA_SEMB_WO_SEP_DEVICE   0x05

ATA SEMB without SEP device type

Definition at line 1105 of file dmdefs.h.

◆ SAVING_NOT_SUPPORTED

#define SAVING_NOT_SUPPORTED   0x27

Definition at line 192 of file dmdefs.h.

◆ SET_DEV_BITS_FIS

#define SET_DEV_BITS_FIS   0xA1

Definition at line 58 of file dmdefs.h.

◆ SMP_BUSY_RETRIES

#define SMP_BUSY_RETRIES   5

Definition at line 1088 of file dmdefs.h.

◆ SMP_BUSY_TIMER_VALUE

#define SMP_BUSY_TIMER_VALUE   (1 * 1000 * 1000) /* 1 second */

Definition at line 1087 of file dmdefs.h.

◆ SMP_CONFIGURE_ROUTING_INFORMATION

#define SMP_CONFIGURE_ROUTING_INFORMATION   0x90

Definition at line 159 of file dmdefs.h.

◆ SMP_DIRECT_PAYLOAD_LIMIT

#define SMP_DIRECT_PAYLOAD_LIMIT   44

Definition at line 75 of file dmdefs.h.

◆ SMP_DISCOVER

#define SMP_DISCOVER   0x10

Definition at line 154 of file dmdefs.h.

◆ SMP_DISCOVER_LIST

#define SMP_DISCOVER_LIST   0x20

Definition at line 163 of file dmdefs.h.

◆ SMP_FN_BUSY

#define SMP_FN_BUSY   0x05

Definition at line 172 of file dmdefs.h.

◆ SMP_FUNCTION_ACCEPTED

#define SMP_FUNCTION_ACCEPTED   0x00

Definition at line 167 of file dmdefs.h.

◆ SMP_FUNCTION_FAILED

#define SMP_FUNCTION_FAILED   0x02

Definition at line 169 of file dmdefs.h.

◆ SMP_INDIRECT_PAYLOAD

#define SMP_INDIRECT_PAYLOAD   512

Definition at line 77 of file dmdefs.h.

◆ SMP_MAXIMUM_PAYLOAD

#define SMP_MAXIMUM_PAYLOAD   1024

Definition at line 80 of file dmdefs.h.

◆ SMP_PHY_CONTROL

#define SMP_PHY_CONTROL   0x91

Definition at line 160 of file dmdefs.h.

◆ SMP_PHY_CONTROL_CLEAR_AFFILIATION

#define SMP_PHY_CONTROL_CLEAR_AFFILIATION   0x06

Definition at line 202 of file dmdefs.h.

◆ SMP_PHY_CONTROL_CLEAR_ERROR_LOG

#define SMP_PHY_CONTROL_CLEAR_ERROR_LOG   0x05

Definition at line 201 of file dmdefs.h.

◆ SMP_PHY_CONTROL_DISABLE

#define SMP_PHY_CONTROL_DISABLE   0x03

Definition at line 200 of file dmdefs.h.

◆ SMP_PHY_CONTROL_HARD_RESET

#define SMP_PHY_CONTROL_HARD_RESET   0x02

Definition at line 199 of file dmdefs.h.

◆ SMP_PHY_CONTROL_LINK_RESET

#define SMP_PHY_CONTROL_LINK_RESET   0x01

Definition at line 198 of file dmdefs.h.

◆ SMP_PHY_CONTROL_NOP

#define SMP_PHY_CONTROL_NOP   0x00

Definition at line 197 of file dmdefs.h.

◆ SMP_PHY_CONTROL_XMIT_SATA_PS_SIGNAL

#define SMP_PHY_CONTROL_XMIT_SATA_PS_SIGNAL   0x07

Definition at line 203 of file dmdefs.h.

◆ SMP_PHY_TEST_FUNCTION

#define SMP_PHY_TEST_FUNCTION   0x92

Definition at line 161 of file dmdefs.h.

◆ SMP_PMC_SPECIFIC

#define SMP_PMC_SPECIFIC   0xC0

Definition at line 162 of file dmdefs.h.

◆ SMP_READ_GPIO_REGISTER

#define SMP_READ_GPIO_REGISTER   0x02

Definition at line 153 of file dmdefs.h.

◆ SMP_REPORT_GENERAL

#define SMP_REPORT_GENERAL   0x00

Definition at line 151 of file dmdefs.h.

◆ SMP_REPORT_MANUFACTURE_INFORMATION

#define SMP_REPORT_MANUFACTURE_INFORMATION   0x01

Definition at line 152 of file dmdefs.h.

◆ SMP_REPORT_PHY_ERROR_LOG

#define SMP_REPORT_PHY_ERROR_LOG   0x11

Definition at line 155 of file dmdefs.h.

◆ SMP_REPORT_PHY_SATA

#define SMP_REPORT_PHY_SATA   0x12

Definition at line 156 of file dmdefs.h.

◆ SMP_REPORT_ROUTING_INFORMATION

#define SMP_REPORT_ROUTING_INFORMATION   0x13

Definition at line 157 of file dmdefs.h.

◆ SMP_REQUEST

#define SMP_REQUEST   0x40

Definition at line 1064 of file dmdefs.h.

◆ SMP_RESPONSE

#define SMP_RESPONSE   0x41

Definition at line 1065 of file dmdefs.h.

◆ SMP_RETRIES

#define SMP_RETRIES   5

Definition at line 1086 of file dmdefs.h.

◆ SMP_TIMER_VALUE

#define SMP_TIMER_VALUE   (30 * 1000 * 1000) /* 30 second */

Definition at line 1092 of file dmdefs.h.

◆ SMP_WRITE_GPIO_REGISTER

#define SMP_WRITE_GPIO_REGISTER   0x82

Definition at line 158 of file dmdefs.h.

◆ SMP_ZONE_VIOLATION

#define SMP_ZONE_VIOLATION   0x20

Definition at line 185 of file dmdefs.h.

◆ SOURCE_ZONE_GROUP_DOES_NOT_EXIST

#define SOURCE_ZONE_GROUP_DOES_NOT_EXIST   0x28

Definition at line 193 of file dmdefs.h.

◆ STP_DEVICE_TYPE

#define STP_DEVICE_TYPE   0 /* SATA behind expander 00*/

Definition at line 1094 of file dmdefs.h.

◆ UNKNOWN_DESCRIPTOT_TYPE

#define UNKNOWN_DESCRIPTOT_TYPE   0x18

Definition at line 182 of file dmdefs.h.

◆ UNKNOWN_DEVICE

#define UNKNOWN_DEVICE   0xFF

Definition at line 1106 of file dmdefs.h.

◆ UNKNOWN_ENABLE_DISABLE_ZONING_VALUE

#define UNKNOWN_ENABLE_DISABLE_ZONING_VALUE   0x22

Definition at line 187 of file dmdefs.h.

◆ UNKNOWN_PHY_EVENT_SOURCE

#define UNKNOWN_PHY_EVENT_SOURCE   0x17

Definition at line 181 of file dmdefs.h.

◆ UNKNOWN_PHY_FILETER

#define UNKNOWN_PHY_FILETER   0x19

Definition at line 183 of file dmdefs.h.

◆ UNKNOWN_PHY_OPERATION

#define UNKNOWN_PHY_OPERATION   0x13

Definition at line 177 of file dmdefs.h.

◆ UNKNOWN_PHY_TEST_FUNCTION

#define UNKNOWN_PHY_TEST_FUNCTION   0x14

Definition at line 178 of file dmdefs.h.

◆ UNKNOWN_SMP_FUNCTION

#define UNKNOWN_SMP_FUNCTION   0x01

Definition at line 168 of file dmdefs.h.

◆ ZONE_GROUP_OUT_OF_RANGE

#define ZONE_GROUP_OUT_OF_RANGE   0x25

Definition at line 190 of file dmdefs.h.

◆ ZONE_LOCK_VIOLATION

#define ZONE_LOCK_VIOLATION   0x23

Definition at line 188 of file dmdefs.h.

Typedef Documentation

◆ dmSMPFrameHeader_t

◆ smpReqConfigureRouteInformation2_t

◆ smpReqConfigureRouteInformation_t

◆ smpReqDiscover2_t

◆ smpReqDiscover_t

◆ smpReqDiscoverList2_t

◆ smpReqPhyControl2_t

◆ smpReqPhyControl_t

◆ smpReqReportPhySata2_t

◆ smpReqReportPhySata_t

◆ smpReqReportRouteTable2_t

◆ smpReqReportRouteTable_t

◆ smpRespDiscover2_t

◆ smpRespDiscover_t

◆ smpRespDiscoverList2_t

◆ smpRespReportGeneral2_t

◆ smpRespReportGeneral_t

◆ smpRespReportManufactureInfo2_t

◆ smpRespReportManufactureInfo_t

◆ smpRespReportPhySata2_t

◆ smpRespReportPhySata_t

◆ smpRespReportRouteTable2_t

◆ smpRespReportRouteTable_t

◆ tdssSMPFrameHeader2_t

Enumeration Type Documentation

◆ dm_locks_e

enum dm_locks_e
Enumerator
DM_PORT_LOCK 
DM_DEVICE_LOCK 
DM_EXPANDER_LOCK 
DM_TIMER_LOCK 
DM_SMP_LOCK 
DM_MAX_LOCKS 

Definition at line 62 of file dmdefs.h.