]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/commitdiff
[PDK-7909][PDK-6279] UDMA UT: Added new testcase for PKTDMA Channel API tets
authorDon Dominic <a0486429@ti.com>
Fri, 4 Dec 2020 22:39:33 +0000 (04:09 +0530)
committerSivaraj R <sivaraj@ti.com>
Sat, 5 Dec 2020 02:30:37 +0000 (20:30 -0600)
- Tests various channel API's for various compinantions of TX/RX/Mapped/Unmapped PKTDMA Channels
- Udma_chOpen
- Udma_chConfigTx / Udma_chConfigRx
- Udma_chEnable
- Udma_chDisable
- Udma_chClose

- For BCDMA/UDMAP this gets tested with block copy tests.

Signed-off-by: Don Dominic <a0486429@ti.com>
packages/ti/drv/udma/unit_test/udma_ut/src/soc/am64x/udma_test_soc.h
packages/ti/drv/udma/unit_test/udma_ut/src/udma_test.h
packages/ti/drv/udma/unit_test/udma_ut/src/udma_test_ch.c
packages/ti/drv/udma/unit_test/udma_ut/src/udma_testcases.h
packages/ti/drv/udma/unit_test/udma_ut/src/udma_testconfig.h

index dea2a7641349249f9c5133858f7132e2303fec4c..04195d948b87bf1989e94b3c2bbf5a94fa542f85 100644 (file)
@@ -169,6 +169,18 @@ extern "C" {
 #define UDMA_TEST_RING_MODE_DEFAULT_START       (TISCI_MSG_VALUE_RM_RING_MODE_RING)
 #define UDMA_TEST_RING_MODE_DEFAULT_STOP        (TISCI_MSG_VALUE_RM_RING_MODE_RING)
 
+#define UDMA_TEST_PKTDMA_UNMAPPED_TX_PEER_CH    (UDMA_PDMA_CH_MAIN0_MCSPI0_CH0_TX)
+#define UDMA_TEST_PKTDMA_CPSW_TX_PEER_CH        (UDMA_PSIL_CH_CPSW2_TX)
+#define UDMA_TEST_PKTDMA_SAUL_TX_PEER_CH        (UDMA_PSIL_CH_SAUL0_TX)
+#define UDMA_TEST_PKTDMA_ICSSG_0_TX_PEER_CH     (UDMA_PSIL_CH_ICSS_G0_TX)
+#define UDMA_TEST_PKTDMA_ICSSG_1_TX_PEER_CH     (UDMA_PSIL_CH_ICSS_G1_TX)
+
+#define UDMA_TEST_PKTDMA_UNMAPPED_RX_PEER_CH    (UDMA_PDMA_CH_MAIN0_MCSPI0_CH0_RX)
+#define UDMA_TEST_PKTDMA_CPSW_RX_PEER_CH        (UDMA_PSIL_CH_CPSW2_RX)
+#define UDMA_TEST_PKTDMA_SAUL_RX_PEER_CH        (UDMA_PSIL_CH_SAUL0_RX)
+#define UDMA_TEST_PKTDMA_ICSSG_0_RX_PEER_CH     (UDMA_PSIL_CH_ICSS_G0_RX)
+#define UDMA_TEST_PKTDMA_ICSSG_1_RX_PEER_CH     (UDMA_PSIL_CH_ICSS_G1_RX)
+
 /* Redirect for backward compaitibilitly */
 #define UDMA_TEST_RF_MAIN_BC                (UDMA_TEST_RF_BCDMA_BC)
 #define UDMA_TEST_RF_MCU_BC                 (UDMA_TEST_RF_BCDMA_BC)
index 353792be643d7e6afff8bf2927f687ac093a5fa5..ed34518ae1990224bcf481930864da4b8a4999b9 100755 (executable)
@@ -283,6 +283,25 @@ typedef enum
     UDMA_TEST_RING_PRMID_INVALID,
 } UdmaTestRingPrmId;
 
+#if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
+/**
+ *  UDMA UT PKTDMA channel param IDs.
+ */
+typedef enum
+{
+    UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_TX,
+    UDMA_TEST_PKTDMA_CH_PRMID_CPSW_TX,
+    UDMA_TEST_PKTDMA_CH_PRMID_SAUL_TX,
+    UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_TX,
+    UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_TX,
+    UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_RX,
+    UDMA_TEST_PKTDMA_CH_PRMID_CPSW_RX,
+    UDMA_TEST_PKTDMA_CH_PRMID_SAUL_RX,
+    UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_RX,
+    UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_RX,
+} UdmaTestPktdmaChPrmId;
+#endif
+
 /* ========================================================================== */
 /*                         Structure Declarations                             */
 /* ========================================================================== */
