Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
spu_utils.h File Reference

Go to the source code of this file.

Data Structures

union  addr64
union  spu_reg128v
struct  dma_list_elem


#define LSCSA_BYTE_OFFSET(_field)   ((char *)(&(dummy->_field)) - (char *)(&(dummy->gprs[0].slot[0])))
#define LSCSA_QW_OFFSET(_field)   (LSCSA_BYTE_OFFSET(_field) >> 4)


struct dma_list_elem dma_list[15] __attribute__ ((aligned(8)))
 Packet vector entry.


spu_reg128v regs_spill [NR_SPU_SPILL_REGS]

Macro Definition Documentation

#define LSCSA_BYTE_OFFSET (   _field)    ((char *)(&(dummy->_field)) - (char *)(&(dummy->gprs[0].slot[0])))

Definition at line 63 of file spu_utils.h.

#define LSCSA_QW_OFFSET (   _field)    (LSCSA_BYTE_OFFSET(_field) >> 4)

Definition at line 65 of file spu_utils.h.

Function Documentation

struct dma_list_elem dma_list [15] __attribute__ ( (aligned(8))  )

Packet vector entry.

This data structure is used with netio_send_packet_vector() to send multiple packets with one NetIO call. The structure should be initialized by calling netio_pkt_vector_set(), rather than by setting the fields directly.

This structure is guaranteed to be a power of two in size, no bigger than one L2 cache line, and to be aligned modulo its size.

Reserved for use by the user application. When initialized with the netio_set_pkt_vector_entry() function, this field is guaranteed to be visible to readers only after all other fields are already visible. This way it can be used as a valid flag or generation counter.

Low 8 bits of the packet address to send. The high bits are acquired from the 'handle' field.

Number of bytes to transmit.

The raw handle from a netio_pkt_t. If this is NETIO_PKT_HANDLE_NONE, this vector entry will be skipped and no packet will be transmitted.

Definition at line 9 of file extable.c.

Variable Documentation

spu_reg128v regs_spill[NR_SPU_SPILL_REGS]