Part Number: TDA4VEN-Q1
static int32_t App_udmaMemcpy2D(tivxImgSelectParams *prms, const img_select_2d_copy_params_t *params)
{
int32_t retVal = UDMA_SOK;
uint64_t pDesc;
uint32_t trRespStatus;
uint64_t trpdMemPhy;
/* Initialize TRPD for 2D copy */
App_udmaTrpdInit2D(prms->udmaChHandle, prms->udmaTrpdMem, params);
trpdMemPhy = (uint64_t) Udma_defaultVirtToPhyFxn(prms->udmaTrpdMem, 0U, NULL);
/* Submit TRPD to channel */
retVal = Udma_ringQueueRaw(Udma_chGetFqRingHandle(prms->udmaChHandle), trpdMemPhy);
if (retVal != UDMA_SOK)
{
VX_PRINT(VX_ZONE_ERROR,"Failed to submit TRPD to UDMA channel\r\n");
return retVal;
}
/* Wait for completion */
int status =SemaphoreP_pend(&prms->udmaDoneSem, 5000);
VX_PRINT(VX_ZONE_ERROR,"SemaphoreP_pend %d \r\n",status);
retVal = Udma_ringDequeueRaw(Udma_chGetCqRingHandle(prms->udmaChHandle), &pDesc);
if (retVal != UDMA_SOK)
{
VX_PRINT(VX_ZONE_ERROR,"Failed to dequeue from completion ring\r\n");
return retVal;
}
/* Check TR response status */
CacheP_inv(prms->udmaTrpdMem, UDMA_TEST_TRPD_SIZE, CacheP_TYPE_ALLD);
trRespStatus = UdmaUtils_getTrpdTr15Response(prms->udmaTrpdMem, 1U, 0U);
if (CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE != trRespStatus)
{
VX_PRINT(VX_ZONE_ERROR,"UDMA 2D transfer failed with status: %d\r\n", trRespStatus);
retVal = UDMA_EFAIL;
return retVal;
}
return retVal;
}
[C7x_1 ] [32.895672][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
[C7x_1 ] [40.040704][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
[C7x_1 ] [40.041648][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
[C7x_1 ] [40.074899][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
[C7x_1 ] [47.404439][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend -2
[C7x_1 ] [53.203934][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend -2
[C7x_1 ] [53.205441][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
[C7x_1 ] [60.143846][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend -2
[C7x_1 ] [67.588068][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend -2
[C7x_1 ] [72.633436][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend -2
[C7x_1 ] [72.634057][VX_ZONE_ERROR][App_udmaMemcpy2D:247] SemaphoreP_pend 0