@@ -382,6 +401,23 @@ typedef struct
      *   Refer #UdmaTestEventMode */
 } UdmaTestRingPrm;
 
+#if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
+/**
+ *  \brief Test parameters for a PKTDMA Channel.
+ */
+typedef struct
+{
+    UdmaTestPktdmaChPrmId   pktdmachPrmId;
+    /**< PKTDMA Channel parameter ID. */
+    uint32_t                chType;
+    /**< UDMA channel type. */
+    uint32_t                mappedChGrp;
+    /**< UDMA mapped channel group. */
+    uint32_t                peerChNum;
+    /**< UDMA peer channel to link the #chNum using PSILCFG.*/
+} UdmaTestPktdmaChPrm;
+#endif
+
 /**
  *  \brief Test case parameter structure.
  */
@@ -643,6 +679,7 @@ int32_t udmaTestBugTcPDK_4654(UdmaTestTaskObj *taskObj);
  * UDMA channel test functions
  */
 int32_t udmaTestChPktdmaParamCheckTc(UdmaTestTaskObj *taskObj);
+int32_t udmaTestChPktdmaChApiTc(UdmaTestTaskObj *taskObj);
 
 /*
  * UDMA Negative test case functions
index 934551b9431435562bbe95a75d0a4f6c94acef67..24ce519acfe5fc808863a8625acfe1b63e11e723 100644 (file)
@@ -42,6 +42,7 @@
 /* ========================================================================== */
 
 #include <udma_test.h>
+#include <udma_testconfig.h>
 
 /* ========================================================================== */
 /*                           Macros & Typedefs                                */
@@ -60,6 +61,7 @@
 /* ========================================================================== */
 
 static int32_t udmaTestChPktdmaParamCheckTestLoop(UdmaTestTaskObj *taskObj);
+static int32_t udmaTestChPktdmaChApiTestLoop(UdmaTestTaskObj *taskObj);
 
 /* ========================================================================== */
 /*                            Global Variables                                */
@@ -101,9 +103,37 @@ int32_t udmaTestChPktdmaParamCheckTc(UdmaTestTaskObj *taskObj)
 }
 
 
+int32_t udmaTestChPktdmaChApiTc(UdmaTestTaskObj *taskObj)
+{
+    int32_t     retVal = UDMA_SOK;
+    uint32_t    loopCnt = 0U;
+
+    GT_1trace(taskObj->traceMask, GT_INFO1,
+              " |TEST INFO|:: Task:%d: PKTDMA Channel API's Testcase ::\r\n", taskObj->taskId);
+    GT_2trace(taskObj->traceMask, GT_INFO1,
+              " |TEST INFO|:: Task:%d: Loop count           : %d ::\r\n", taskObj->taskId, taskObj->loopCnt);
+
+    gUdmaTestChResult = UDMA_SOK;
+    while(loopCnt < taskObj->loopCnt)
+    {
+        retVal = udmaTestChPktdmaChApiTestLoop(taskObj);
+        if(UDMA_SOK != retVal)
+        {
+            break;
+        }
+
+        loopCnt++;
+    }
+
+    retVal += gUdmaTestChResult;
+
+    return (retVal);
+}
+
 static int32_t udmaTestChPktdmaParamCheckTestLoop(UdmaTestTaskObj *taskObj)
 {
     int32_t             retVal = UDMA_SOK;
+#if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
     uint32_t            elemCnt = 50U, ringMemSize;
     uint32_t            heapId = UTILS_MEM_HEAP_ID_MSMC;
     Udma_DrvHandle      drvHandle;
@@ -128,7 +158,7 @@ static int32_t udmaTestChPktdmaParamCheckTestLoop(UdmaTestTaskObj *taskObj)
     chType = UDMA_CH_TYPE_TX_MAPPED;
     UdmaChPrms_init(&chPrms, chType);
     chPrms.mappedChGrp = UDMA_MAPPED_TX_GROUP_CPSW;
-    chPrms.peerChNum   = UDMA_PSIL_CH_CPSW2_TX;
+    chPrms.peerChNum   = UDMA_TEST_PKTDMA_CPSW_TX_PEER_CH;
     retVal = Udma_chOpen(drvHandle, chHandle, chType, &chPrms);
     if(UDMA_SOK != retVal)
     {
@@ -183,7 +213,143 @@ static int32_t udmaTestChPktdmaParamCheckTestLoop(UdmaTestTaskObj *taskObj)
             GT_0trace(taskObj->traceMask, GT_ERR, " Ring free failed!!\n");
         }
     }
