Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
tilegx.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/moduleparam.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/in.h>
#include <linux/irq.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/ioctl.h>
#include <linux/cdev.h>
#include <linux/hugetlb.h>
#include <linux/in6.h>
#include <linux/timer.h>
#include <linux/hrtimer.h>
#include <linux/ktime.h>
#include <linux/io.h>
#include <linux/ctype.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <asm/checksum.h>
#include <asm/homecache.h>
#include <gxio/mpipe.h>
#include <arch/sim.h>

Go to the source code of this file.

Data Structures

struct  frag
 
struct  tile_net_comp
 
struct  tile_net_comps
 
struct  tile_net_tx_wake
 
struct  tile_net_info
 
struct  tile_net_egress
 
struct  tile_net_priv
 

Macros

#define TILE_NET_TIMEOUT   (5 * HZ)
 
#define TILE_NET_CHANNELS   32
 
#define TILE_NET_BATCH   128
 
#define TILE_NET_WEIGHT   64
 
#define IQUEUE_ENTRIES   512
 
#define EQUEUE_ENTRIES   2048
 
#define HEADER_BYTES   128
 
#define TILE_NET_MAX_COMPS   64
 
#define MAX_FRAGS   (MAX_SKB_FRAGS + 1)
 
#define COMPS_SIZE   (TILE_NET_CHANNELS * sizeof(struct tile_net_comps))
 
#define NOTIF_RING_SIZE   (IQUEUE_ENTRIES * sizeof(gxio_mpipe_idesc_t))
 
#define TX_TIMER_DELAY_USEC   30
 
#define EGRESS_TIMER_DELAY_USEC   1000
 
#define BUFFER_SIZE_SMALL_ENUM   GXIO_MPIPE_BUFFER_SIZE_128
 
#define BUFFER_SIZE_SMALL   128
 
#define BUFFER_SIZE_LARGE_ENUM   GXIO_MPIPE_BUFFER_SIZE_1664
 
#define BUFFER_SIZE_LARGE   1664
 

Functions

 MODULE_AUTHOR ("Tilera Corporation")
 
 MODULE_LICENSE ("GPL")
 
 module_param_named (cpus, network_cpus_string, charp, 0444)
 
 MODULE_PARM_DESC (cpus,"cpulist of cores that handle network interrupts")
 
 module_param_named (loopify, loopify_link_name, charp, 0444)
 
 MODULE_PARM_DESC (loopify,"name the device to use loop0/1 for ingress/egress")
 
 module_param_named (custom, custom_str, charp, 0444)
 
 MODULE_PARM_DESC (custom,"indicates a (heavily) customized classifier")
 
 module_init (tile_net_init_module)
 

Macro Definition Documentation

#define BUFFER_SIZE_LARGE   1664

Definition at line 209 of file tilegx.c.

#define BUFFER_SIZE_LARGE_ENUM   GXIO_MPIPE_BUFFER_SIZE_1664

Definition at line 208 of file tilegx.c.

#define BUFFER_SIZE_SMALL   128

Definition at line 207 of file tilegx.c.

#define BUFFER_SIZE_SMALL_ENUM   GXIO_MPIPE_BUFFER_SIZE_128

Definition at line 206 of file tilegx.c.

#define COMPS_SIZE   (TILE_NET_CHANNELS * sizeof(struct tile_net_comps))

Definition at line 82 of file tilegx.c.

#define EGRESS_TIMER_DELAY_USEC   1000

Definition at line 95 of file tilegx.c.

#define EQUEUE_ENTRIES   2048

Definition at line 62 of file tilegx.c.

#define HEADER_BYTES   128

Definition at line 68 of file tilegx.c.

#define IQUEUE_ENTRIES   512

Definition at line 59 of file tilegx.c.

#define MAX_FRAGS   (MAX_SKB_FRAGS + 1)

Definition at line 77 of file tilegx.c.

#define NOTIF_RING_SIZE   (IQUEUE_ENTRIES * sizeof(gxio_mpipe_idesc_t))

Definition at line 85 of file tilegx.c.

#define TILE_NET_BATCH   128

Definition at line 53 of file tilegx.c.

#define TILE_NET_CHANNELS   32

Definition at line 50 of file tilegx.c.

#define TILE_NET_MAX_COMPS   64

Definition at line 75 of file tilegx.c.

#define TILE_NET_TIMEOUT   (5 * HZ)

Definition at line 47 of file tilegx.c.

#define TILE_NET_WEIGHT   64

Definition at line 56 of file tilegx.c.

#define TX_TIMER_DELAY_USEC   30

Definition at line 92 of file tilegx.c.

Function Documentation

MODULE_AUTHOR ( "Tilera Corporation"  )
module_init ( tile_net_init_module  )
MODULE_LICENSE ( "GPL"  )
module_param_named ( cpus  ,
network_cpus_string  ,
charp  ,
0444   
)
module_param_named ( loopify  ,
loopify_link_name  ,
charp  ,
0444   
)
module_param_named ( custom  ,
custom_str  ,
charp  ,
0444   
)
MODULE_PARM_DESC ( cpus  ,
"cpulist of cores that handle network interrupts"   
)
MODULE_PARM_DESC ( loopify  ,
"name the device to use loop0/1 for ingress/egress"   
)
MODULE_PARM_DESC ( custom  ,
"indicates a (heavily) customized classifier"   
)