PDK API Guide for J721E
|
This is UDMA driver DRU related configuration parameters and API
Files | |
file | udma_dru.h |
UDMA DRU related parameters and API. | |
Functions | |
void | Udma_chDruSubmitTr (Udma_ChHandle chHandle, const CSL_UdmapTR *tr) |
This API does a direct TR submission to the specified channel and core ID. More... | |
uint32_t | Udma_druGetNumQueue (Udma_DrvHandle drvHandle, uint32_t utcId) |
This API returns the number of queues present in a DRU. More... | |
int32_t | Udma_druQueueConfig (Udma_DrvHandle drvHandle, uint32_t utcId, uint32_t queueId, const CSL_DruQueueConfig *queueCfg) |
This API configures the DRU queue non-real time configurations. More... | |
volatile uint64_t * | Udma_druGetTriggerRegAddr (Udma_ChHandle chHandle) |
This API returns the software triggers register address for the DRU channel. More... | |
void | UdmaDruQueueConfig_init (CSL_DruQueueConfig *queueCfg) |
CSL_DruQueueConfig structure init function. More... | |
UDMA UTC Type | |
This represents the various types of UTC present in the SOC. | |
#define | UDMA_UTC_TYPE_DRU (0U) |
#define | UDMA_UTC_TYPE_DRU_VHWA (1U) |
#define UDMA_UTC_TYPE_DRU (0U) |
#define UDMA_UTC_TYPE_DRU_VHWA (1U) |
void Udma_chDruSubmitTr | ( | Udma_ChHandle | chHandle, |
const CSL_UdmapTR * | tr | ||
) |
This API does a direct TR submission to the specified channel and core ID.
Note: No error checks are performed by this API to get maximum performance
Requirement: DOX_REQ_TAG(PDK-2593)
chHandle | [IN] UDMA channel handle. This parameter can't be NULL. |
tr | [IN] Pointer to TR to be submitted. |
uint32_t Udma_druGetNumQueue | ( | Udma_DrvHandle | drvHandle, |
uint32_t | utcId | ||
) |
This API returns the number of queues present in a DRU.
This could be used to configure all the queues in a DRU after UDMA init.
Requirement: TODO
drvHandle | [IN] UDMA driver handle pointer passed during Udma_init |
utcId | [IN] The UTC instance ID. Refer Udma_UtcIdSoc macro for details. |
int32_t Udma_druQueueConfig | ( | Udma_DrvHandle | drvHandle, |
uint32_t | utcId, | ||
uint32_t | queueId, | ||
const CSL_DruQueueConfig * | queueCfg | ||
) |
This API configures the DRU queue non-real time configurations.
Note: DRU queue configuration should be done before any data transfer is initiated in a system. So this should be done preferably after Udma_init is called.
Requirement: TODO
drvHandle | [IN] UDMA driver handle pointer passed during Udma_init |
utcId | [IN] The UTC instance ID. Refer Udma_UtcIdSoc macro for details. |
queueId | [IN] Queue ID - 0 to (CSL_DRU_NUM_QUEUE - 1). Refer CSL_DruQueueId. All the DRUs only have 5 queues implemented in the current design. 1 Priority queue and 4 round robin queues. The priority queue is queue 0 the round robin queues are queues 1 - 4. |
queueCfg | [IN] Pointer to queue configuration. |
volatile uint64_t* Udma_druGetTriggerRegAddr | ( | Udma_ChHandle | chHandle | ) |
This API returns the software triggers register address for the DRU channel.
This can be used to directly write to the register to trigger the channel through software.
Requirement: DOX_REQ_TAG(PDK-2594)
chHandle | [IN] UDMA channel handle. This parameter can't be NULL. |
void UdmaDruQueueConfig_init | ( | CSL_DruQueueConfig * | queueCfg | ) |
CSL_DruQueueConfig structure init function.
queueCfg | [IN] Pointer to CSL_DruQueueConfig structure. |