/* * Copyright 2012 Tilera Corporation. All Rights Reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, version 2. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or * NON INFRINGEMENT. See the GNU General Public License for * more details. */ /* Machine-generated file; do not edit. */ #ifndef __ARCH_TRIO_SHM_H__ #define __ARCH_TRIO_SHM_H__ #include <arch/abi.h> #include <arch/trio_shm_def.h> #ifndef __ASSEMBLER__ /** * TRIO DMA Descriptor. * The TRIO DMA descriptor is written by software and consumed by hardware. * It is used to specify the location of transaction data in the IO and Tile * domains. */ __extension__ typedef union { struct { /* Word 0 */ #ifndef __BIG_ENDIAN__ /** Tile side virtual address. */ int_reg_t va : 42; /** * Encoded size of buffer used on push DMA when C=1: * 0 = 128 bytes * 1 = 256 bytes * 2 = 512 bytes * 3 = 1024 bytes * 4 = 1664 bytes * 5 = 4096 bytes * 6 = 10368 bytes * 7 = 16384 bytes */ uint_reg_t bsz : 3; /** * Chaining designation. Always zero for pull DMA * 0 : Unchained buffer pointer * 1 : Chained buffer pointer. Next buffer descriptor (e.g. VA) stored * in 1st 8-bytes in buffer. For chained buffers, first 8-bytes of each * buffer contain the next buffer descriptor formatted exactly like a PDE * buffer descriptor. This allows a chained PDE buffer to be sent using * push DMA. */ uint_reg_t c : 1; /** * Notification interrupt will be delivered when the transaction has * completed (all data has been read from or written to the Tile-side * buffer). */ uint_reg_t notif : 1; /** * When 0, the XSIZE field specifies the total byte count for the * transaction. When 1, the XSIZE field is encoded as 2^(N+14) for N in * {0..6}: * 0 = 16KB * 1 = 32KB * 2 = 64KB * 3 = 128KB * 4 = 256KB * 5 = 512KB * 6 = 1MB * All other encodings of the XSIZE field are reserved when SMOD=1 */ uint_reg_t smod : 1; /** * Total number of bytes to move for this transaction. When SMOD=1, * this field is encoded - see SMOD description. */ uint_reg_t xsize : 14; /** Reserved. */ uint_reg_t __reserved_0 : 1; /** * Generation number. Used to indicate a valid descriptor in ring. When * a new descriptor is written into the ring, software must toggle this * bit. The net effect is that the GEN bit being written into new * descriptors toggles each time the ring tail pointer wraps. */ uint_reg_t gen : 1; #else /* __BIG_ENDIAN__ */ uint_reg_t gen : 1; uint_reg_t __reserved_0 : 1; uint_reg_t xsize : 14; uint_reg_t smod : 1; uint_reg_t notif : 1; uint_reg_t c : 1; uint_reg_t bsz : 3; int_reg_t va : 42; #endif /* Word 1 */ #ifndef __BIG_ENDIAN__ /** IO-side address */ uint_reg_t io_address : 64; #else /* __BIG_ENDIAN__ */ uint_reg_t io_address : 64; #endif }; /** Word access */ uint_reg_t words[2]; } TRIO_DMA_DESC_t; #endif /* !defined(__ASSEMBLER__) */ #endif /* !defined(__ARCH_TRIO_SHM_H__) */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
mpipe.h | File | 11.3 KB | 0644 |
|
mpipe_constants.h | File | 1.12 KB | 0644 |
|
mpipe_def.h | File | 1.68 KB | 0644 |
|
mpipe_shm.h | File | 17.86 KB | 0644 |
|
mpipe_shm_def.h | File | 914 B | 0644 |
|
spr_def.h | File | 3.73 KB | 0644 |
|
trio.h | File | 3.03 KB | 0644 |
|
trio_constants.h | File | 1.04 KB | 0644 |
|
trio_def.h | File | 1.71 KB | 0644 |
|
trio_pcie_intfc.h | File | 7.32 KB | 0644 |
|
trio_pcie_intfc_def.h | File | 1.5 KB | 0644 |
|
trio_pcie_rc.h | File | 5.07 KB | 0644 |
|
trio_pcie_rc_def.h | File | 947 B | 0644 |
|
trio_shm.h | File | 3.55 KB | 0644 |
|
trio_shm_def.h | File | 713 B | 0644 |
|
uart.h | File | 8.24 KB | 0644 |
|
uart_def.h | File | 5.08 KB | 0644 |
|
usb_host.h | File | 816 B | 0644 |
|
usb_host_def.h | File | 713 B | 0644 |
|