+#endif
 
     return(retVal);
 }
 
+static int32_t udmaTestChPktdmaChApiTestLoop(UdmaTestTaskObj *taskObj)
+{
+    int32_t             retVal = UDMA_SOK;
+#if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
+    uint32_t            elemCnt = 50U, ringMemSize;
+    uint32_t            heapId = UTILS_MEM_HEAP_ID_MSMC;
+    Udma_DrvHandle      drvHandle;
+    uint32_t            chType;
+    struct Udma_ChObj   chObj;
+    Udma_ChHandle       chHandle = &chObj;
+    Udma_ChPrms         chPrms;
+    Udma_ChTxPrms       txPrms;
+    Udma_ChRxPrms       rxPrms;
+    uint32_t            chGrpIdx;
+    void               *ringMem = NULL;
+    Udma_RmInitPrms    *rmInitPrms;
+    char *pktdmaChGrpStr[] = { "Unmapped TX", "CPSW TX", "SAUL TX", "ICSSG_0 TX", "ICSSG_1_TX",
+                               "Unmapped RX", "CPSW RX", "SAUL RX", "ICSSG_0 RX", "ICSSG_1_RX"};
+    const UdmaTestPktdmaChPrm  *pktdmaChPrms = NULL;
+
+    drvHandle = &taskObj->testObj->drvObj[UDMA_TEST_INST_ID_PKTDMA_0];
+    rmInitPrms = &drvHandle->initPrms.rmInitPrms;
+    ringMemSize = elemCnt * sizeof (uint64_t);
+    ringMem = Utils_memAlloc(heapId, ringMemSize, UDMA_CACHELINE_ALIGNMENT);
+    if(NULL == ringMem)
+    {
+        retVal = UDMA_EALLOC;
+        GT_0trace(taskObj->traceMask, GT_ERR, " Ring memory allocation failure\r\n");
+    }
+    
+    /* Test for each config in PKTMA Channel param table */
+    for(chGrpIdx = 0U; chGrpIdx < UDMA_TEST_NUM_PKTDMA_CH_PRM; chGrpIdx++)
+    {
+        GT_1trace(taskObj->traceMask, GT_INFO1,
+                  " Testing for PKTDMA %s Channel Group  ...\r\n",
+                  pktdmaChGrpStr[chGrpIdx]);
+
+        if(((UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_TX == chGrpIdx) && (0U == rmInitPrms->numTxCh)) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_CPSW_TX == chGrpIdx) && (0U == rmInitPrms->numMappedTxCh[UDMA_MAPPED_TX_GROUP_CPSW])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_SAUL_TX == chGrpIdx) && (0U == rmInitPrms->numMappedTxCh[UDMA_MAPPED_TX_GROUP_SAUL])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_TX == chGrpIdx) && (0U == rmInitPrms->numMappedTxCh[UDMA_MAPPED_TX_GROUP_ICSSG_0])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_TX == chGrpIdx) && (0U == rmInitPrms->numMappedTxCh[UDMA_MAPPED_TX_GROUP_ICSSG_1])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_RX == chGrpIdx) && (0U == rmInitPrms->numRxCh)) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_CPSW_RX == chGrpIdx) && (0U == rmInitPrms->numMappedRxCh[UDMA_MAPPED_RX_GROUP_CPSW - UDMA_NUM_MAPPED_TX_GROUP])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_SAUL_RX == chGrpIdx) && (0U == rmInitPrms->numMappedRxCh[UDMA_MAPPED_RX_GROUP_SAUL - UDMA_NUM_MAPPED_TX_GROUP])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_RX == chGrpIdx) && (0U == rmInitPrms->numMappedRxCh[UDMA_MAPPED_RX_GROUP_ICSSG_0 - UDMA_NUM_MAPPED_TX_GROUP])) ||
+           ((UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_RX == chGrpIdx) && (0U == rmInitPrms->numMappedRxCh[UDMA_MAPPED_RX_GROUP_ICSSG_1 - UDMA_NUM_MAPPED_TX_GROUP])))
+        {
+            GT_1trace(taskObj->traceMask, GT_INFO1,
+                      " Skipping the Test for PKTDMA %s Channel Group, since no channels are reserved!!\r\n",
+                      pktdmaChGrpStr[chGrpIdx]);
+            continue;
+        }
+
+        pktdmaChPrms = &gUdmaTestPktdmaChPrm[chGrpIdx];
+
+        chType = pktdmaChPrms->chType;
+        UdmaChPrms_init(&chPrms, chType);
+        chPrms.fqRingPrms.ringMem       = ringMem;
+        chPrms.fqRingPrms.ringMemSize   = ringMemSize;
+        chPrms.fqRingPrms.elemCnt       = elemCnt;
+        chPrms.mappedChGrp = pktdmaChPrms->mappedChGrp;
+        chPrms.peerChNum   = pktdmaChPrms->peerChNum;
+
+        retVal = Udma_chOpen(drvHandle, chHandle, chType, &chPrms);
+        if(UDMA_SOK != retVal)
+        {
+            GT_0trace(taskObj->traceMask, GT_ERR,
+                " UDMA channel open failed!!\n");
+            break;
+        }
+        else
+        {
+            GT_2trace(taskObj->traceMask, GT_INFO1,
+                        " |TEST INFO|:: Task:%d: Allocated Ch   : %d ::\r\n",
+                        taskObj->taskId, Udma_chGetNum(chHandle));
+        }
+
+        if((chType & UDMA_CH_FLAG_TX) == UDMA_CH_FLAG_TX)
+        {
+            /* Config TX channel */
+            UdmaChTxPrms_init(&txPrms, chType);
+            retVal = Udma_chConfigTx(chHandle, &txPrms);
+            if(UDMA_SOK != retVal)
+            {
+                GT_0trace(taskObj->traceMask, GT_ERR,
+                    " UDMA TX channel config failed!!\n");
+                break;
+            }
+        }
+        else
+        {
+            /* Config RX channel */
+            UdmaChRxPrms_init(&rxPrms, chType);
+            retVal = Udma_chConfigRx(chHandle, &rxPrms);
+            if(UDMA_SOK != retVal)
+            {
+                GT_0trace(taskObj->traceMask, GT_ERR,
+                    " UDMA RX channel config failed!!\n");
+                break;
+            }
+        }
+        
+        retVal = Udma_chEnable(chHandle);
+        if(UDMA_SOK != retVal)
+        {
+            GT_0trace(taskObj->traceMask, GT_ERR,
+                " UDMA channel enable failed!!\n");
+            break;
+        }
+
+        retVal = Udma_chDisable(chHandle, UDMA_DEFAULT_CH_DISABLE_TIMEOUT);
+        if(UDMA_SOK != retVal)
+        {
+            GT_0trace(taskObj->traceMask, GT_ERR,
+                " UDMA channel disable failed!!\n");
+            break;
+        }
+
+        retVal = Udma_chClose(chHandle);
+        if(UDMA_SOK != retVal)
+        {
+            GT_0trace(taskObj->traceMask, GT_ERR,
+                " UDMA channel close failed!!\n");
+            break;
+        }
+        
+        GT_1trace(taskObj->traceMask, GT_INFO1,
+                  " Testing for PKTDMA %s Channel Group passed!!\r\n",
+                  pktdmaChGrpStr[chGrpIdx]);
+    }
+#endif
+
+    return(retVal);
+}
index fabae82e78806df583762f301a998919c47990c0..4dd2ebb60ea47f6f06fa81700607f9f9ebfa7c0e 100755 (executable)
@@ -3261,6 +3261,44 @@ static UdmaTestParams gUdmaTestCases[] =
         .runFlag    = (UDMA_TEST_RF_SOC_ALL | UDMA_TEST_RF_CORE_ALL | UDMA_TEST_RF_CFG_DEF | UDMA_TEST_RF_CFG_DYN),
         .ringPrmId  = UDMA_TEST_RING_PRMID_EVENT_POLLED,
     },
