PDK API Guide for J721E
|
This file provides support for the UDMAP Transfer Request (TR) functionality.
Go to the source code of this file.
UDMAP TR flags type | |
This enumerator defines the the type of TR being sent | |
#define | CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_CACHE_WARM ((uint32_t) 5U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE ((uint32_t) 8U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING ((uint32_t) 9U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE ((uint32_t) 10U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING ((uint32_t) 11U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION ((uint32_t) 15U) |
typedef uint32_t | CSL_UdmapTrFlagsType |
UDMAP TR flags event size | |
This enumerator specifies when an event is generated for each TR | |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_COMPLETION ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT1_DEC ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT2_DEC ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT3_DEC ((uint32_t) 3U) |
typedef uint32_t | CSL_UdmapTrFlagsEventSize |
UDMAP TR flags trigger | |
This enumerator specifies the type of trigger used to enable the TR to transfer data as specified by CSL_UdmapTrFlagsTriggerType | |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_NONE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL0 ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL1 ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_LOCAL_EVENT ((uint32_t) 3U) |
typedef uint32_t | CSL_UdmapTrFlagsTrigger |
UDMAP TR flags trigger type | |
This enumerator specifies the type of data transfer that will be enabled by receiving a trigger as specified by CSL_UdmapTrFlagsTrigger | |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT1_DEC ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT2_DEC ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT3_DEC ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ALL ((uint32_t) 3U) |
typedef uint32_t | CSL_UdmapTrFlagsTriggerType |
UDMAP TR format flags amode | |
This enumerator specifies the addressing mode of TR that is being sent | |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_LINEAR ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_CIRCULAR ((uint32_t) 1U) |
typedef uint32_t | CSL_UdmapTrFmtflagsAmode |
UDMAP TR format flags amode specific amode | |
This enumerator specifies the addressing mode of TR that is being sent | |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_LINEAR ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK0 ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK1 ((uint32_t) 2U) |
typedef uint32_t | CSL_UdmapTrFmtflagsAmodeSpecificAmode |
UDMAP TR format flags direction | |
This enumerator specifies the addressing mode of TR that is being sent | |
#define | CSL_UDMAP_TR_FMTFLAGS_DIR_SRC_USES_AMODE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DIR_DST_USES_AMODE ((uint32_t) 1U) |
typedef uint32_t | CSL_UdmapTrFmtflagsDir |
UDMAP TR format flags element type | |
This enumerator specifies the basic unit that is used for the innermost loop | |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_1 ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5 ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_2 ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_3 ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_4 ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_5 ((uint32_t) 5U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_16 ((uint32_t) 6U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_32 ((uint32_t) 7U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_1_2 ((uint32_t) 8U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5_2 ((uint32_t) 9U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1 ((uint32_t) 10U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1p5 ((uint32_t) 11U) |
typedef uint32_t | CSL_UdmapTrFmtflagsEltype |
UDMAP TR format flags dfmt | |
This enumerator specifies a manipulation of the data between how it is read and how it is sent | |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_NO_CHANGE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_CONSTANT_COPY ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_TRANSPOSE ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE_TRANSPOSE ((uint32_t) 4U) |
typedef uint32_t | CSL_UdmapTrFmtflagsDfmt |
UDMAP TR format cache flags operation | |
This enumerator specifies the cache operation for a cache warm TR type | |
#define | CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_CACHE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_MMU ((uint32_t) 1U) |
typedef uint32_t | CSL_UdmapTrCacheflagsOp |
UDMAP TR format flags secondary TR | |
This enumerator specifies if the TR requires an additional TR located in memory | |
#define | CSL_UDMAP_TR_FMTFLAGS_SECTR_NONE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_SECTR_64 ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FMTFLAGS_SECTR_128 ((uint32_t) 2U) |
typedef uint32_t | CSL_UdmapTrFmtflagsSectr |
UDMAP TR response status | |
This enumerator is used to determine what type of status is being returned | |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_TRANSFER_ERR ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_ABORTED_ERR ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ERR ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ERR ((uint32_t) 4U) |
typedef uint32_t | CSL_UdmapTrResponseStatus |
UDMAP TR response status submission | |
This enumerator is returned for a TR that is received that can not be run | |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ICNT0 ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_FIFO_FULL ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_OWN ((uint32_t) 2U) |
typedef uint32_t | CSL_UdmapTrResponseStatusSubmission |
UDMAP TR response status unsupported | |
This enumerator is returned for a TR that is received that can not be run because it specifies a feature that is optional and not supported by the UTC that received the TR | |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_TR_TYPE ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_STATIC ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_EOL ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_CFG_SPECIFIC ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ELTYPE ((uint32_t) 5U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_DFMT ((uint32_t) 6U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_SECTR ((uint32_t) 7U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE_SPECIFIC ((uint32_t) 8U) |
typedef uint32_t | CSL_UdmapTrResponseStatusUnsupported |
UDMAP TR EOL packet type | |
This enumerator defines the the type of EOL packet sent in configurations specific flag in the TR. This is only valid if TR type(UDMAP_TR_FLAGS_TYPE) is CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE or CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE | |
#define | CSL_UDMAP_TR_FLAGS_EOL_MATCH_SOL_EOL ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_ICNT0 ((uint32_t) 1U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1 ((uint32_t) 2U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2 ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2_ICNT3 ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_RESERVED ((uint32_t) 5U) |
typedef uint32_t | CSL_UdmapTrFlagsEol |
Data Structures | |
struct | CSL_UdmapTR |
CSL_UdmapTR specifies a Transfer Request. More... | |
struct | CSL_UdmapTR0 |
CSL_UdmapTR0 specifies a Type 0 (One dimensional data move) Transfer Request. More... | |
struct | CSL_UdmapTR1 |
CSL_UdmapTR1 specifies a Type 1 (Two dimensional data move) Transfer Request. More... | |
struct | CSL_UdmapTR2 |
CSL_UdmapTR2 specifies a Type 2 (Three dimensional data move) Transfer Request. More... | |
struct | CSL_UdmapTR3 |
CSL_UdmapTR3 specifies a Type 3 (Four dimensional data move) Transfer Request. More... | |
struct | CSL_UdmapTR4 |
CSL_UdmapTR4 specifies a Type 4 (Four dimensional data move with data formatting) Transfer Request. More... | |
struct | CSL_UdmapTR5 |
CSL_UdmapTR5 specifies a Type 5 (Four dimensional cache warm) Transfer Request. More... | |
struct | CSL_UdmapTR8 |
CSL_UdmapTR8 specifies a Type 8 Transfer Request. More... | |
struct | CSL_UdmapTR9 |
CSL_UdmapTR9 specifies a Type 9 Transfer Request. More... | |
struct | CSL_UdmapTR10 |
CSL_UdmapTR10 specifies a Type 10 Transfer Request. More... | |
struct | CSL_UdmapTR11 |
CSL_UdmapTR11 specifies a Type 11 Transfer Request. More... | |
struct | CSL_UdmapTR15 |
CSL_UdmapTR15 specifies a Type 15 Transfer Request. More... | |
struct | CSL_UdmapSecTR |
CSL_UdmapSecTR specifies a secondary Transfer Request. More... | |
struct | CSL_UdmapTrResponse |
struct | CSL_UdmapTdResponse |
Macros | |
CSL UDMAP TR Flags | |
#define | CSL_UDMAP_TR_FLAGS_TYPE_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FLAGS_TYPE_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_STATIC_SHIFT ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_FLAGS_STATIC_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_STATIC_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_WAIT_SHIFT ((uint32_t) 5U) |
#define | CSL_UDMAP_TR_FLAGS_WAIT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_WAIT_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT ((uint32_t) 6U) |
#define | CSL_UDMAP_TR_FLAGS_EVENT_SIZE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT ((uint32_t) 8U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT ((uint32_t) 10U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT ((uint32_t) 12U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT ((uint32_t) 14U) |
#define | CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT ((uint32_t) 16U) |
#define | CSL_UDMAP_TR_FLAGS_CMD_ID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT ((uint32_t) 24U) |
#define | CSL_UDMAP_TR_FLAGS_CFG_FLAGS_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT ((uint32_t) 24U) |
#define | CSL_UDMAP_TR_FLAGS_SA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT ((uint32_t) 25U) |
#define | CSL_UDMAP_TR_FLAGS_DA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT ((uint32_t) 26U) |
#define | CSL_UDMAP_TR_FLAGS_SUPR_EVT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_EOL_SHIFT ((uint32_t) 28U) |
#define | CSL_UDMAP_TR_FLAGS_EOL_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FLAGS_EOL_SHIFT) |
#define | CSL_UDMAP_TR_FLAGS_EOP_SHIFT ((uint32_t) 31U) |
#define | CSL_UDMAP_TR_FLAGS_EOP_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_EOP_SHIFT) |
CSL UDMAP TR Format Flags | |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT ((uint32_t) 3U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DIR_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_FMTFLAGS_ELYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT ((uint32_t) 8U) |
#define | CSL_UDMAP_TR_FMTFLAGS_DFMT_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT ((uint32_t) 12U) |
#define | CSL_UDMAP_TR_FMTFLAGS_SECTR_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT ((uint32_t) 16U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT ((uint32_t) 20U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT ((uint32_t) 24U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT ((uint32_t) 26U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT ((uint32_t) 28U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT ((uint32_t) 30U) |
#define | CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT) |
#define | CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_CACHEFLAGS_CACHEID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT) |
#define | CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT ((uint32_t) 24U) |
#define | CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT) |
CSL UDMAP Secondary TR Flags | |
#define | CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_SECTR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT) |
#define | CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT ((uint32_t) 4U) |
#define | CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_MASK (((uint32_t) 0xFFFFFFF0U) << CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT) |
CSL UDMAP TR Response Flags | |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_INFO_SHIFT ((uint32_t) 4U) |
#define | CSL_UDMAP_TR_RESPONSE_STATUS_INFO_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_FIELD_SHIFT) |
#define | CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT ((uint32_t) 16U) |
#define | CSL_UDMAP_TR_RESPONSE_CMDID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT) |
#define | CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT ((uint32_t) 24U) |
#define | CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT) |
CSL UDMAP Teardown Response Flags | |
#define | CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT ((uint32_t) 0U) |
#define | CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT) |
#define | CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT ((uint32_t) 4U) |
#define | CSL_UDMAP_TD_RESPONSE_CHAN_ID_MASK (((uint32_t) 0x3FFU) << CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT) |
#define | CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT ((uint32_t) 31U) |
#define | CSL_UDMAP_TD_RESPONSE_FORCED_MASK (((uint32_t) 0x1U) << CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT) |
Functions | |
static CSL_UdmapTrResponseStatus | CSL_udmapTrResponseGetStatusType (const CSL_UdmapTrResponse *pTrResponse) |
Return the TR response status type. More... | |
static void | CSL_udmapGetTdResponse (uint64_t tdResponseWord, CSL_UdmapTdResponse *pTdResponse) |
Parses the TD response word. More... | |
struct CSL_UdmapTR_t | __attribute__ ((__packed__)) |
Variables | |
uint32_t | flags |
uint16_t | icnt0 |
uint16_t | icnt1 |
uint64_t | addr |
int32_t | dim1 |
uint16_t | icnt2 |
uint16_t | icnt3 |
int32_t | dim2 |
int32_t | dim3 |
uint32_t | fmtflags |
int32_t | ddim1 |
uint64_t | daddr |
int32_t | ddim2 |
int32_t | ddim3 |
uint16_t | dicnt0 |
uint16_t | dicnt1 |
uint16_t | dicnt2 |
uint16_t | dicnt3 |
uint32_t | cacheflags |
uint32_t | rsvd [3] |
uint32_t | rsvd0 [3] |
uint32_t | rsvd1 [2] |
uint32_t | data [13] |
uint32_t | tdIndicator |
uint32_t | chId |
uint32_t | forced |
#define CSL_UDMAP_TR_FLAGS_TYPE_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_TR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FLAGS_TYPE_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_STATIC_SHIFT ((uint32_t) 4U) |
#define CSL_UDMAP_TR_FLAGS_STATIC_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_STATIC_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_WAIT_SHIFT ((uint32_t) 5U) |
#define CSL_UDMAP_TR_FLAGS_WAIT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_WAIT_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT ((uint32_t) 6U) |
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT ((uint32_t) 8U) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT ((uint32_t) 10U) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT ((uint32_t) 12U) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT ((uint32_t) 14U) |
#define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT ((uint32_t) 16U) |
#define CSL_UDMAP_TR_FLAGS_CMD_ID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT ((uint32_t) 24U) |
#define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT ((uint32_t) 24U) |
#define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT ((uint32_t) 25U) |
#define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT ((uint32_t) 26U) |
#define CSL_UDMAP_TR_FLAGS_SUPR_EVT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_EOL_SHIFT ((uint32_t) 28U) |
#define CSL_UDMAP_TR_FLAGS_EOL_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FLAGS_EOL_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_EOP_SHIFT ((uint32_t) 31U) |
#define CSL_UDMAP_TR_FLAGS_EOP_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_EOP_SHIFT) |
#define CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE ((uint32_t) 0U) |
One dimensional data move
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE ((uint32_t) 1U) |
Two dimensional data move
#define CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE ((uint32_t) 2U) |
Three dimensional data move
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE ((uint32_t) 3U) |
Four dimensional data move
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING ((uint32_t) 4U) |
Four dimensional data move with data formatting
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_CACHE_WARM ((uint32_t) 5U) |
Four dimensional cache warm
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE ((uint32_t) 8U) |
Four dimensional block move
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING ((uint32_t) 9U) |
Four dimensional block move with repacking
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE ((uint32_t) 10U) |
Two dimensional block move
#define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING ((uint32_t) 11U) |
Two dimensional block move with repacking Four dimensional block move with repacking and indirection
#define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION ((uint32_t) 15U) |
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_COMPLETION ((uint32_t) 0U) |
When TR is complete and all status for the TR has been received
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT1_DEC ((uint32_t) 1U) |
Type 0: when the last data transaction is sent for the TR; Type 1-11: when ICNT1 is decremented
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT2_DEC ((uint32_t) 2U) |
Type 0-1,10-11: when the last data transaction is sent for the TR; All other types: when ICNT2 is decremented
#define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT3_DEC ((uint32_t) 3U) |
Type 0-2,10-11: when the last data transaction is sent for the TR; All other types: when ICNT3 is decremented
#define CSL_UDMAP_TR_FLAGS_TRIGGER_NONE ((uint32_t) 0U) |
No Trigger
#define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL0 ((uint32_t) 1U) |
Global Trigger 0 for the channel
#define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL1 ((uint32_t) 2U) |
Global Trigger 1 for the channel
#define CSL_UDMAP_TR_FLAGS_TRIGGER_LOCAL_EVENT ((uint32_t) 3U) |
Local Event for the channel
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT1_DEC ((uint32_t) 0U) |
The second inner most loop (ICNT1) will be decremented by 1
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT2_DEC ((uint32_t) 1U) |
The third inner most loop (ICNT2) will be decremented by 1
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT3_DEC ((uint32_t) 2U) |
The outer most loop (ICNT3) will be decremented by 1
#define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ALL ((uint32_t) 3U) |
The entire TR will be allowed to complete
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT ((uint32_t) 3U) |
#define CSL_UDMAP_TR_FMTFLAGS_DIR_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT ((uint32_t) 4U) |
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT ((uint32_t) 8U) |
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT ((uint32_t) 12U) |
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT ((uint32_t) 16U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT ((uint32_t) 20U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT ((uint32_t) 24U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT ((uint32_t) 26U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT ((uint32_t) 28U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT ((uint32_t) 30U) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT) |
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT) |
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT ((uint32_t) 24U) |
#define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_LINEAR ((uint32_t) 0U) |
Linear addressing
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_CIRCULAR ((uint32_t) 1U) |
Circular addressing
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512B ((uint32_t) 0U) |
512B block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1KB ((uint32_t) 1U) |
1KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2KB ((uint32_t) 2U) |
2KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4KB ((uint32_t) 3U) |
4KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8KB ((uint32_t) 4U) |
8KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16KB ((uint32_t) 5U) |
16KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_32KB ((uint32_t) 6U) |
32KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_64KB ((uint32_t) 7U) |
64KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_128KB ((uint32_t) 8U) |
128KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_256KB ((uint32_t) 9U) |
256KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512KB ((uint32_t) 10U) |
512KB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1GB ((uint32_t) 11U) |
1GB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2GB ((uint32_t) 12U) |
2GB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4GB ((uint32_t) 13U) |
4GB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8GB ((uint32_t) 14U) |
8GB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16GB ((uint32_t) 15U) |
16GB block size
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_LINEAR ((uint32_t) 0U) |
Linear addressing
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK0 ((uint32_t) 1U) |
Circular Buffer 0 is used
#define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK1 ((uint32_t) 2U) |
Circular Buffer 1 is used
#define CSL_UDMAP_TR_FMTFLAGS_DIR_SRC_USES_AMODE ((uint32_t) 0U) |
The source addressing will use the method selected in the AMODE field and the destination address will use the default linear addressing
#define CSL_UDMAP_TR_FMTFLAGS_DIR_DST_USES_AMODE ((uint32_t) 1U) |
The destination addressing will use the method selected in the AMODE field and the source addressing will use the default linear addressing
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1 ((uint32_t) 0U) |
1 Byte per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5 ((uint32_t) 1U) |
1.5 Bytes (12 bits) per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2 ((uint32_t) 2U) |
2 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_3 ((uint32_t) 3U) |
3 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_4 ((uint32_t) 4U) |
4 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_5 ((uint32_t) 5U) |
5 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_16 ((uint32_t) 6U) |
16 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_32 ((uint32_t) 7U) |
32 Bytes per element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1_2 ((uint32_t) 8U) |
1 Byte per input element 2 Bytes per output element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5_2 ((uint32_t) 9U) |
1.5 Bytes per input element 2 Bytes per output element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1 ((uint32_t) 10U) |
2 Bytes per input element 1 Byte per output element
#define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1p5 ((uint32_t) 11U) |
2 Bytes per input element 1.5 Bytes per output element
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_NO_CHANGE ((uint32_t) 0U) |
The input and output block will remain identical.
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_CONSTANT_COPY ((uint32_t) 1U) |
The input block is not an address but the address is up to a 64 bit constant.
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_TRANSPOSE ((uint32_t) 2U) |
The inner and second most inner loops are swapped so that rows become columns and columns become rows.
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE ((uint32_t) 3U) |
The data in the row will be accessed in the reverse of the order that it is read.
#define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE_TRANSPOSE ((uint32_t) 4U) |
The data will be written in the reverse of the order that is read as well as transposed.
#define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_CACHE ((uint32_t) 0U) |
Prewarm the Cache
#define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_MMU ((uint32_t) 1U) |
Prewarm MMU
#define CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_SECTR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT) |
#define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT ((uint32_t) 4U) |
#define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_MASK (((uint32_t) 0xFFFFFFF0U) << CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT) |
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_NONE ((uint32_t) 0U) |
The TR does not require a secondary TR.
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_64 ((uint32_t) 1U) |
The TR will fetch a 64 byte secondary TR prior to the initial read.
#define CSL_UDMAP_TR_FMTFLAGS_SECTR_128 ((uint32_t) 2U) |
The TR will fetch a 128 byte secondary TR prior to the initial read.
#define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT) |
#define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_SHIFT ((uint32_t) 4U) |
#define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_FIELD_SHIFT) |
#define CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT ((uint32_t) 16U) |
#define CSL_UDMAP_TR_RESPONSE_CMDID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT) |
#define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT ((uint32_t) 24U) |
#define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT) |
#define CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE ((uint32_t) 0U) |
None
#define CSL_UDMAP_TR_RESPONSE_STATUS_TRANSFER_ERR ((uint32_t) 1U) |
Transfer Error
#define CSL_UDMAP_TR_RESPONSE_STATUS_ABORTED_ERR ((uint32_t) 2U) |
Aborted Error
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ERR ((uint32_t) 3U) |
Submission Error Unsupported Feature
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ERR ((uint32_t) 4U) |
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ICNT0 ((uint32_t) 0U) |
ICNT0 was 0
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_FIFO_FULL ((uint32_t) 1U) |
Channel FIFO was full when TR received
#define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_OWN ((uint32_t) 2U) |
Channel is not owned by the submitter
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_TR_TYPE ((uint32_t) 0U) |
TR Type not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_STATIC ((uint32_t) 1U) |
STATIC not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_EOL ((uint32_t) 2U) |
EOL not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_CFG_SPECIFIC ((uint32_t) 3U) |
CONFIGURATION SPECIFIC not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE ((uint32_t) 4U) |
AMODE not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ELTYPE ((uint32_t) 5U) |
ELTYPE not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_DFMT ((uint32_t) 6U) |
DFMT not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_SECTR ((uint32_t) 7U) |
SECTR not supported
#define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE_SPECIFIC ((uint32_t) 8U) |
AMODE SPECIFIC field not supported
#define CSL_UDMAP_TR_FLAGS_EOL_MATCH_SOL_EOL ((uint32_t) 0U) |
For Source (Read) split TRs, SOL/EOL match SOP/EOP On destination (Write) split TRs, Ignore EOL
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0 ((uint32_t) 1U) |
For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0 bytes On destination (Write) split TRs, Line length is ICNT0 bytes. Clear any remaining ICNT0 bytes and increment ICNT1 by 1
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1 ((uint32_t) 2U) |
For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0×ICNT1 bytes On destination (Write) split TRs, Line length is ICNT0×ICNT1 bytes. Clear any remaining ICNT0/1 bytes and increment ICNT2 by 1
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2 ((uint32_t) 3U) |
For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0×ICNT1×ICNT2 bytes On destination (Write) split TRs, Line length is ICNT0×ICNT1×ICNT2 bytes. Clear any remaining ICNT0/1/2 bytes and increment ICNT3 by 1
#define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2_ICNT3 ((uint32_t) 4U) |
For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0×ICNT1×ICNT2×ICNT3 bytes On destination (Write) split TRs, Line length is ICNT0×ICNT1×ICNT2×ICNT3 bytes. Move on to next TR
#define CSL_UDMAP_TR_FLAGS_EOL_RESERVED ((uint32_t) 5U) |
Reserved
#define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT ((uint32_t) 0U) |
#define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT) |
#define CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT ((uint32_t) 4U) |
#define CSL_UDMAP_TD_RESPONSE_CHAN_ID_MASK (((uint32_t) 0x3FFU) << CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT) |
#define CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT ((uint32_t) 31U) |
#define CSL_UDMAP_TD_RESPONSE_FORCED_MASK (((uint32_t) 0x1U) << CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT) |
typedef uint32_t CSL_UdmapTrFlagsType |
typedef uint32_t CSL_UdmapTrFlagsEventSize |
typedef uint32_t CSL_UdmapTrFlagsTrigger |
typedef uint32_t CSL_UdmapTrFlagsTriggerType |
typedef uint32_t CSL_UdmapTrFmtflagsAmode |
typedef uint32_t CSL_UdmapTrFmtflagsAmodeSpecificCbk |
typedef uint32_t CSL_UdmapTrFmtflagsAmodeSpecificAmode |
typedef uint32_t CSL_UdmapTrFmtflagsDir |
typedef uint32_t CSL_UdmapTrFmtflagsEltype |
typedef uint32_t CSL_UdmapTrFmtflagsDfmt |
typedef uint32_t CSL_UdmapTrCacheflagsOp |
typedef uint32_t CSL_UdmapTrFmtflagsSectr |
typedef uint32_t CSL_UdmapTrResponseStatus |
typedef uint32_t CSL_UdmapTrResponseStatusSubmission |
typedef uint32_t CSL_UdmapTrResponseStatusUnsupported |
typedef uint32_t CSL_UdmapTrFlagsEol |
struct CSL_UdmapTR_t __attribute__ | ( | (__packed__) | ) |
|
inlinestatic |
Return the TR response status type.
This function returns the status type of the specified TR response. See CSL_UdmapTrResponseStatus for available status types.
pTrResponse | [IN] Pointer to the TR Response structure |
|
inlinestatic |
Parses the TD response word.
This function parses the teardown response word received from the completion queue.
tdResponseWord | [IN] TD Response word to parse |
pTdResponse | [OUT] Pointer to the TD Response structure to be filled |
uint32_t flags |
Specifies type of TR and how the TR should be handled. It also supports the TR triggering and output events.
Flags
Status flags
uint16_t icnt0 |
Total loop iteration count for level 0 (innermost)
uint16_t icnt1 |
Total loop iteration count for level 1
uint64_t addr |
Starting address for the source data or destination data if it is a half duplex write
Address
int32_t dim1 |
Signed dimension for loop level 1 for the source data
uint16_t icnt2 |
Total loop iteration count for level 2
uint16_t icnt3 |
Total loop iteration count for level 3 (outermost)
int32_t dim2 |
Signed dimension for loop level 2
int32_t dim3 |
Signed dimension for loop level 3
uint32_t fmtflags |
Tells how the data is formatted either between the input and the output or if the data should use different addressing schemes or sizes
int32_t ddim1 |
Signed dimension for loop level 1 for the destination data
uint64_t daddr |
Starting address for the destination of the data
int32_t ddim2 |
Signed dimension for loop level 2 for the destination data
int32_t ddim3 |
Signed dimension for loop level 3 for the destination data
uint16_t dicnt0 |
Total loop iteration count for level 0 (innermost) used for destination
uint16_t dicnt1 |
Total loop iteration count for level 1 used for destination
uint16_t dicnt2 |
Total loop iteration count for level 2 used for destination
uint16_t dicnt3 |
Total loop iteration count for level 3 used for destination
uint32_t cacheflags |
Tells how the data is formatted either between the input and the output or if the data should use different addressing schemes or sizes
uint8_t rsvd |
Reserved
uint32_t rsvd0[3] |
Reserved
uint32_t rsvd1[2] |
Reserved
uint32_t data |
Data
uint32_t tdIndicator |
TRUE: Indicates that a teardown has completed.
uint32_t chId |
Indicates which channel the teardown completed on.
uint32_t forced |
FALSE: Indicates that the teardown was graceful and data was not lost. TRUE : Indicates that the teardown was not graceful and data was potentially lost