AM64x MCU+ SDK  08.02.00
csl_udmap_tr.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2019 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  */
47 #ifndef CSL_UDMAP_TR_H_
48 #define CSL_UDMAP_TR_H_
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 #include <stdint.h>
55 #include <drivers/hw_include/cslr.h>
56 
57 /*-----------------------------------------------------------------------------
58  * Transfer Request (TR) support
59  *---------------------------------------------------------------------------*/
60 
63 {
64  uint32_t flags;
65  uint16_t icnt0;
66  uint16_t icnt1;
67  uint64_t addr;
68  int32_t dim1;
69  uint16_t icnt2;
70  uint16_t icnt3;
71  int32_t dim2;
72  int32_t dim3;
73  uint32_t fmtflags;
74  int32_t ddim1;
75  uint64_t daddr;
76  int32_t ddim2;
77  int32_t ddim3;
78  uint16_t dicnt0;
79  uint16_t dicnt1;
80  uint16_t dicnt2;
81  uint16_t dicnt3;
82 } __attribute__((__packed__));
83 
84 typedef struct CSL_UdmapTR_t CSL_UdmapTR;
85 
88 {
89  uint32_t flags;
90  uint32_t icnt0;
91  uint64_t addr;
92 } __attribute__((__packed__));
93 
94 typedef struct CSL_UdmapTR0_t CSL_UdmapTR0;
95 
98 {
99  uint32_t flags;
100  uint16_t icnt0;
101  uint16_t icnt1;
102  uint64_t addr;
103  int32_t dim1;
104 } __attribute__((__packed__));
105 
106 typedef struct CSL_UdmapTR1_t CSL_UdmapTR1;
107 
110 {
111  uint32_t flags;
112  uint16_t icnt0;
113  uint16_t icnt1;
114  uint64_t addr;
115  int32_t dim1;
116  uint32_t icnt2;
117  int32_t dim2;
118 } __attribute__((__packed__));
119 
120 typedef struct CSL_UdmapTR2_t CSL_UdmapTR2;
121 
124 {
125  uint32_t flags;
126  uint16_t icnt0;
127  uint16_t icnt1;
128  uint64_t addr;
129  int32_t dim1;
130  uint16_t icnt2;
131  uint16_t icnt3;
132  int32_t dim2;
133  int32_t dim3;
134 } __attribute__((__packed__));
135 
136 typedef struct CSL_UdmapTR3_t CSL_UdmapTR3;
137 
140 {
141  uint32_t flags;
142  uint16_t icnt0;
143  uint16_t icnt1;
144  uint64_t addr;
145  int32_t dim1;
146  uint16_t icnt2;
147  uint16_t icnt3;
148  int32_t dim2;
149  int32_t dim3;
150  uint32_t fmtflags;
151 } __attribute__((__packed__));
152 
153 typedef struct CSL_UdmapTR4_t CSL_UdmapTR4;
154 
157 {
158  uint32_t flags;
159  uint16_t icnt0;
160  uint16_t icnt1;
161  uint64_t addr;
162  int32_t dim1;
163  uint16_t icnt2;
164  uint16_t icnt3;
165  int32_t dim2;
166  int32_t dim3;
167  uint32_t cacheflags;
168 } __attribute__((__packed__));
169 
170 typedef struct CSL_UdmapTR5_t CSL_UdmapTR5;
171 
174 {
175  uint32_t flags;
176  uint16_t icnt0;
177  uint16_t icnt1;
178  uint64_t addr;
179  int32_t dim1;
180  uint16_t icnt2;
181  uint16_t icnt3;
182  int32_t dim2;
183  int32_t dim3;
184  uint32_t fmtflags;
185  int32_t ddim1;
186  uint64_t daddr;
187  int32_t ddim2;
188  int32_t ddim3;
189 } __attribute__((__packed__));
190 
191 typedef struct CSL_UdmapTR8_t CSL_UdmapTR8;
192 
195 {
196  uint32_t flags;
197  uint16_t icnt0;
198  uint16_t icnt1;
199  uint64_t addr;
200  int32_t dim1;
201  uint16_t icnt2;
202  uint16_t icnt3;
203  int32_t dim2;
204  int32_t dim3;
205  uint32_t fmtflags;
206  int32_t ddim1;
207  uint64_t daddr;
208  int32_t ddim2;
209  int32_t ddim3;
210  uint16_t dicnt0;
211  uint16_t dicnt1;
212  uint16_t dicnt2;
213  uint16_t dicnt3;
214 } __attribute__((__packed__));
215 
216 typedef struct CSL_UdmapTR9_t CSL_UdmapTR9;
217 
220 {
221  uint32_t flags;
222  uint16_t icnt0;
223  uint16_t icnt1;
224  uint64_t addr;
225  int32_t dim1;
226  uint32_t rsvd[3];
227  uint32_t fmtflags;
228  int32_t ddim1;
229  uint64_t daddr;
230 } __attribute__((__packed__));
231 
232 typedef struct CSL_UdmapTR10_t CSL_UdmapTR10;
233 
236 {
237  uint32_t flags;
238  uint16_t icnt0;
239  uint16_t icnt1;
240  uint64_t addr;
241  int32_t dim1;
242  uint32_t rsvd0[3];
243  uint32_t fmtflags;
244  int32_t ddim1;
245  uint64_t daddr;
246  uint32_t rsvd1[2];
247  uint16_t dicnt0;
248  uint16_t dicnt1;
249 } __attribute__((__packed__));
250 
251 typedef struct CSL_UdmapTR11_t CSL_UdmapTR11;
252 
255 {
256  uint32_t flags;
257  uint16_t icnt0;
258  uint16_t icnt1;
259  uint64_t addr;
260  int32_t dim1;
261  uint16_t icnt2;
262  uint16_t icnt3;
263  int32_t dim2;
264  int32_t dim3;
265  uint32_t fmtflags;
266  int32_t ddim1;
267  uint64_t daddr;
268  int32_t ddim2;
269  int32_t ddim3;
270  uint16_t dicnt0;
271  uint16_t dicnt1;
272  uint16_t dicnt2;
273  uint16_t dicnt3;
274 } __attribute__((__packed__));
275 
276 typedef struct CSL_UdmapTR15_t CSL_UdmapTR15;
277 
286 #define CSL_UDMAP_TR_FLAGS_TYPE_SHIFT ((uint32_t) 0U)
287 #define CSL_UDMAP_TR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FLAGS_TYPE_SHIFT)
288 #define CSL_UDMAP_TR_FLAGS_STATIC_SHIFT ((uint32_t) 4U)
289 #define CSL_UDMAP_TR_FLAGS_STATIC_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_STATIC_SHIFT)
290 #define CSL_UDMAP_TR_FLAGS_WAIT_SHIFT ((uint32_t) 5U)
291 #define CSL_UDMAP_TR_FLAGS_WAIT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_WAIT_SHIFT)
292 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT ((uint32_t) 6U)
293 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_EVENT_SIZE_SHIFT)
294 #define CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT ((uint32_t) 8U)
295 #define CSL_UDMAP_TR_FLAGS_TRIGGER0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_SHIFT)
296 #define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT ((uint32_t) 10U)
297 #define CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER0_TYPE_SHIFT)
298 #define CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT ((uint32_t) 12U)
299 #define CSL_UDMAP_TR_FLAGS_TRIGGER1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_SHIFT)
300 #define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT ((uint32_t) 14U)
301 #define CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FLAGS_TRIGGER1_TYPE_SHIFT)
302 #define CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT ((uint32_t) 16U)
303 #define CSL_UDMAP_TR_FLAGS_CMD_ID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CMD_ID_SHIFT)
304 #define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT ((uint32_t) 24U)
305 #define CSL_UDMAP_TR_FLAGS_CFG_FLAGS_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_FLAGS_CFG_FLAGS_SHIFT)
306 #define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT ((uint32_t) 24U)
307 #define CSL_UDMAP_TR_FLAGS_SA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SA_INDIRECT_SHIFT)
308 #define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT ((uint32_t) 25U)
309 #define CSL_UDMAP_TR_FLAGS_DA_INDIRECT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_DA_INDIRECT_SHIFT)
310 #define CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT ((uint32_t) 26U)
311 #define CSL_UDMAP_TR_FLAGS_SUPR_EVT_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_SUPR_EVT_SHIFT)
312 #define CSL_UDMAP_TR_FLAGS_EOL_SHIFT ((uint32_t) 28U)
313 #define CSL_UDMAP_TR_FLAGS_EOL_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FLAGS_EOL_SHIFT)
314 #define CSL_UDMAP_TR_FLAGS_EOP_SHIFT ((uint32_t) 31U)
315 #define CSL_UDMAP_TR_FLAGS_EOP_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FLAGS_EOP_SHIFT)
316 
326 typedef uint32_t CSL_UdmapTrFlagsType;
327 #define CSL_UDMAP_TR_FLAGS_TYPE_1D_DATA_MOVE ((uint32_t) 0U)
328 #define CSL_UDMAP_TR_FLAGS_TYPE_2D_DATA_MOVE ((uint32_t) 1U)
329 #define CSL_UDMAP_TR_FLAGS_TYPE_3D_DATA_MOVE ((uint32_t) 2U)
330 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE ((uint32_t) 3U)
331 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_DATA_MOVE_FORMATTING ((uint32_t) 4U)
332 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_CACHE_WARM ((uint32_t) 5U)
333 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE ((uint32_t) 8U)
334 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING ((uint32_t) 9U)
335 #define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE ((uint32_t) 10U)
336 #define CSL_UDMAP_TR_FLAGS_TYPE_2D_BLOCK_MOVE_REPACKING ((uint32_t) 11U)
337 #define CSL_UDMAP_TR_FLAGS_TYPE_4D_BLOCK_MOVE_REPACKING_INDIRECTION ((uint32_t) 15U)
338 
348 typedef uint32_t CSL_UdmapTrFlagsEventSize;
349 /* When TR is complete and all status for the TR has been received */
350 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_COMPLETION ((uint32_t) 0U)
351 /* Type 0: when the last data transaction is sent for the TR; Type 1-11: when ICNT1 is decremented */
352 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT1_DEC ((uint32_t) 1U)
353 /* Type 0-1,10-11: when the last data transaction is sent for the TR; All other types: when ICNT2 is decremented */
354 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT2_DEC ((uint32_t) 2U)
355 /* Type 0-2,10-11: when the last data transaction is sent for the TR; All other types: when ICNT3 is decremented */
356 #define CSL_UDMAP_TR_FLAGS_EVENT_SIZE_ICNT3_DEC ((uint32_t) 3U)
357 
368 typedef uint32_t CSL_UdmapTrFlagsTrigger;
369 #define CSL_UDMAP_TR_FLAGS_TRIGGER_NONE ((uint32_t) 0U)
370 #define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL0 ((uint32_t) 1U)
371 #define CSL_UDMAP_TR_FLAGS_TRIGGER_GLOBAL1 ((uint32_t) 2U)
372 #define CSL_UDMAP_TR_FLAGS_TRIGGER_LOCAL_EVENT ((uint32_t) 3U)
373 
385 #define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT1_DEC ((uint32_t) 0U)
386 #define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT2_DEC ((uint32_t) 1U)
387 #define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ICNT3_DEC ((uint32_t) 2U)
388 #define CSL_UDMAP_TR_FLAGS_TRIGGER_TYPE_ALL ((uint32_t) 3U)
389 
399 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT ((uint32_t) 0U)
400 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_MASK (((uint32_t) 7U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SHIFT)
401 #define CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT ((uint32_t) 3U)
402 #define CSL_UDMAP_TR_FMTFLAGS_DIR_MASK (((uint32_t) 1U) << CSL_UDMAP_TR_FMTFLAGS_DIR_SHIFT)
403 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT ((uint32_t) 4U)
404 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_ELYPE_SHIFT)
405 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT ((uint32_t) 8U)
406 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_DFMT_SHIFT)
407 #define CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT ((uint32_t) 12U)
408 #define CSL_UDMAP_TR_FMTFLAGS_SECTR_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_SECTR_SHIFT)
409 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT ((uint32_t) 16U)
410 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK0_SHIFT)
411 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT ((uint32_t) 20U)
412 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK1_SHIFT)
413 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT ((uint32_t) 24U)
414 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM0_SHIFT)
415 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT ((uint32_t) 26U)
416 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM1_SHIFT)
417 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT ((uint32_t) 28U)
418 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM2_SHIFT)
419 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT ((uint32_t) 30U)
420 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_MASK (((uint32_t) 3U) << CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AM3_SHIFT)
421 #define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT ((uint32_t) 0U)
422 #define CSL_UDMAP_TR_CACHEFLAGS_CACHEID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEID_SHIFT)
423 #define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT ((uint32_t) 24U)
424 #define CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_CACHEFLAGS_CACHEOP_SHIFT)
425 
435 typedef uint32_t CSL_UdmapTrFmtflagsAmode;
436 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_LINEAR ((uint32_t) 0U)
437 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_CIRCULAR ((uint32_t) 1U)
438 
450 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512B ((uint32_t) 0U)
451 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1KB ((uint32_t) 1U)
452 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2KB ((uint32_t) 2U)
453 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4KB ((uint32_t) 3U)
454 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8KB ((uint32_t) 4U)
455 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16KB ((uint32_t) 5U)
456 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_32KB ((uint32_t) 6U)
457 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_64KB ((uint32_t) 7U)
458 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_128KB ((uint32_t) 8U)
459 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_256KB ((uint32_t) 9U)
460 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_512KB ((uint32_t) 10U)
461 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_1GB ((uint32_t) 11U)
462 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_2GB ((uint32_t) 12U)
463 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_4GB ((uint32_t) 13U)
464 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_8GB ((uint32_t) 14U)
465 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_CBK_16GB ((uint32_t) 15U)
466 
477 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_LINEAR ((uint32_t) 0U)
478 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK0 ((uint32_t) 1U)
479 #define CSL_UDMAP_TR_FMTFLAGS_AMODE_SPECIFIC_AMODE_CBK1 ((uint32_t) 2U)
480 
490 typedef uint32_t CSL_UdmapTrFmtflagsDir;
491 #define CSL_UDMAP_TR_FMTFLAGS_DIR_SRC_USES_AMODE ((uint32_t) 0U)
492 #define CSL_UDMAP_TR_FMTFLAGS_DIR_DST_USES_AMODE ((uint32_t) 1U)
493 
504 typedef uint32_t CSL_UdmapTrFmtflagsEltype;
505 /* 1 Byte per element */
506 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1 ((uint32_t) 0U)
507 /* 1.5 Bytes (12 bits) per element */
508 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5 ((uint32_t) 1U)
509 /* 2 Bytes per element */
510 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2 ((uint32_t) 2U)
511 /* 3 Bytes per element */
512 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_3 ((uint32_t) 3U)
513 /* 4 Bytes per element */
514 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_4 ((uint32_t) 4U)
515 /* 5 Bytes per element */
516 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_5 ((uint32_t) 5U)
517 /* 16 Bytes per element */
518 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_16 ((uint32_t) 6U)
519 /* 32 Bytes per element */
520 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_32 ((uint32_t) 7U)
521 /* 1 Byte per input element 2 Bytes per output element */
522 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1_2 ((uint32_t) 8U)
523 /* 1.5 Bytes per input element 2 Bytes per output element */
524 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_1p5_2 ((uint32_t) 9U)
525 /* 2 Bytes per input element 1 Byte per output element */
526 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1 ((uint32_t) 10U)
527 /* 2 Bytes per input element 1.5 Bytes per output element */
528 #define CSL_UDMAP_TR_FMTFLAGS_ELYPE_2_1p5 ((uint32_t) 11U)
529 
540 typedef uint32_t CSL_UdmapTrFmtflagsDfmt;
541 /* The input and output block will remain identical. */
542 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_NO_CHANGE ((uint32_t) 0U)
543 /* The input block is not an address but the address is up to a 64 bit constant. */
544 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_CONSTANT_COPY ((uint32_t) 1U)
545 /* The inner and second most inner loops are swapped so that rows become columns and columns become rows. */
546 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_TRANSPOSE ((uint32_t) 2U)
547 /* The data in the row will be accessed in the reverse of the order that it is read. */
548 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE ((uint32_t) 3U)
549 /* The data will be written in the reverse of the order that is read as well as transposed. */
550 #define CSL_UDMAP_TR_FMTFLAGS_DFMT_REVERSE_TRANSPOSE ((uint32_t) 4U)
551 
561 typedef uint32_t CSL_UdmapTrCacheflagsOp;
562 #define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_CACHE ((uint32_t) 0U)
563 #define CSL_UDMAP_TR_CACHEFLAGS_OP_PREWARM_MMU ((uint32_t) 1U)
564 
566 /*-----------------------------------------------------------------------------
567  * Secondary TR support
568  *---------------------------------------------------------------------------*/
571 {
572  uint64_t addr;
573  uint32_t flags;
574  uint32_t data[13];
575 } __attribute__((__packed__));
576 
577 typedef struct CSL_UdmapSecTR_t CSL_UdmapSecTR;
578 
587 #define CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT ((uint32_t) 0U)
588 #define CSL_UDMAP_SECTR_FLAGS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_SECTR_FLAGS_TYPE_SHIFT)
589 #define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT ((uint32_t) 4U)
590 #define CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_MASK (((uint32_t) 0xFFFFFFF0U) << CSL_UDMAP_SECTR_FLAGS_TYPE_SPECIFIC_SHIFT)
591 
602 typedef uint32_t CSL_UdmapTrFmtflagsSectr;
603 /* The TR does not require a secondary TR. */
604 #define CSL_UDMAP_TR_FMTFLAGS_SECTR_NONE ((uint32_t) 0U)
605 /* The TR will fetch a 64 byte secondary TR prior to the initial read. */
606 #define CSL_UDMAP_TR_FMTFLAGS_SECTR_64 ((uint32_t) 1U)
607 /* The TR will fetch a 128 byte secondary TR prior to the initial read. */
608 #define CSL_UDMAP_TR_FMTFLAGS_SECTR_128 ((uint32_t) 2U)
609 
611 /*-----------------------------------------------------------------------------
612  * TR response support
613  *---------------------------------------------------------------------------*/
615 {
616  uint32_t flags;
617 } __attribute__((__packed__));
618 
619 typedef struct CSL_UdmapTrResponse_t CSL_UdmapTrResponse;
620 
629 #define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT ((uint32_t) 0U)
630 #define CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_TYPE_SHIFT)
631 #define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_SHIFT ((uint32_t) 4U)
632 #define CSL_UDMAP_TR_RESPONSE_STATUS_INFO_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TR_RESPONSE_STATUS_FIELD_SHIFT)
633 #define CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT ((uint32_t) 16U)
634 #define CSL_UDMAP_TR_RESPONSE_CMDID_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CMDID_SHIFT)
635 #define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT ((uint32_t) 24U)
636 #define CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_MASK (((uint32_t) 0xFFU) << CSL_UDMAP_TR_RESPONSE_CFG_SPECIFIC_SHIFT)
637 
648 typedef uint32_t CSL_UdmapTrResponseStatus;
649 #define CSL_UDMAP_TR_RESPONSE_STATUS_COMPLETE ((uint32_t) 0U)
650 #define CSL_UDMAP_TR_RESPONSE_STATUS_TRANSFER_ERR ((uint32_t) 1U)
651 #define CSL_UDMAP_TR_RESPONSE_STATUS_ABORTED_ERR ((uint32_t) 2U)
652 #define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ERR ((uint32_t) 3U)
653 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ERR ((uint32_t) 4U)
654 
666 /* ICNT0 was 0 */
667 #define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_ICNT0 ((uint32_t) 0U)
668 /* Channel FIFO was full when TR received */
669 #define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_FIFO_FULL ((uint32_t) 1U)
670 /* Channel is not owned by the submitter */
671 #define CSL_UDMAP_TR_RESPONSE_STATUS_SUBMISSION_OWN ((uint32_t) 2U)
672 
685 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_TR_TYPE ((uint32_t) 0U)
686 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_STATIC ((uint32_t) 1U)
687 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_EOL ((uint32_t) 2U)
688 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_CFG_SPECIFIC ((uint32_t) 3U)
689 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE ((uint32_t) 4U)
690 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_ELTYPE ((uint32_t) 5U)
691 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_DFMT ((uint32_t) 6U)
692 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_SECTR ((uint32_t) 7U)
693 #define CSL_UDMAP_TR_RESPONSE_STATUS_UNSUPPORTED_AMODE_SPECIFIC ((uint32_t) 8U)
694 
710 typedef uint32_t CSL_UdmapTrFlagsEol;
711 /* For Source (Read) split TRs, SOL/EOL match SOP/EOP
712  * On destination (Write) split TRs, Ignore EOL */
713 #define CSL_UDMAP_TR_FLAGS_EOL_MATCH_SOL_EOL ((uint32_t) 0U)
714 /* For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0 bytes
715  * On destination (Write) split TRs, Line length is ICNT0 bytes. Clear any remaining ICNT0 bytes and increment ICNT1 by 1 */
716 #define CSL_UDMAP_TR_FLAGS_EOL_ICNT0 ((uint32_t) 1U)
717 /* For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0—ICNT1 bytes
718  * On destination (Write) split TRs, Line length is ICNT0—ICNT1 bytes. Clear any remaining ICNT0/1 bytes and increment ICNT2 by 1 */
719 #define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1 ((uint32_t) 2U)
720 /* For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0—ICNT1—ICNT2 bytes
721  * On destination (Write) split TRs, Line length is ICNT0—ICNT1—ICNT2 bytes. Clear any remaining ICNT0/1/2 bytes and increment ICNT3 by 1 */
722 #define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2 ((uint32_t) 3U)
723 /* For Source (Read) split TRs, SOL/EOL boundaries are each ICNT0—ICNT1—ICNT2—ICNT3 bytes
724  * On destination (Write) split TRs, Line length is ICNT0—ICNT1—ICNT2—ICNT3 bytes. Move on to next TR */
725 #define CSL_UDMAP_TR_FLAGS_EOL_ICNT0_ICNT1_ICNT2_ICNT3 ((uint32_t) 4U)
726 /* Reserved */
727 #define CSL_UDMAP_TR_FLAGS_EOL_RESERVED ((uint32_t) 5U)
728 
740 static inline CSL_UdmapTrResponseStatus CSL_udmapTrResponseGetStatusType( const CSL_UdmapTrResponse *pTrResponse )
741 {
742  return (CSL_UdmapTrResponseStatus)CSL_FEXT( pTrResponse->flags, UDMAP_TR_RESPONSE_STATUS_TYPE );
743 }
744 
745 /*-----------------------------------------------------------------------------
746  * Teardown response support
747  *---------------------------------------------------------------------------*/
749 {
750  uint32_t tdIndicator;
752  uint32_t chId;
754  uint32_t forced;
758 } __attribute__((__packed__));
759 
760 typedef struct CSL_UdmapTdResponse_t CSL_UdmapTdResponse;
761 
770 #define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT ((uint32_t) 0U)
771 #define CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_MASK (((uint32_t) 0xFU) << CSL_UDMAP_TD_RESPONSE_TD_INDICATOR_SHIFT)
772 #define CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT ((uint32_t) 4U)
773 #define CSL_UDMAP_TD_RESPONSE_CHAN_ID_MASK (((uint32_t) 0x3FFU) << CSL_UDMAP_TD_RESPONSE_CHAN_ID_SHIFT)
774 #define CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT ((uint32_t) 31U)
775 #define CSL_UDMAP_TD_RESPONSE_FORCED_MASK (((uint32_t) 0x1U) << CSL_UDMAP_TD_RESPONSE_FORCED_SHIFT)
776 
787 static inline void CSL_udmapGetTdResponse(uint64_t tdResponseWord,
788  CSL_UdmapTdResponse *pTdResponse);
789 static inline void CSL_udmapGetTdResponse(uint64_t tdResponseWord,
790  CSL_UdmapTdResponse *pTdResponse)
791 {
792  if(NULL != pTdResponse)
793  {
794  uint32_t tdResponseWordLow = (uint32_t)tdResponseWord;
795 
796  pTdResponse->tdIndicator = CSL_FEXT(tdResponseWordLow, UDMAP_TD_RESPONSE_TD_INDICATOR);
797  pTdResponse->chId = CSL_FEXT(tdResponseWordLow, UDMAP_TD_RESPONSE_CHAN_ID);
798  pTdResponse->forced = CSL_FEXT(tdResponseWordLow, UDMAP_TD_RESPONSE_FORCED);
799  }
800 }
801 
802 #ifdef __cplusplus
803 }
804 #endif
805 
806 #endif /* #ifndef CSL_UDMAP_TR_H_ */
807 
CSL_UdmapTR1_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:103
CSL_UdmapTR_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:69
CSL_UdmapTR4_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:148
CSL_UdmapTR10_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:222
CSL_UdmapTR11_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:240
CSL_UdmapTdResponse_t::chId
uint32_t chId
Definition: csl_udmap_tr.h:752
CSL_UdmapTrFlagsType
uint32_t CSL_UdmapTrFlagsType
Definition: csl_udmap_tr.h:326
CSL_UdmapTR10_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:224
CSL_UdmapTR_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:72
CSL_UdmapTR11_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:245
CSL_UdmapTR0_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:91
CSL_UdmapTR2_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:114
CSL_UdmapTR9_t
CSL_UdmapTR9 specifies a Type 9 Transfer Request.
Definition: csl_udmap_tr.h:195
CSL_UdmapTR11_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:239
CSL_udmapGetTdResponse
static void CSL_udmapGetTdResponse(uint64_t tdResponseWord, CSL_UdmapTdResponse *pTdResponse)
Parses the TD response word.
Definition: csl_udmap_tr.h:789
CSL_UdmapTR9_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:207
CSL_UdmapTrFlagsEol
uint32_t CSL_UdmapTrFlagsEol
Definition: csl_udmap_tr.h:710
CSL_UdmapTrFlagsEventSize
uint32_t CSL_UdmapTrFlagsEventSize
Definition: csl_udmap_tr.h:348
CSL_UdmapTR15_t::ddim3
int32_t ddim3
Definition: csl_udmap_tr.h:269
CSL_UdmapTR_t::dicnt0
uint16_t dicnt0
Definition: csl_udmap_tr.h:78
CSL_UdmapTrResponseStatusUnsupported
uint32_t CSL_UdmapTrResponseStatusUnsupported
Definition: csl_udmap_tr.h:684
CSL_UdmapTR4_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:143
CSL_UdmapTR2_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:113
CSL_UdmapTrResponseStatusSubmission
uint32_t CSL_UdmapTrResponseStatusSubmission
Definition: csl_udmap_tr.h:665
CSL_UdmapTR15_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:266
CSL_UdmapTR2_t
CSL_UdmapTR2 specifies a Type 2 (Three dimensional data move) Transfer Request.
Definition: csl_udmap_tr.h:110
CSL_UdmapTR5_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:162
CSL_UdmapTR3_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:133
CSL_UdmapTR2_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:115
CSL_UdmapTR5_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:166
CSL_UdmapTR5_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:164
CSL_UdmapTrFlagsTrigger
uint32_t CSL_UdmapTrFlagsTrigger
Definition: csl_udmap_tr.h:368
CSL_UdmapTR0_t
CSL_UdmapTR0 specifies a Type 0 (One dimensional data move) Transfer Request.
Definition: csl_udmap_tr.h:88
CSL_UdmapTR_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:75
CSL_UdmapTR_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:70
CSL_UdmapTR4_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:150
CSL_UdmapTR3_t
CSL_UdmapTR3 specifies a Type 3 (Four dimensional data move) Transfer Request.
Definition: csl_udmap_tr.h:124
CSL_UdmapTR2_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:117
CSL_UdmapTR9_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:196
CSL_UdmapTR3_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:131
CSL_UdmapTR15_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:259
CSL_UdmapTR10_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:223
CSL_UdmapTR3_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:132
CSL_UdmapTR10_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:228
CSL_UdmapTR4_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:141
CSL_UdmapTR15_t::dicnt0
uint16_t dicnt0
Definition: csl_udmap_tr.h:270
CSL_UdmapTR8_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:182
CSL_UdmapTdResponse_t::forced
uint32_t forced
Definition: csl_udmap_tr.h:754
CSL_UdmapTR8_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:183
CSL_UdmapTR5_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:161
CSL_UdmapTR9_t::dicnt3
uint16_t dicnt3
Definition: csl_udmap_tr.h:213
CSL_UdmapTR1_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:101
CSL_UdmapTR4_t
CSL_UdmapTR4 specifies a Type 4 (Four dimensional data move with data formatting) Transfer Request.
Definition: csl_udmap_tr.h:140
CSL_UdmapTR15_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:264
CSL_UdmapTR11_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:237
CSL_UdmapTR8_t::ddim2
int32_t ddim2
Definition: csl_udmap_tr.h:187
CSL_UdmapTR4_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:146
CSL_UdmapTR10_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:229
CSL_UdmapTR3_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:130
CSL_UdmapTR10_t::rsvd
uint32_t rsvd[3]
Definition: csl_udmap_tr.h:226
CSL_UdmapTR9_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:205
CSL_UdmapTR15_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:265
CSL_UdmapTR15_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:261
CSL_UdmapTrFmtflagsSectr
uint32_t CSL_UdmapTrFmtflagsSectr
Definition: csl_udmap_tr.h:602
CSL_UdmapTdResponse_t::tdIndicator
uint32_t tdIndicator
Definition: csl_udmap_tr.h:750
CSL_UdmapTR5_t
CSL_UdmapTR5 specifies a Type 5 (Four dimensional cache warm) Transfer Request.
Definition: csl_udmap_tr.h:157
CSL_UdmapTrFmtflagsAmodeSpecificAmode
uint32_t CSL_UdmapTrFmtflagsAmodeSpecificAmode
Definition: csl_udmap_tr.h:476
CSL_UdmapTR_t::dicnt2
uint16_t dicnt2
Definition: csl_udmap_tr.h:80
CSL_UdmapTR9_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:204
CSL_UdmapTR8_t
CSL_UdmapTR8 specifies a Type 8 Transfer Request.
Definition: csl_udmap_tr.h:174
CSL_UdmapTR11_t::dicnt1
uint16_t dicnt1
Definition: csl_udmap_tr.h:248
CSL_UdmapTR5_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:160
CSL_UdmapTR15_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:258
CSL_UdmapTR15_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:260
CSL_UdmapTrResponse_t
Definition: csl_udmap_tr.h:615
CSL_udmapTrResponseGetStatusType
static CSL_UdmapTrResponseStatus CSL_udmapTrResponseGetStatusType(const CSL_UdmapTrResponse *pTrResponse)
Return the TR response status type.
Definition: csl_udmap_tr.h:740
CSL_UdmapTR15_t::dicnt3
uint16_t dicnt3
Definition: csl_udmap_tr.h:273
CSL_UdmapTR11_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:241
CSL_UdmapTR8_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:178
CSL_UdmapTR4_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:147
CSL_UdmapTR9_t::ddim2
int32_t ddim2
Definition: csl_udmap_tr.h:208
CSL_UdmapSecTR_t::data
uint32_t data[13]
Definition: csl_udmap_tr.h:574
CSL_UdmapSecTR_t
CSL_UdmapSecTR specifies a secondary Transfer Request.
Definition: csl_udmap_tr.h:571
CSL_UdmapTR3_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:125
CSL_UdmapTR15_t::ddim2
int32_t ddim2
Definition: csl_udmap_tr.h:268
CSL_UdmapTrResponseStatus
uint32_t CSL_UdmapTrResponseStatus
Definition: csl_udmap_tr.h:648
CSL_UdmapTR8_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:179
CSL_UdmapTR9_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:199
CSL_UdmapTR_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:65
CSL_UdmapTR8_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:177
CSL_UdmapTR11_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:244
CSL_UdmapTR11_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:238
CSL_UdmapTR1_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:100
CSL_UdmapTR9_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:200
CSL_UdmapTR4_t::dim3
int32_t dim3
Definition: csl_udmap_tr.h:149
CSL_UdmapTR_t::ddim2
int32_t ddim2
Definition: csl_udmap_tr.h:76
CSL_UdmapTR3_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:129
CSL_UdmapTR_t::dicnt3
uint16_t dicnt3
Definition: csl_udmap_tr.h:81
CSL_UdmapTR4_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:145
CSL_UdmapTR9_t::dicnt1
uint16_t dicnt1
Definition: csl_udmap_tr.h:211
CSL_UdmapTR15_t::dicnt2
uint16_t dicnt2
Definition: csl_udmap_tr.h:272
CSL_UdmapTrFlagsTriggerType
uint32_t CSL_UdmapTrFlagsTriggerType
Definition: csl_udmap_tr.h:384
CSL_UdmapTR5_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:158
CSL_UdmapTR10_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:225
CSL_UdmapTR8_t::ddim3
int32_t ddim3
Definition: csl_udmap_tr.h:188
CSL_UdmapTR9_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:206
CSL_UdmapTR1_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:102
CSL_UdmapTR15_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:257
CSL_UdmapTR15_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:262
CSL_UdmapTR11_t::rsvd1
uint32_t rsvd1[2]
Definition: csl_udmap_tr.h:246
CSL_UdmapTR2_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:112
CSL_UdmapTR5_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:159
CSL_UdmapTR9_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:198
CSL_UdmapTR11_t
CSL_UdmapTR11 specifies a Type 11 Transfer Request.
Definition: csl_udmap_tr.h:236
CSL_UdmapTR8_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:175
CSL_UdmapTR_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:67
CSL_UdmapTR15_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:256
CSL_UdmapTR_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:64
CSL_UdmapTrFmtflagsAmodeSpecificCbk
uint32_t CSL_UdmapTrFmtflagsAmodeSpecificCbk
Definition: csl_udmap_tr.h:449
CSL_UdmapTR8_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:180
CSL_UdmapTR9_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:202
CSL_UdmapTR11_t::rsvd0
uint32_t rsvd0[3]
Definition: csl_udmap_tr.h:242
CSL_UdmapTR9_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:201
CSL_UdmapTR1_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:99
CSL_UdmapTrFmtflagsEltype
uint32_t CSL_UdmapTrFmtflagsEltype
Definition: csl_udmap_tr.h:504
CSL_UdmapTR10_t
CSL_UdmapTR10 specifies a Type 10 Transfer Request.
Definition: csl_udmap_tr.h:220
CSL_UdmapTR5_t::icnt2
uint16_t icnt2
Definition: csl_udmap_tr.h:163
CSL_UdmapTR_t
CSL_UdmapTR specifies a Transfer Request.
Definition: csl_udmap_tr.h:63
CSL_UdmapTdResponse_t
Definition: csl_udmap_tr.h:749
CSL_UdmapTR11_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:243
CSL_UdmapTR10_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:227
CSL_UdmapTrResponse_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:616
CSL_UdmapTR_t::dim1
int32_t dim1
Definition: csl_udmap_tr.h:68
CSL_UdmapTR_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:74
CSL_UdmapTR15_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:263
CSL_UdmapTR2_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:111
__attribute__
struct CSL_UdmapTR_t __attribute__((__packed__))
CSL_UdmapTR_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:73
CSL_UdmapTR9_t::dicnt2
uint16_t dicnt2
Definition: csl_udmap_tr.h:212
CSL_UdmapTrFmtflagsDir
uint32_t CSL_UdmapTrFmtflagsDir
Definition: csl_udmap_tr.h:490
CSL_UdmapTR9_t::dicnt0
uint16_t dicnt0
Definition: csl_udmap_tr.h:210
CSL_UdmapTR5_t::cacheflags
uint32_t cacheflags
Definition: csl_udmap_tr.h:167
CSL_UdmapTR_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:71
CSL_UdmapTR8_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:176
CSL_UdmapTR9_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:203
CSL_UdmapTR5_t::dim2
int32_t dim2
Definition: csl_udmap_tr.h:165
CSL_UdmapTR2_t::icnt2
uint32_t icnt2
Definition: csl_udmap_tr.h:116
CSL_UdmapTR8_t::icnt3
uint16_t icnt3
Definition: csl_udmap_tr.h:181
CSL_UdmapTR9_t::ddim3
int32_t ddim3
Definition: csl_udmap_tr.h:209
CSL_UdmapTR1_t
CSL_UdmapTR1 specifies a Type 1 (Two dimensional data move) Transfer Request.
Definition: csl_udmap_tr.h:98
CSL_UdmapTR15_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:267
CSL_UdmapSecTR_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:572
CSL_UdmapTrFmtflagsAmode
uint32_t CSL_UdmapTrFmtflagsAmode
Definition: csl_udmap_tr.h:435
CSL_UdmapTR_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:66
CSL_UdmapTR15_t::dicnt1
uint16_t dicnt1
Definition: csl_udmap_tr.h:271
CSL_UdmapTR8_t::ddim1
int32_t ddim1
Definition: csl_udmap_tr.h:185
CSL_UdmapTR11_t::dicnt0
uint16_t dicnt0
Definition: csl_udmap_tr.h:247
CSL_UdmapTR9_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:197
CSL_UdmapTR0_t::icnt0
uint32_t icnt0
Definition: csl_udmap_tr.h:90
CSL_UdmapTrCacheflagsOp
uint32_t CSL_UdmapTrCacheflagsOp
Definition: csl_udmap_tr.h:561
CSL_UdmapTR4_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:142
CSL_UdmapTR3_t::icnt0
uint16_t icnt0
Definition: csl_udmap_tr.h:126
CSL_UdmapTR8_t::daddr
uint64_t daddr
Definition: csl_udmap_tr.h:186
CSL_UdmapTR3_t::icnt1
uint16_t icnt1
Definition: csl_udmap_tr.h:127
CSL_UdmapTR_t::dicnt1
uint16_t dicnt1
Definition: csl_udmap_tr.h:79
CSL_UdmapTR4_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:144
CSL_UdmapTR8_t::fmtflags
uint32_t fmtflags
Definition: csl_udmap_tr.h:184
CSL_UdmapTR15_t
CSL_UdmapTR15 specifies a Type 15 Transfer Request.
Definition: csl_udmap_tr.h:255
CSL_UdmapTrFmtflagsDfmt
uint32_t CSL_UdmapTrFmtflagsDfmt
Definition: csl_udmap_tr.h:540
CSL_UdmapSecTR_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:573
CSL_UdmapTR10_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:221
CSL_UdmapTR_t::ddim3
int32_t ddim3
Definition: csl_udmap_tr.h:77
CSL_UdmapTR3_t::addr
uint64_t addr
Definition: csl_udmap_tr.h:128
CSL_UdmapTR0_t::flags
uint32_t flags
Definition: csl_udmap_tr.h:89