J722S MCU+ SDK  09.02.00
udma_ch.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018-2023 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
48 #ifndef UDMA_CH_H_
49 #define UDMA_CH_H_
50 
51 /* ========================================================================== */
52 /* Include Files */
53 /* ========================================================================== */
54 
55 /* None */
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 /* ========================================================================== */
62 /* Macros & Typedefs */
63 /* ========================================================================== */
64 
69 #define UDMA_DMA_CH_INVALID ((uint32_t) 0xFFFF0000U)
70 
74 #define UDMA_DMA_CH_ANY ((uint32_t) 0xFFFF0001U)
75 
79 #define UDMA_DMA_CH_NA ((uint32_t) 0xFFFF0002U)
80 
81 #define UDMA_MAPPED_GROUP_INVALID ((uint32_t) 0xFFFF0004U)
82 
84 #define UDMA_SYSFW_EXTENDED_CH_TYPE_BCDMA_BLK_CPY ((uint8_t) 1U)
85 
87 #define UDMA_SYSFW_EXTENDED_CH_TYPE_BCDMA_SPLIT_TR_TX ((uint8_t) 0U)
88 
89 
99 #define UDMA_CH_FLAG_TX ((uint32_t) 0x0001U)
100 
101 #define UDMA_CH_FLAG_RX ((uint32_t) 0x0002U)
102 
103 #define UDMA_CH_FLAG_BLK_COPY ((uint32_t) 0x0004U)
104 
105 #define UDMA_CH_FLAG_PDMA ((uint32_t) 0x0008U)
106 
107 #define UDMA_CH_FLAG_PSIL ((uint32_t) 0x0010U)
108 
109 #define UDMA_CH_FLAG_UTC ((uint32_t) 0x0020U)
110 
111 #define UDMA_CH_FLAG_HC ((uint32_t) 0x0040U)
112 
113 #define UDMA_CH_FLAG_UHC ((uint32_t) 0x0080U)
114 
115 #define UDMA_CH_FLAG_MAPPED ((uint32_t) 0x0100U)
116 
117 #define UDMA_CH_FLAG_TR ((uint32_t) 0x0200U)
118 
129 #define UDMA_CH_TYPE_TR_BLK_COPY (UDMA_CH_FLAG_BLK_COPY | \
130  UDMA_CH_FLAG_TX | \
131  UDMA_CH_FLAG_RX)
132 
133 #define UDMA_CH_TYPE_TR_BLK_COPY_HC (UDMA_CH_FLAG_BLK_COPY | \
134  UDMA_CH_FLAG_TX | \
135  UDMA_CH_FLAG_RX | \
136  UDMA_CH_FLAG_HC)
137 
138 #define UDMA_CH_TYPE_TR_BLK_COPY_UHC (UDMA_CH_FLAG_BLK_COPY | \
139  UDMA_CH_FLAG_TX | \
140  UDMA_CH_FLAG_RX | \
141  UDMA_CH_FLAG_UHC)
142 
143 #define UDMA_CH_TYPE_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL)
144 
145 #define UDMA_CH_TYPE_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
146 
147 #define UDMA_CH_TYPE_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
148 
150 #define UDMA_CH_TYPE_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL)
151 
152 #define UDMA_CH_TYPE_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
153 
154 #define UDMA_CH_TYPE_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
155 
157 #define UDMA_CH_TYPE_PDMA_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA)
158 
159 #define UDMA_CH_TYPE_PDMA_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
160 
161 #define UDMA_CH_TYPE_PDMA_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
162 
164 #define UDMA_CH_TYPE_PDMA_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA)
165 
166 #define UDMA_CH_TYPE_PDMA_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
167 
168 #define UDMA_CH_TYPE_PDMA_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
169 
170 /* Channel Type to submit TR */
172 #define UDMA_CH_TYPE_TX_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_TR)
173 
174 #define UDMA_CH_TYPE_TX_HC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
175 
176 #define UDMA_CH_TYPE_TX_UHC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
177 
179 #define UDMA_CH_TYPE_RX_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_TR)
180 
181 #define UDMA_CH_TYPE_RX_HC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
182 
183 #define UDMA_CH_TYPE_RX_UHC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
184 
186 #define UDMA_CH_TYPE_PDMA_TX_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_TR)
187 
188 #define UDMA_CH_TYPE_PDMA_TX_HC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
189 
190 #define UDMA_CH_TYPE_PDMA_TX_UHC_TR (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
191 
193 #define UDMA_CH_TYPE_PDMA_RX_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_TR)
194 
195 #define UDMA_CH_TYPE_PDMA_RX_HC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC | UDMA_CH_FLAG_TR)
196 
197 #define UDMA_CH_TYPE_PDMA_RX_UHC_TR (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC | UDMA_CH_FLAG_TR)
198 
204 #define UDMA_CH_TYPE_TX_MAPPED (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
205 
210 #define UDMA_CH_TYPE_RX_MAPPED (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
211 
216 #define UDMA_CH_TYPE_UTC (UDMA_CH_FLAG_UTC)
217 
225 #define UDMA_PDMA_ES_8BITS ((uint32_t) 0x00U)
226 #define UDMA_PDMA_ES_16BITS ((uint32_t) 0x01U)
227 #define UDMA_PDMA_ES_24BITS ((uint32_t) 0x02U)
228 #define UDMA_PDMA_ES_32BITS ((uint32_t) 0x03U)
229 #define UDMA_PDMA_ES_64BITS ((uint32_t) 0x04U)
230 
231 #define UDMA_PDMA_ES_DONTCARE ((uint32_t) 0x00U)
232 
234 /* ========================================================================== */
235 /* Structure Declarations */
236 /* ========================================================================== */
237 
241 typedef struct
242 {
243  uint32_t chNum;
253  uint32_t peerChNum;
269  uint32_t mappedChGrp;
277  void *appData;
296 } Udma_ChPrms;
297 
301 typedef struct
302 {
303  uint8_t pauseOnError;
305  uint8_t filterEinfo;
307  uint8_t filterPsWords;
309  uint8_t addrType;
312  uint8_t chanType;
314  uint16_t fetchWordSize;
316  uint8_t busPriority;
318  uint8_t busQos;
320  uint8_t busOrderId;
322  uint8_t dmaPriority;
326  uint8_t txCredit;
328  uint16_t fifoDepth;
343  uint8_t burstSize;
362  uint8_t supressTdCqPkt;
369 #if (UDMA_LOCAL_C7X_DRU_PRESENT == 1)
370  uint32_t druQueueId;
378 #endif
379 } Udma_ChTxPrms;
380 
384 typedef struct
385 {
386  uint8_t pauseOnError;
388  uint8_t addrType;
391  uint8_t chanType;
393  uint16_t fetchWordSize;
395  uint8_t busPriority;
397  uint8_t busQos;
399  uint8_t busOrderId;
401  uint8_t dmaPriority;
419  uint8_t flowSopOffset;
426  uint8_t ignoreLongPkts;
438  uint8_t burstSize;
457 } Udma_ChRxPrms;
458 
462 typedef struct
463 {
464  uint32_t elemSize;
473  uint32_t elemCnt;
492  uint32_t fifoCnt;
509  uint8_t burst;
517  uint8_t acc32;
525  uint8_t eol;
534 
538 typedef struct
539 {
540  uint32_t packetCnt;
544  uint32_t startedByteCnt;
546 } Udma_ChStats;
547 
548 /* ========================================================================== */
549 /* Function Declarations */
550 /* ========================================================================== */
551 
574 int32_t Udma_chOpen(Udma_DrvHandle drvHandle,
575  Udma_ChHandle chHandle,
576  uint32_t chType,
577  const Udma_ChPrms *chPrms);
578 
591 int32_t Udma_chClose(Udma_ChHandle chHandle);
592 
610 int32_t Udma_chConfigTx(Udma_ChHandle chHandle, const Udma_ChTxPrms *txPrms);
611 
631 int32_t Udma_chConfigRx(Udma_ChHandle chHandle, const Udma_ChRxPrms *rxPrms);
632 
649  const Udma_ChPdmaPrms *pdmaPrms);
650 
663 int32_t Udma_chEnable(Udma_ChHandle chHandle);
664 
686 int32_t Udma_chDisable(Udma_ChHandle chHandle, uint32_t timeout);
687 
701 int32_t Udma_chPause(Udma_ChHandle chHandle);
702 
716 int32_t Udma_chResume(Udma_ChHandle chHandle);
717 
730 uint32_t Udma_chGetNum(Udma_ChHandle chHandle);
731 
741 
751 
761 
772 
785 
795 
812 uint32_t Udma_chGetTriggerEvent(Udma_ChHandle chHandle, uint32_t trigger);
813 
834 
857 int32_t Udma_chSetSwTrigger(Udma_ChHandle chHandle, uint32_t trigger);
858 
881 int32_t Udma_chSetChaining(Udma_ChHandle triggerChHandle,
882  Udma_ChHandle chainedChHandle,
883  uint32_t trigger);
884 
897 int32_t Udma_chBreakChaining(Udma_ChHandle triggerChHandle,
898  Udma_ChHandle chainedChHandle);
899 
900 /*
901  * Structure Init functions
902  */
910 void UdmaChPrms_init(Udma_ChPrms *chPrms, uint32_t chType);
911 
919 void UdmaChTxPrms_init(Udma_ChTxPrms *txPrms, uint32_t chType);
920 
928 void UdmaChRxPrms_init(Udma_ChRxPrms *rxPrms, uint32_t chType);
929 
937 
950 int32_t Udma_chGetStats(Udma_ChHandle chHandle, Udma_ChStats *chStats);
951 
961 int32_t Udma_getPeerData(Udma_ChHandle chHandle, uint32_t *peerData);
962 
972 int32_t Udma_clearPeerData(Udma_ChHandle chHandle, uint32_t peerData);
973 
982 int32_t Udma_chReset(Udma_ChHandle chHandle);
983 
996 void Udma_chDruSubmitTr(Udma_ChHandle chHandle, const void *tr);
997 
998 /* ========================================================================== */
999 /* Static Function Definitions */
1000 /* ========================================================================== */
1001 
1002 /* None */
1003 
1004 /* ========================================================================== */
1005 /* Internal/Private Structure Declarations */
1006 /* ========================================================================== */
1007 
1011 typedef struct Udma_ChObject_t
1012 {
1013  uintptr_t rsv[150U];
1015 } Udma_ChObject;
1016 
1017 #ifdef __cplusplus
1018 }
1019 #endif
1020 
1021 #endif /* #ifndef UDMA_CH_H_ */
1022 
Udma_chGetCqRingHandle
Udma_RingHandle Udma_chGetCqRingHandle(Udma_ChHandle chHandle)
Returns the default completion ring handle of the channel.
Udma_ChRxPrms::pauseOnError
uint8_t pauseOnError
Definition: udma_ch.h:386
Udma_ChStats::startedByteCnt
uint32_t startedByteCnt
Definition: udma_ch.h:544
Udma_FlowHandle
void * Udma_FlowHandle
UDMA flow handle.
Definition: udma_types.h:73
Udma_ChRxPrms::flowIdFwRangeStart
uint16_t flowIdFwRangeStart
Definition: udma_ch.h:405
Udma_ChTxPrms
UDMA TX channel parameters.
Definition: udma_ch.h:302
Udma_ChPrms
UDMA channel open parameters.
Definition: udma_ch.h:242
Udma_ChRxPrms::ignoreLongPkts
uint8_t ignoreLongPkts
Definition: udma_ch.h:426
Udma_RingPrms
UDMA ring parameters.
Definition: udma_ring.h:124
Udma_chOpen
int32_t Udma_chOpen(Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t chType, const Udma_ChPrms *chPrms)
UDMA open channel.
Udma_ChPdmaPrms::acc32
uint8_t acc32
Definition: udma_ch.h:517
Udma_chReset
int32_t Udma_chReset(Udma_ChHandle chHandle)
Hard reset the channel if teardown fails.
Udma_ChRxPrms::configDefaultFlow
uint32_t configDefaultFlow
Definition: udma_ch.h:430
Udma_ChTxPrms::fetchWordSize
uint16_t fetchWordSize
Definition: udma_ch.h:314
Udma_chEnable
int32_t Udma_chEnable(Udma_ChHandle chHandle)
UDMA channel enable API.
Udma_ChHandle
void * Udma_ChHandle
UDMA channel handle.
Definition: udma_types.h:67
Udma_ChRxPrms::flowErrorHandling
uint8_t flowErrorHandling
Definition: udma_ch.h:416
Udma_ChRxPrms
UDMA RX channel parameters.
Definition: udma_ch.h:385
Udma_chGetTdCqRingHandle
Udma_RingHandle Udma_chGetTdCqRingHandle(Udma_ChHandle chHandle)
Returns the teardown completion ring handle of the channel.
Udma_ChTxPrms::txCredit
uint8_t txCredit
Definition: udma_ch.h:326
Udma_ChTxPrms::busOrderId
uint8_t busOrderId
Definition: udma_ch.h:320
Udma_chDisable
int32_t Udma_chDisable(Udma_ChHandle chHandle, uint32_t timeout)
UDMA channel teardown and disable API.
Udma_ChPdmaPrms::elemCnt
uint32_t elemCnt
Definition: udma_ch.h:473
Udma_ChRxPrms::ignoreShortPkts
uint8_t ignoreShortPkts
Definition: udma_ch.h:422
Udma_ChPdmaPrms
UDMA PDMA channel Static TR parameters.
Definition: udma_ch.h:463
UdmaChPdmaPrms_init
void UdmaChPdmaPrms_init(Udma_ChPdmaPrms *pdmaPrms)
Udma_ChPdmaPrms structure init function.
Udma_ChPrms::mappedChGrp
uint32_t mappedChGrp
Definition: udma_ch.h:269
Udma_chGetStats
int32_t Udma_chGetStats(Udma_ChHandle chHandle, Udma_ChStats *chStats)
Get real-time channel statistics.
Udma_chGetNum
uint32_t Udma_chGetNum(Udma_ChHandle chHandle)
Returns the channel number offset with in a channel type - TX, RX and External (UTC) channel types.
Udma_chPause
int32_t Udma_chPause(Udma_ChHandle chHandle)
UDMA channel pause API.
Udma_ChPrms::fqRingPrms
Udma_RingPrms fqRingPrms
Definition: udma_ch.h:282
Udma_chGetDefaultFlowHandle
Udma_FlowHandle Udma_chGetDefaultFlowHandle(Udma_ChHandle chHandle)
Returns the default flow handle of the RX channel.
Udma_ChRxPrms::busPriority
uint8_t busPriority
Definition: udma_ch.h:395
Udma_ChRxPrms::flowPsInfoPresent
uint8_t flowPsInfoPresent
Definition: udma_ch.h:413
Udma_ChRxPrms::flowSopOffset
uint8_t flowSopOffset
Definition: udma_ch.h:419
Udma_chConfigTx
int32_t Udma_chConfigTx(Udma_ChHandle chHandle, const Udma_ChTxPrms *txPrms)
UDMA configure TX channel.
Udma_chSetSwTrigger
int32_t Udma_chSetSwTrigger(Udma_ChHandle chHandle, uint32_t trigger)
Sets the software trigger register based on the trigger mode provided.
Udma_ChPrms::tdCqRingPrms
Udma_RingPrms tdCqRingPrms
Definition: udma_ch.h:289
Udma_ChPrms::cqRingPrms
Udma_RingPrms cqRingPrms
Definition: udma_ch.h:284
Udma_RingHandle
void * Udma_RingHandle
UDMA ring handle.
Definition: udma_types.h:71
Udma_ChRxPrms::flowEInfoPresent
uint8_t flowEInfoPresent
Definition: udma_ch.h:410
Udma_getPeerData
int32_t Udma_getPeerData(Udma_ChHandle chHandle, uint32_t *peerData)
Get real-time peer data which contains number of bytes written.
Udma_ChPdmaPrms::elemSize
uint32_t elemSize
Definition: udma_ch.h:464
Udma_ChObject
Opaque UDMA channel object.
Definition: udma_ch.h:1012
Udma_chResume
int32_t Udma_chResume(Udma_ChHandle chHandle)
UDMA channel resume API.
Udma_ChTxPrms::burstSize
uint8_t burstSize
Definition: udma_ch.h:343
Udma_ChTxPrms::filterPsWords
uint8_t filterPsWords
Definition: udma_ch.h:307
Udma_ChTxPrms::busPriority
uint8_t busPriority
Definition: udma_ch.h:316
Udma_chGetSwTriggerRegister
void * Udma_chGetSwTriggerRegister(Udma_ChHandle chHandle)
Returns the software trigger register address for the channel.
Udma_ChPrms::chNum
uint32_t chNum
Definition: udma_ch.h:243
Udma_ChPdmaPrms::fifoCnt
uint32_t fifoCnt
Definition: udma_ch.h:492
Udma_ChTxPrms::addrType
uint8_t addrType
Definition: udma_ch.h:309
Udma_ChRxPrms::fetchWordSize
uint16_t fetchWordSize
Definition: udma_ch.h:393
Udma_chGetTriggerEvent
uint32_t Udma_chGetTriggerEvent(Udma_ChHandle chHandle, uint32_t trigger)
Returns the global trigger event for the channel.
Udma_chGetCqRingNum
uint16_t Udma_chGetCqRingNum(Udma_ChHandle chHandle)
Returns the default completion ring number to be programmed in descriptor.
UdmaChPrms_init
void UdmaChPrms_init(Udma_ChPrms *chPrms, uint32_t chType)
Udma_ChPrms structure init function.
Udma_chSetChaining
int32_t Udma_chSetChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle, uint32_t trigger)
Chains the trigger channel with the chained channel.
Udma_ChPrms::peerChNum
uint32_t peerChNum
Definition: udma_ch.h:253
UdmaChTxPrms_init
void UdmaChTxPrms_init(Udma_ChTxPrms *txPrms, uint32_t chType)
Udma_ChTxPrms structure init function.
UdmaChRxPrms_init
void UdmaChRxPrms_init(Udma_ChRxPrms *rxPrms, uint32_t chType)
Udma_ChRxPrms structure init function.
Udma_ChStats::completedByteCnt
uint32_t completedByteCnt
Definition: udma_ch.h:542
Udma_ChRxPrms::dmaPriority
uint8_t dmaPriority
Definition: udma_ch.h:401
Udma_ChStats
UDMA channel statistics.
Definition: udma_ch.h:539
Udma_ChTxPrms::fifoDepth
uint16_t fifoDepth
Definition: udma_ch.h:328
Udma_clearPeerData
int32_t Udma_clearPeerData(Udma_ChHandle chHandle, uint32_t peerData)
Clear real-time peer data which contains number of bytes written.
Udma_DrvHandle
void * Udma_DrvHandle
UDMA driver handle.
Definition: udma_types.h:65
Udma_ChTxPrms::supressTdCqPkt
uint8_t supressTdCqPkt
Definition: udma_ch.h:362
Udma_ChTxPrms::pauseOnError
uint8_t pauseOnError
Definition: udma_ch.h:303
Udma_ChRxPrms::flowIdFwRangeCnt
uint16_t flowIdFwRangeCnt
Definition: udma_ch.h:407
Udma_ChPdmaPrms::eol
uint8_t eol
Definition: udma_ch.h:525
Udma_chClose
int32_t Udma_chClose(Udma_ChHandle chHandle)
UDMA close channel.
Udma_ChStats::packetCnt
uint32_t packetCnt
Definition: udma_ch.h:540
Udma_chGetFqRingHandle
Udma_RingHandle Udma_chGetFqRingHandle(Udma_ChHandle chHandle)
Returns the default free ring handle of the channel.
Udma_chConfigPdma
int32_t Udma_chConfigPdma(Udma_ChHandle chHandle, const Udma_ChPdmaPrms *pdmaPrms)
UDMA configure PDMA channel (peerChNum as part of Udma_ChPrms) paired with the UDMAP channel.
Udma_ChTxPrms::chanType
uint8_t chanType
Definition: udma_ch.h:312
Udma_ChPrms::appData
void * appData
Definition: udma_ch.h:277
Udma_ChRxPrms::burstSize
uint8_t burstSize
Definition: udma_ch.h:438
Udma_ChTxPrms::dmaPriority
uint8_t dmaPriority
Definition: udma_ch.h:322
Udma_ChRxPrms::busOrderId
uint8_t busOrderId
Definition: udma_ch.h:399
Udma_chDruSubmitTr
void Udma_chDruSubmitTr(Udma_ChHandle chHandle, const void *tr)
This API does a direct TR submission to the specified channel and core ID.
Udma_ChTxPrms::filterEinfo
uint8_t filterEinfo
Definition: udma_ch.h:305
Udma_ChRxPrms::addrType
uint8_t addrType
Definition: udma_ch.h:388
Udma_ChRxPrms::chanType
uint8_t chanType
Definition: udma_ch.h:391
Udma_ChPdmaPrms::burst
uint8_t burst
Definition: udma_ch.h:509
Udma_ChTxPrms::busQos
uint8_t busQos
Definition: udma_ch.h:318
Udma_chBreakChaining
int32_t Udma_chBreakChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle)
Breaks the chaining by resetting the trigger channel's OES.
Udma_chConfigRx
int32_t Udma_chConfigRx(Udma_ChHandle chHandle, const Udma_ChRxPrms *rxPrms)
UDMA configure RX channel.
Udma_ChRxPrms::busQos
uint8_t busQos
Definition: udma_ch.h:397
Udma_chGetFqRingNum
uint16_t Udma_chGetFqRingNum(Udma_ChHandle chHandle)
Returns the default free ring number to be programmed in descriptor.