This is UDMA driver utilty parameters and API
|
file | udma_utils.h |
| UDMA utility API to make TR, get TR descriptor memory requirement.
|
|
|
uint32_t | UdmaUtils_getRingMemSize (uint8_t mode, uint32_t elemCnt, uint8_t elemSize) |
| UDMA get ring size utility API. More...
|
|
void | UdmaUtils_makeTrpdTr15 (uint8_t *trpdMem, uint32_t trCnt, uint32_t cqRingNum) |
| UDMA utility API to make TRPD with TR15 TR type. Other TRPD make APIs should be called only after this API. More...
|
|
void | UdmaUtils_makeTrpd (uint8_t *trpdMem, uint32_t trType, uint32_t trCnt, uint32_t cqRingNum) |
| UDMA utility API to make TRPD. Other TRPD make APIs should be called only after this API. More...
|
|
uint32_t | UdmaUtils_getTrSizeEncoded (uint32_t trType) |
| Returns the size of TR (encoded) based on the type. More...
|
|
uint32_t | UdmaUtils_getTrSizeBytes (uint32_t trType) |
| Returns the size of TR in bytes based on the type. More...
|
|
static uint32_t | UdmaUtils_getTrpdTr15Response (const uint8_t *trpdMem, uint32_t trCnt, uint32_t trIndex) |
| Returns the TR response in the TRPD memory based on the index. More...
|
|
static CSL_UdmapTR15 * | UdmaUtils_getTrpdTr15Pointer (uint8_t *trpdMem, uint32_t trIndex) |
| Returns the TR15 pointer in the TRPD memory based on the index. More...
|
|
int32_t | UdmaUtils_mapLocaltoGlobalEvent (Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t localeventID, uint32_t eventMode) |
| Map L2G event for BCDMA trigger. More...
|
|
|
#define | UDMA_GET_TRPD_TR15_SIZE(n) (UDMA_ALIGN_SIZE(sizeof(CSL_UdmapTR15) + ((n) * (sizeof(CSL_UdmapTR15) + 4U)))) |
| UDMA TR15 packet descriptor memory size in bytes. This contains the CSL_UdmapCppi5TRPD + Padding to sizeof(CSL_UdmapTR15) + N* Type_15 TR (CSL_UdmapTR15) + N* TR response of 4 bytes. Since CSL_UdmapCppi5TRPD header is less than CSL_UdmapTR15, CSL_UdmapTR15 itself is used for size alignment. More...
|
|
◆ UDMA_TR_TYPE_0
◆ UDMA_TR_TYPE_1
◆ UDMA_TR_TYPE_2
◆ UDMA_TR_TYPE_3
◆ UDMA_TR_TYPE_4
◆ UDMA_TR_TYPE_5
◆ UDMA_TR_TYPE_8
◆ UDMA_TR_TYPE_9
◆ UDMA_TR_TYPE_10
◆ UDMA_TR_TYPE_11
◆ UDMA_TR_TYPE_15
◆ UDMA_GET_TRPD_TR15_SIZE
#define UDMA_GET_TRPD_TR15_SIZE |
( |
|
n | ) |
(UDMA_ALIGN_SIZE(sizeof(CSL_UdmapTR15) + ((n) * (sizeof(CSL_UdmapTR15) + 4U)))) |
UDMA TR15 packet descriptor memory size in bytes. This contains the CSL_UdmapCppi5TRPD + Padding to sizeof(CSL_UdmapTR15) + N* Type_15 TR (CSL_UdmapTR15) + N* TR response of 4 bytes. Since CSL_UdmapCppi5TRPD header is less than CSL_UdmapTR15, CSL_UdmapTR15 itself is used for size alignment.
n - Number of TR's present in the TRPD
◆ UdmaUtils_getRingMemSize()
uint32_t UdmaUtils_getRingMemSize |
( |
uint8_t |
mode, |
|
|
uint32_t |
elemCnt, |
|
|
uint8_t |
elemSize |
|
) |
| |
UDMA get ring size utility API.
- Parameters
-
- Returns
- Size of the ring memory required in bytes
◆ UdmaUtils_makeTrpdTr15()
void UdmaUtils_makeTrpdTr15 |
( |
uint8_t * |
trpdMem, |
|
|
uint32_t |
trCnt, |
|
|
uint32_t |
cqRingNum |
|
) |
| |
UDMA utility API to make TRPD with TR15 TR type. Other TRPD make APIs should be called only after this API.
Note: This sets the most commonly used value for all the fields. User can override the fields after calling this API if required.
- Parameters
-
trpdMem | [IN] Pointer to TRPD memory |
trCnt | [IN] Number of TR entries present in the TRPD |
cqRingNum | [IN] Completion ring number where the TRPD is returned after processing |
◆ UdmaUtils_makeTrpd()
void UdmaUtils_makeTrpd |
( |
uint8_t * |
trpdMem, |
|
|
uint32_t |
trType, |
|
|
uint32_t |
trCnt, |
|
|
uint32_t |
cqRingNum |
|
) |
| |
UDMA utility API to make TRPD. Other TRPD make APIs should be called only after this API.
Note: This sets the most commonly used value for all the fields. User can override the fields after calling this API if required.
- Parameters
-
trpdMem | [IN] Pointer to TRPD memory |
trType | [IN] TR type. Refer Udma_TrType |
trCnt | [IN] Number of TR entries present in the TRPD |
cqRingNum | [IN] Completion ring number where the TRPD is returned after processing |
◆ UdmaUtils_getTrSizeEncoded()
uint32_t UdmaUtils_getTrSizeEncoded |
( |
uint32_t |
trType | ) |
|
Returns the size of TR (encoded) based on the type.
- Parameters
-
- Returns
- Size of the TR record in encoded value to be programmed in TRPD.
◆ UdmaUtils_getTrSizeBytes()
uint32_t UdmaUtils_getTrSizeBytes |
( |
uint32_t |
trType | ) |
|
Returns the size of TR in bytes based on the type.
- Parameters
-
- Returns
- Size of the TR record in bytes.
◆ UdmaUtils_getTrpdTr15Response()
static uint32_t UdmaUtils_getTrpdTr15Response |
( |
const uint8_t * |
trpdMem, |
|
|
uint32_t |
trCnt, |
|
|
uint32_t |
trIndex |
|
) |
| |
|
inlinestatic |
Returns the TR response in the TRPD memory based on the index.
- Parameters
-
trpdMem | [IN] TRPD memory pointer |
trCnt | [IN] Number of TR entries present in the TRPD |
trIndex | [IN] Index to the TR to get the response from |
- Returns
- TR response Refer CSL_UdmapTrResponseStatus
◆ UdmaUtils_getTrpdTr15Pointer()
static CSL_UdmapTR15 * UdmaUtils_getTrpdTr15Pointer |
( |
uint8_t * |
trpdMem, |
|
|
uint32_t |
trIndex |
|
) |
| |
|
inlinestatic |
Returns the TR15 pointer in the TRPD memory based on the index.
- Parameters
-
trpdMem | [IN] TRPD memory pointer |
trIndex | [IN] Index to the TR to get the TR15 pointer address |
- Returns
- TR15 pointer address
◆ UdmaUtils_mapLocaltoGlobalEvent()
int32_t UdmaUtils_mapLocaltoGlobalEvent |
( |
Udma_DrvHandle |
drvHandle, |
|
|
Udma_ChHandle |
chHandle, |
|
|
uint32_t |
localeventID, |
|
|
uint32_t |
eventMode |
|
) |
| |
Map L2G event for BCDMA trigger.
- Parameters
-
drvHandle | [IN] UDMA driver handle - static memory needs to allocated by caller. This is used by the driver to maintain the driver states. This cannot be NULL. |
chHandle | [IN] UDMA channel handle. This parameter can't be NULL. |
localeventID | [IN] Local event ID for the corresponding IP. |
eventMode | [IN] Edge triggering signal or pulsed signal. |
- Returns
- SYSTEMP_SUCESS OR SYSTEMP_FAILURE.