+    {
+        .enableTest = TEST_ENABLE,
+        .tcId       = 6279U,
+        .tcName     = "PKTDMA Channel API's test",
+        .disableInfo= NULL,
+        .printEnable= PRINT_ENABLE,
+        .prfEnable  = PRF_DISABLE,
+        .tcType     = (UDMA_TCT_SANITY | UDMA_TCT_NEGATIVE),
+        .dcEnable   = DATA_CHECK_DISABLE,
+        .loopCnt    = 1U,
+        .numTasks   = 1U,
+        .testType   = {UDMA_TT_MISC},
+        .testFxnPtr = {&udmaTestChPktdmaChApiTc},
+        /* All other below parameters not used in this testcase */
+        .pacingTime = {PACING_NONE},
+        .numCh      = {1U},
+        .instId     = {UDMA_TEST_DEFAULT_UDMA_INST},
+        .chPrmId    = {UDMA_TEST_CH_PRMID_DEF},
+        .qdepth     = {USE_DEF_QDEPTH},
+        .icnt       = {
+                        {UDMA_TEST_DEF_ICNT0, 1U, 1U, 1U}
+                      },
+        .dicnt      = {
+                        {UDMA_TEST_DEF_DICNT0, 1U, 1U, 1U}
+                      },
+        .dim        = {
+                        {0U, 0U, 0U}
+                      },
+        .ddim       = {
+                        {0U, 0U, 0U}
+                      },
+        .heapIdSrc  = {DEF_HEAP_ID},
+        .heapIdDest = {DEF_HEAP_ID},
+        .srcBufSize = {UDMA_TEST_DEF_ICNT0},
+        .destBufSize= {UDMA_TEST_DEF_DICNT0},
+        .runFlag    = (UDMA_TEST_RF_SOC_ALL | UDMA_TEST_RF_CORE_ALL | UDMA_TEST_RF_CFG_DEF | UDMA_TEST_RF_CFG_DYN),
+        .ringPrmId  = UDMA_TEST_RING_PRMID_EVENT_POLLED,
+    },
 #endif /* #if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1) */
 };
 
index 2b17eb8cb8b292e14c7c8e26de390d9063020ca0..db76f0079d171e7f9ad0140a30c83b0c6fbf1785 100644 (file)
@@ -489,6 +489,75 @@ static const UdmaTestRingPrm gUdmaTestRingPrm[] =
 #define UDMA_TEST_NUM_RING_PRM          (sizeof(gUdmaTestRingPrm) / \
                                          sizeof(gUdmaTestRingPrm[0U]))
 
+#if (UDMA_SOC_CFG_RA_LCDMA_PRESENT == 1)
+/** \brief Defines the various PKTDMA channel parameters. */
+static const UdmaTestPktdmaChPrm gUdmaTestPktdmaChPrm[] =
+{
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_TX,
+        .chType         = UDMA_CH_TYPE_TX,
+        .mappedChGrp    = UDMA_MAPPED_GROUP_INVALID,
+        .peerChNum      = UDMA_TEST_PKTDMA_UNMAPPED_TX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_CPSW_TX,
+        .chType         = UDMA_CH_TYPE_TX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_TX_GROUP_CPSW,
+        .peerChNum      = UDMA_TEST_PKTDMA_CPSW_TX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_SAUL_TX,
+        .chType         = UDMA_CH_TYPE_TX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_TX_GROUP_SAUL,
+        .peerChNum      = UDMA_TEST_PKTDMA_SAUL_TX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_TX,
+        .chType         = UDMA_CH_TYPE_TX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_TX_GROUP_ICSSG_0,
+        .peerChNum      = UDMA_TEST_PKTDMA_ICSSG_0_TX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_TX,
+        .chType         = UDMA_CH_TYPE_TX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_TX_GROUP_ICSSG_1,
+        .peerChNum      = UDMA_TEST_PKTDMA_ICSSG_1_TX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_UNMAPPED_RX,
+        .chType         = UDMA_CH_TYPE_RX,
+        .mappedChGrp    = UDMA_MAPPED_GROUP_INVALID,
+        .peerChNum      = UDMA_TEST_PKTDMA_UNMAPPED_RX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_CPSW_RX,
+        .chType         = UDMA_CH_TYPE_RX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_RX_GROUP_CPSW,
+        .peerChNum      = UDMA_TEST_PKTDMA_CPSW_RX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_SAUL_RX,
+        .chType         = UDMA_CH_TYPE_RX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_RX_GROUP_SAUL,
+        .peerChNum      = UDMA_TEST_PKTDMA_SAUL_RX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_0_RX,
+        .chType         = UDMA_CH_TYPE_RX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_RX_GROUP_ICSSG_0,
+        .peerChNum      = UDMA_TEST_PKTDMA_ICSSG_0_RX_PEER_CH,
+    },
+    {
+        .pktdmachPrmId  = UDMA_TEST_PKTDMA_CH_PRMID_ICSSG_1_RX,
+        .chType         = UDMA_CH_TYPE_RX_MAPPED,
+        .mappedChGrp    = UDMA_MAPPED_RX_GROUP_ICSSG_1,
+        .peerChNum      = UDMA_TEST_PKTDMA_ICSSG_1_RX_PEER_CH,
+    },
+};
+#define UDMA_TEST_NUM_PKTDMA_CH_PRM          (sizeof(gUdmaTestPktdmaChPrm) / \
+                                              sizeof(gUdmaTestPktdmaChPrm[0U]))
+#endif
+
 #ifdef __cplusplus
 }
 #endif