Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
TRIO_DMA_DESC_t Union Reference

#include <trio_shm.h>

Data Fields

struct {
   int_reg_t   va: 42
 
   uint_reg_t   bsz: 3
 
   uint_reg_t   c: 1
 
   uint_reg_t   notif: 1
 
   uint_reg_t   smod: 1
 
   uint_reg_t   xsize: 14
 
   uint_reg_t   __reserved_0: 1
 
   uint_reg_t   gen: 1
 
   uint_reg_t   io_address: 64
 
}; 
 
uint_reg_t words [2]
 

Detailed Description

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.

Definition at line 33 of file trio_shm.h.

Field Documentation

struct { ... }
uint_reg_t __reserved_0

Reserved.

Definition at line 90 of file trio_shm.h.

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

Definition at line 53 of file trio_shm.h.

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.

Definition at line 63 of file trio_shm.h.

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.

Definition at line 97 of file trio_shm.h.

uint_reg_t io_address

IO-side address

Definition at line 113 of file trio_shm.h.

uint_reg_t notif

Notification interrupt will be delivered when the transaction has completed (all data has been read from or written to the Tile-side buffer).

Definition at line 69 of file trio_shm.h.

uint_reg_t smod

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

Definition at line 83 of file trio_shm.h.

Tile side virtual address.

Definition at line 41 of file trio_shm.h.

uint_reg_t words[2]

Word access

Definition at line 121 of file trio_shm.h.

uint_reg_t xsize

Total number of bytes to move for this transaction. When SMOD=1, this field is encoded - see SMOD description.

Definition at line 88 of file trio_shm.h.


The documentation for this union was generated from the following file: